一種磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備的制造方法
【專利摘要】一種磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備。所述方法包括如下步驟:識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作;根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù);當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù),并將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄或?qū)⑿虏迦氪疟P(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。所述裝置包括、數(shù)據(jù)識(shí)別模塊、數(shù)據(jù)保留模塊、目錄掛載模塊。所述方法、裝置及存儲(chǔ)設(shè)備,能夠?qū)Υ鎯?chǔ)設(shè)備磁盤(pán)的變化進(jìn)行感知,以便用戶保留舊有磁盤(pán)中的數(shù)據(jù)。
【專利說(shuō)明】
一種磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及存儲(chǔ)技術(shù),尤其涉及一種磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備。
【背景技術(shù)】
[0002]如今,人類早已步入信息時(shí)代。各種電子設(shè)備,如智能手機(jī)、PC、數(shù)碼像機(jī)等,與人們的生活密切相關(guān)。而隨著藍(lán)光視頻、無(wú)損音樂(lè)、高像素照片等的出現(xiàn),家庭數(shù)據(jù)量出現(xiàn)了大規(guī)模地增長(zhǎng)。因此,對(duì)家庭專用存儲(chǔ)設(shè)備的需求日漸增強(qiáng)。
[0003]軟RAID(Redundant Arrays of Independent Disks,磁盤(pán)陣列),是指軟件生成的磁盤(pán)陣列。通過(guò)把多個(gè)塊設(shè)備(如磁盤(pán)、磁盤(pán)分區(qū)、邏輯卷等)做為成員,經(jīng)過(guò)條帶化等技術(shù)生成一種新的具有數(shù)據(jù)保護(hù)功能的塊設(shè)備。具體來(lái)說(shuō)是指Linux系統(tǒng)中利用mdadm命令帶“-C”或者“-create”參數(shù)生成的塊設(shè)備,以下簡(jiǎn)稱RAID。
[0004]家庭用戶有時(shí)希望既把家中的舊硬盤(pán)交由存儲(chǔ)系統(tǒng)進(jìn)行統(tǒng)一管理,以便利用存儲(chǔ)系統(tǒng)的各種上層應(yīng)用程序?qū)Υ疟P(pán)進(jìn)行訪問(wèn),又保留舊硬盤(pán)中的數(shù)據(jù)。這個(gè)舊有磁盤(pán)可能為如下情形:可能是從Windows、Linux、MAC等操作系統(tǒng)上拔下來(lái)的磁盤(pán);可能是從我們的另一套家庭存儲(chǔ)設(shè)備上拔下來(lái)的磁盤(pán);可能是上面兩種情況任意數(shù)量(在物理槽位支持的范圍內(nèi))磁盤(pán)的混合。
[0005]因?yàn)镽AID是基于多個(gè)磁盤(pán)分區(qū)的,而一個(gè)磁盤(pán)可以劃分為多個(gè)分區(qū)的,所以,一旦磁盤(pán)發(fā)生變動(dòng),如損壞、插、拔,就會(huì)同時(shí)影響到多個(gè)RAID,如果RAID的磁盤(pán)成員越多,那受影響的RAID也更多。
[0006]一個(gè)RAID設(shè)備構(gòu)建出來(lái)后,MD (Mult iple Devices,多臺(tái)設(shè)備)驅(qū)動(dòng)是通過(guò)主、次設(shè)備號(hào)來(lái)管理RAID成員的。一個(gè)磁盤(pán),拔出去以后,再插回來(lái),這時(shí)雖然還是同一個(gè)磁盤(pán),磁盤(pán)序列號(hào)未變,但磁盤(pán)中的原有的分區(qū)可能已經(jīng)被刪除、修改或者重新劃分,且無(wú)論家庭專用存儲(chǔ)設(shè)備的系統(tǒng)在識(shí)別時(shí),磁盤(pán)分區(qū)的次設(shè)備號(hào)是否與原來(lái)一致,上述情況都是MD驅(qū)動(dòng)無(wú)法處理的。對(duì)于全新的磁盤(pán),或者說(shuō)數(shù)據(jù)不需要保留的磁盤(pán),可以直接清除掉盤(pán)內(nèi)的數(shù)據(jù),按我們的方式進(jìn)行管理;但對(duì)于用戶的舊有磁盤(pán)而言,磁盤(pán)(或者其分區(qū))一旦成為RAID的成員,那么,磁盤(pán)里的數(shù)據(jù)會(huì)全部丟失。如何保留多種多樣的舊有磁盤(pán)中的數(shù)據(jù),并對(duì)磁盤(pán)進(jìn)行統(tǒng)一管理,提供給用戶訪問(wèn),也是需要解決的問(wèn)題。所以,有必要在管理磁盤(pán)存儲(chǔ)空間時(shí)主動(dòng)感知這些變化,精準(zhǔn)地識(shí)別出RAID的各個(gè)成員,并對(duì)RAID進(jìn)行適當(dāng)?shù)奶幚怼?br>
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提供一種磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備,能夠?qū)Υ鎯?chǔ)設(shè)備磁盤(pán)的變化進(jìn)行感知,以便用戶保留舊有磁盤(pán)中的數(shù)據(jù)。
[0008]基于上述目的本發(fā)明提供的一種磁盤(pán)存儲(chǔ)空間管理方法,包括如下步驟:
[0009]識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作;
[0010]根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù);
[0011 ] 當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù),并將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。
[0012]可選的,根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)、識(shí)別新插入磁盤(pán)是否攜帶數(shù)據(jù)的步驟具體包括:
[0013]判斷磁盤(pán)是否攜帶元數(shù)據(jù),若磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù);若磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。
[0014]所述將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄的步驟具體包括:
[0015]若新插入的磁盤(pán)攜帶元數(shù)據(jù),將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共享目錄;
[0016]若新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng),將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。
[0017]可選的,保留新插入磁盤(pán)中的數(shù)據(jù)的步驟具體包括:
[0018]掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表;
[0019]若新插入的磁盤(pán)攜帶元數(shù)據(jù),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄;
[0020]若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。
[0021]可選的,根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄的步驟具體包括:
[0022]當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后從存儲(chǔ)空間中恢復(fù)出共享目錄;
[0023]當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。
[0024]可選的,當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),執(zhí)行如下步驟:
[0025]選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū);
[0026]以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ;
[0027]在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng);
[0028]將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù);
[0029]將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。
[0030]可選的,以新創(chuàng)建的磁盤(pán)分區(qū)為單位、創(chuàng)建軟磁盤(pán)陣列RAID的步驟具體包括:
[0031]在選中的空白磁盤(pán)上構(gòu)建第一分區(qū),再以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間;并在選中的空白磁盤(pán)上構(gòu)建第二分區(qū),再以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間;
[0032]所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。
[0033]可選的,所述方法還包括:
[0034]接收到刪除存儲(chǔ)空間的指令;
[0035]根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間;
[0036]停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的磁盤(pán)陣列RAID ;
[0037]清除磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù);
[0038]在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù);
[0039]若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。
[0040]可選的,所述方法還包括:
[0041]接收到刪除磁盤(pán)的指令;
[0042]卸載待刪除的磁盤(pán)上所有的文件系統(tǒng);
[0043]若待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同,則停止待刪除磁盤(pán)上的磁盤(pán)陣列RAID,清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)
?目息O
[0044]可選的,將新插入磁盤(pán)本身的磁盤(pán)陣列RAID成員在存儲(chǔ)設(shè)備上掛載成共享目錄之后,還包括:
[0045]使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。
[0046]同時(shí),本發(fā)明還提供一種磁盤(pán)存儲(chǔ)空間管理裝置,包括:
[0047]插入操作識(shí)別模塊:用于識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作;
[0048]數(shù)據(jù)識(shí)別模塊:用于根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù);
[0049]數(shù)據(jù)保留模塊:用于當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù);
[0050]目錄掛載模塊:用于將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。
[0051]可選的,所述數(shù)據(jù)識(shí)別模塊具體包括:
[0052]第一識(shí)別單元:用于當(dāng)確定磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù);
[0053]第二識(shí)別單元:用于當(dāng)確定磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。
[0054]可選的,所述目錄掛載模塊具體包括:
[0055]第一共享目錄掛載單元:用于在新插入的磁盤(pán)攜帶元數(shù)據(jù)的情況下,將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共享目錄;
[0056]第二共享目錄掛載單元:用于在新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng)的情況下,將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。
[0057]可選的,所述數(shù)據(jù)保留模塊具體包括:
[0058]分區(qū)列表獲得模塊:用于掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表;
[0059]通用唯一識(shí)別碼UUID獲取單元:用于當(dāng)新插入的磁盤(pán)攜帶元數(shù)據(jù)時(shí),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;并觸發(fā)分區(qū)查找單元;
[0060]分區(qū)查找單元:用于根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);并觸發(fā)RAID組裝單元;
[0061]RAID組裝單元:用于在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;并觸發(fā)共享目錄第一掛載單元;
[0062]共享目錄第一掛載單元:用于根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄;
[0063]共享目錄第二掛載單元:用于若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。
[0064]可選的,所述共享目錄第一掛載單元具體包括:
[0065]存儲(chǔ)空間掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后觸發(fā)共享目錄回復(fù)子單元;
[0066]共享目錄恢復(fù)子單元:用于從存儲(chǔ)空間中恢復(fù)出共享目錄;
[0067]共享目錄掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。
[0068]可選的,所述裝置還包括:
[0069]空白磁盤(pán)分區(qū)模塊:用于當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū);
[0070]軟磁盤(pán)陣列RAID創(chuàng)建模塊:用于以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ;
[0071]文件系統(tǒng)創(chuàng)建模塊:用于在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng);
[0072]元數(shù)據(jù)更新模塊:用于將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù);
[0073]元數(shù)據(jù)保存模塊:用于將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。
[0074]可選的,所述軟磁盤(pán)陣列RAID創(chuàng)建模塊具體包括:
[0075]可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第一分區(qū);
[0076]可靠存儲(chǔ)空間構(gòu)建單元:用于以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間;
[0077]不可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第二分區(qū);
[0078]不可靠存儲(chǔ)空間構(gòu)建單元:以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間;
[0079]所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。
[0080]可選的,所述裝置還包括:
[0081]刪除存儲(chǔ)空間指令接收模塊:用于接收到刪除存儲(chǔ)空間的指令;
[0082]存儲(chǔ)空間卸載模塊:用于根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間;
[0083]磁盤(pán)陣列RAID停止模塊:用于停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的磁盤(pán)陣列RAID ;
[0084]第一磁盤(pán)陣列RAID信息清除模塊:清除磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù);
[0085]元數(shù)據(jù)刪除模塊:用于在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù);
[0086]系統(tǒng)標(biāo)識(shí)刪除模塊:用于若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。
[0087]可選的,所述裝置還包括:
[0088]刪除磁盤(pán)指令接收模塊:用于接收到刪除磁盤(pán)的指令;
[0089]文件系統(tǒng)卸載模塊:用于卸載待刪除的磁盤(pán)上所有的文件系統(tǒng);
[0090]磁盤(pán)陣列RAID停止模塊:用于當(dāng)待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同時(shí),停止待刪除磁盤(pán)上的磁盤(pán)陣列RAID ;
[0091]第二磁盤(pán)陣列RAID信息清除模塊:用于清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)信息。
[0092]可選的,所述裝置還包括:使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。
[0093]進(jìn)一步,本發(fā)明還提供一種存儲(chǔ)設(shè)備,包括用于存儲(chǔ)數(shù)據(jù)的磁盤(pán),還包括本發(fā)明任意一項(xiàng)實(shí)施例所提供的磁盤(pán)存儲(chǔ)空間管理裝置。
[0094]從上面所述可以看出,本發(fā)明提供的磁盤(pán)存儲(chǔ)空間管理方法、裝置及存儲(chǔ)設(shè)備,當(dāng)存儲(chǔ)設(shè)備新插入磁盤(pán)時(shí),若新插入的磁盤(pán)含有數(shù)據(jù),可以把磁盤(pán)中的文件系統(tǒng)以共享目錄的形式呈現(xiàn)給用戶使用;也可以在磁盤(pán)上構(gòu)建軟RAID,掛載成新的存儲(chǔ)空間,然后創(chuàng)建共享目錄給用戶使用。這樣不僅能讓用戶充分利用家中舊有的磁盤(pán),而且當(dāng)用戶需要在我們的設(shè)備上進(jìn)行數(shù)據(jù)迀入、迀出時(shí),會(huì)非常的方便。
【附圖說(shuō)明】
[0095]圖1為本發(fā)明實(shí)施例的方法流程示意圖;
[0096]圖2為本發(fā)明實(shí)施例的磁盤(pán)類型轉(zhuǎn)移示意圖;
[0097]圖3A、3B為本發(fā)明實(shí)施例的磁盤(pán)存儲(chǔ)空間劃分示意圖;
[0098]圖4為本發(fā)明實(shí)施例的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0099]為了給出有效的實(shí)現(xiàn)方案,本發(fā)明提供了下述實(shí)施例,以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明實(shí)施例進(jìn)行說(shuō)明。
[0100]本發(fā)明首先提供一種磁盤(pán)存儲(chǔ)空間管理方法,包括如圖1所示的步驟:
[0101]步驟101:識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作;
[0102]步驟102:根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù);
[0103]步驟103:當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù),并將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。
[0104]從上面所述可以看出,本發(fā)明提供的磁盤(pán)存儲(chǔ)空間管理方法,對(duì)含有數(shù)據(jù)的磁盤(pán),可以把磁盤(pán)中的文件系統(tǒng)以共享目錄的形式呈現(xiàn)給用戶使用,從而用戶向家庭專用存儲(chǔ)設(shè)備中插入磁盤(pán)時(shí),可以根據(jù)自己的需要將磁盤(pán)中的數(shù)據(jù)進(jìn)行保留,避免磁盤(pán)在變更插放位置時(shí)引起內(nèi)部分區(qū)被刪除而丟失。
[0105]在本發(fā)明的具體實(shí)施例中,對(duì)于連接到家庭專用存儲(chǔ)設(shè)備上的磁盤(pán)賦予元數(shù)據(jù),該元數(shù)據(jù)中包括用于標(biāo)識(shí)磁盤(pán),使得不同的磁盤(pán)插接到存儲(chǔ)設(shè)備上時(shí)能夠通過(guò)元數(shù)據(jù)識(shí)另1J、區(qū)分開(kāi)來(lái)。
[0106]在本發(fā)明一些實(shí)施例中,根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)、識(shí)別新插入磁盤(pán)是否攜帶數(shù)據(jù)的步驟具體包括:
[0107]判斷磁盤(pán)是否攜帶元數(shù)據(jù),若磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù);若磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。
[0108]在本發(fā)明具體實(shí)施例中,在存儲(chǔ)設(shè)備的配置文件中存儲(chǔ)系統(tǒng)標(biāo)識(shí),當(dāng)磁盤(pán)在該存儲(chǔ)設(shè)備上建立分區(qū)、創(chuàng)建存儲(chǔ)空間之后,該存儲(chǔ)設(shè)備的系統(tǒng)標(biāo)識(shí)會(huì)被寫(xiě)入磁盤(pán)的元數(shù)據(jù)中,作為磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí),不同存儲(chǔ)設(shè)備的系統(tǒng)標(biāo)識(shí)一般不同,因而,根據(jù)磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí),就可以得知磁盤(pán)當(dāng)前攜帶的數(shù)據(jù)來(lái)源是否為磁盤(pán)新插入的存儲(chǔ)設(shè)備,從而得知磁盤(pán)的類型是否為存儲(chǔ)設(shè)備自有的磁盤(pán)。
[0109]在本發(fā)明具體實(shí)施例中,磁盤(pán)元數(shù)據(jù)包括元數(shù)據(jù)UUID (Universally UniqueIdentifier,通用唯一識(shí)別碼)、RAID信息;所述RAID信息進(jìn)一步包括RAID名稱、RAID級(jí)另IJ、文件系統(tǒng)指示符、RAID成員數(shù)、RAID成員大小、以及各個(gè)分區(qū)的UUID。其中,RAID名稱為磁盤(pán)陣列名稱,RAID 級(jí)別可以是 LINEAR、RAID0、RAID1、RAID5、RAID6、RAID10 等。RAID 成員數(shù)、RAID成員大小用于表示磁盤(pán)陣列的分區(qū)數(shù)、各個(gè)分區(qū)大小。例如,用大小分別為100、200,300的三個(gè)分區(qū)創(chuàng)建一個(gè)RAID,則RAID成員數(shù)為3,RAID成員大小為100。在同一磁盤(pán)上,各個(gè)分區(qū)都具有不同的通用唯一識(shí)別碼UUID。當(dāng)一磁盤(pán)在存儲(chǔ)設(shè)備上進(jìn)行分區(qū)、并構(gòu)建RAID之后,存儲(chǔ)設(shè)備會(huì)賦予該磁盤(pán)元數(shù)據(jù),并且磁盤(pán)被賦予的元數(shù)據(jù)UUID與存儲(chǔ)設(shè)備系統(tǒng)UUID 一致,當(dāng)該磁盤(pán)稍后從存儲(chǔ)設(shè)備上拔出后,若磁盤(pán)沒(méi)有格式化為空白盤(pán),磁盤(pán)的元數(shù)據(jù)會(huì)一直保留在磁盤(pán)上。
[0110]在本發(fā)明具體實(shí)施例中,將插接到存儲(chǔ)設(shè)備上的磁盤(pán)分為數(shù)據(jù)盤(pán)、兼容盤(pán)、用戶盤(pán)、空白盤(pán)。數(shù)據(jù)盤(pán):包含元數(shù)據(jù)信息,且元數(shù)據(jù)標(biāo)識(shí)UUID與當(dāng)前系統(tǒng)UUID相匹配;兼容盤(pán):包含元數(shù)據(jù)信息,但元數(shù)據(jù)標(biāo)識(shí)UUID與當(dāng)前系統(tǒng)UUID不匹配;用戶盤(pán):不包含元數(shù)據(jù)信息,但包含文件系統(tǒng),數(shù)據(jù)需要保留;空白盤(pán):不包含元數(shù)據(jù)信息,也不包含文件系統(tǒng)。當(dāng)磁盤(pán)插接到存儲(chǔ)設(shè)備上,存儲(chǔ)設(shè)備通過(guò)識(shí)別磁盤(pán)所攜帶的元數(shù)據(jù),判斷磁盤(pán)的元數(shù)據(jù)UUID與存儲(chǔ)設(shè)備的系統(tǒng)UUID是否一致,若磁盤(pán)的元數(shù)據(jù)UUID與存儲(chǔ)設(shè)備的系統(tǒng)UUID —致,那么該磁盤(pán)為數(shù)據(jù)盤(pán);若磁盤(pán)具有元數(shù)據(jù)、但元數(shù)據(jù)UUID與存儲(chǔ)設(shè)備的系統(tǒng)UUID不一致,那么該磁盤(pán)為兼容盤(pán),即該磁盤(pán)可能是從別的存儲(chǔ)設(shè)備上拔下來(lái)的,且該磁盤(pán)所插接的上一存儲(chǔ)設(shè)備對(duì)該磁盤(pán)進(jìn)行了分區(qū);若磁盤(pán)不具有元數(shù)據(jù)、但具有文件系統(tǒng),那么該磁盤(pán)為用戶盤(pán),即該磁盤(pán)可能是從別的存儲(chǔ)設(shè)備上拔下來(lái)的,別的存儲(chǔ)設(shè)備可能是例如Windows系統(tǒng)、Linux系統(tǒng)、MacOS(蘋(píng)果操作系統(tǒng))系統(tǒng)等;且該磁盤(pán)上次所插接的存儲(chǔ)設(shè)備在對(duì)該磁盤(pán)進(jìn)行分區(qū)或?qū)懭霐?shù)據(jù)時(shí)沒(méi)有對(duì)該磁盤(pán)賦予元數(shù)據(jù),從Windows系統(tǒng)、Linux系統(tǒng)、MacOS系統(tǒng)等系統(tǒng)的存儲(chǔ)設(shè)備上拔下來(lái)的磁盤(pán)不可能具備本發(fā)明所提出的元數(shù)據(jù);若磁盤(pán)不具有元數(shù)據(jù)或文件系統(tǒng),那么該磁盤(pán)為空白盤(pán),不攜帶數(shù)據(jù),在插接到新的存儲(chǔ)設(shè)備上不存在數(shù)據(jù)丟失的問(wèn)題。在本發(fā)明實(shí)施例中,磁盤(pán)所屬類型是隨著存儲(chǔ)空間的管理操作而變化的。磁盤(pán)類型的狀態(tài)轉(zhuǎn)移圖如圖2示,圖2中,“置于其它存儲(chǔ)設(shè)備”指的是,采用本發(fā)明提供的方法為磁盤(pán)賦予元數(shù)據(jù)的存儲(chǔ)設(shè)備,而并非具有現(xiàn)有技術(shù)中的Windows、Linux、MacOS等系統(tǒng)的存儲(chǔ)設(shè)備。比如,用戶的舊有磁盤(pán),經(jīng)過(guò)數(shù)據(jù)保留,則轉(zhuǎn)變?yōu)橛脩舯P(pán);當(dāng)用戶不想再保留用戶盤(pán)里的數(shù)據(jù)時(shí),可以刪除用戶盤(pán),這時(shí)該磁盤(pán)則轉(zhuǎn)變?yōu)榭瞻妆P(pán),在空白盤(pán)上創(chuàng)建存儲(chǔ)空間后,該磁盤(pán)又轉(zhuǎn)變?yōu)閿?shù)據(jù)盤(pán)。
[0111]在本發(fā)明的具體實(shí)施例中,所述元數(shù)據(jù)還包括版本號(hào)、校驗(yàn)值、元數(shù)據(jù)簽名等信息,用于在識(shí)別解析元數(shù)據(jù)時(shí)驗(yàn)證元數(shù)據(jù)的有效性。
[0112]磁盤(pán)攜帶數(shù)據(jù)的情況包括兩種:一是,磁盤(pán)攜帶元數(shù)據(jù);這時(shí)磁盤(pán)中攜帶的數(shù)據(jù)是我們自己的設(shè)備創(chuàng)建的,磁盤(pán)中包含RAID,RAID中再包含文件系統(tǒng);二是,磁盤(pán)直接攜帶文件系統(tǒng);這時(shí)磁盤(pán)中攜帶的數(shù)據(jù)是其它系統(tǒng)(比如Windows、Linux、MacOS等)創(chuàng)建的。所述將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄的步驟具體包括:
[0113]若新插入的磁盤(pán)攜帶元數(shù)據(jù),將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共享目錄;
[0114]若新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng),將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。
[0115]在本發(fā)明一些實(shí)施例中,保留新插入磁盤(pán)中的數(shù)據(jù)的步驟具體包括:
[0116]掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表;
[0117]若新插入的磁盤(pán)攜帶元數(shù)據(jù),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄;
[0118]若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。
[0119]根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄的步驟具體包括:
[0120]當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后從存儲(chǔ)空間中恢復(fù)出共享目錄;
[0121]當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。
[0122]在本發(fā)明一些實(shí)施例中,當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),執(zhí)行如下步驟:
[0123]選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū);
[0124]以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ;
[0125]在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng);
[0126]將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù);
[0127]將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。
[0128]以新創(chuàng)建的磁盤(pán)分區(qū)為單位、創(chuàng)建軟磁盤(pán)陣列RAID的步驟具體包括:
[0129]在選中的空白磁盤(pán)上構(gòu)建第一分區(qū),再以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間;并在選中的空白磁盤(pán)上構(gòu)建第二分區(qū),再以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間;
[0130]所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。
[0131]在本發(fā)明的具體實(shí)施例中,可靠的RAID存儲(chǔ)空間由不同磁盤(pán)的分區(qū)構(gòu)建而成,可選的RAID級(jí)別有RAID1、RAID5、RAID6、RAID10 ;不可靠的RAID存儲(chǔ)空間由磁盤(pán)上單獨(dú)的一個(gè)分區(qū)構(gòu)建,可選的RAID級(jí)別有RAID0、LINEAR(線性式存儲(chǔ))。可靠存儲(chǔ)空間的分區(qū)大小可以根據(jù)需要靈活確定:如可選擇磁盤(pán)總?cè)萘康?0%或者20% ;也可設(shè)置為一個(gè)固定的大小,如300G、500G等。這里的“可靠”與“不可靠”是以磁盤(pán)損壞、丟失的情況來(lái)衡量的。可靠存儲(chǔ)空間中的數(shù)據(jù),在其存儲(chǔ)的這個(gè)磁盤(pán)中丟失的情況下,還能夠在其它磁盤(pán)中找到相同的備份數(shù)據(jù)。例如,在兩個(gè)磁盤(pán)A、B中構(gòu)建一個(gè)可靠存儲(chǔ)空間,該可靠存儲(chǔ)空間由兩個(gè)磁盤(pán)中相同大小的空間或不同大小的空間構(gòu)成,當(dāng)數(shù)據(jù)存入磁盤(pán)A或磁盤(pán)B的可靠存儲(chǔ)空間時(shí),會(huì)同時(shí)存入磁盤(pán)B或磁盤(pán)A的可靠存儲(chǔ)空間,當(dāng)磁盤(pán)A或磁盤(pán)B損壞時(shí),磁盤(pán)B或磁盤(pán)A的可靠存儲(chǔ)空間中的相同備份數(shù)據(jù)仍然能夠調(diào)用,從而保證數(shù)據(jù)存儲(chǔ)的可靠性。
[0132]在本發(fā)明的一種具體實(shí)施例中,把元數(shù)據(jù)放在磁盤(pán)最開(kāi)始的位置,然后每個(gè)磁盤(pán)分為兩個(gè)區(qū),第一個(gè)分區(qū)占據(jù)總?cè)萘康囊欢ò俜直龋?0% ;第二分區(qū)為總?cè)萘康?0%。可靠存儲(chǔ)空間選擇RAIDl的組合方式,不可靠存儲(chǔ)空間選擇RAIDO的組合方式。磁盤(pán)兩兩進(jìn)行組合,根據(jù)系統(tǒng)中的磁盤(pán)的數(shù)量可分為兩種情況:
[0133]圖3A是系統(tǒng)中共有偶數(shù)個(gè)磁盤(pán)的情形。這時(shí)兩個(gè)磁盤(pán)之間可以構(gòu)建出一個(gè)可靠存儲(chǔ)空間,兩個(gè)不可靠存儲(chǔ)空間。可靠存儲(chǔ)空間的容量為磁盤(pán)容量的30 %,每個(gè)不可靠存儲(chǔ)空間的容量為磁盤(pán)容量的70%。這時(shí)的可靠存儲(chǔ)空間是由兩個(gè)成員組成,具有真正意義上的數(shù)據(jù)冗余能力。一個(gè)磁盤(pán)損壞的情況下,可保證可靠存儲(chǔ)空間中的數(shù)據(jù)不丟失。
[0134]圖3B是系統(tǒng)中有奇數(shù)個(gè)磁盤(pán)的情形。這時(shí)第一個(gè)分區(qū)仍按RAIDl的方式構(gòu)建RAID。這時(shí)的可靠存儲(chǔ)空間只有一個(gè)成員,不能做到真正意義上的可靠。但是,當(dāng)有新的磁盤(pán)插入時(shí),就按偶數(shù)個(gè)磁盤(pán)的策略給可靠存儲(chǔ)空間增加新的成員,實(shí)現(xiàn)真正的可靠。也就是說(shuō),當(dāng)有新的磁盤(pán)插入存儲(chǔ)設(shè)備時(shí),將新的磁盤(pán)的30%的存儲(chǔ)空間連同圖3B中所示的磁盤(pán)的第一分區(qū)一起,作為可靠存儲(chǔ)空間,新插入磁盤(pán)中70%的存儲(chǔ)空間連同圖3B中所示的磁盤(pán)的第二分區(qū),分別作為不可靠存儲(chǔ)空間。
[0135]假設(shè)一個(gè)存儲(chǔ)單元由兩個(gè)磁盤(pán)構(gòu)成,單個(gè)磁盤(pán)的容量為U,可靠存儲(chǔ)空間采用RAIDl的方式,不可靠存儲(chǔ)空間采用RAIDO的方式。那么:在上述實(shí)施例中,以一個(gè)分區(qū)為一個(gè)存儲(chǔ)單位構(gòu)建RAID,則可同時(shí)得到一個(gè)可靠存儲(chǔ)空間,兩個(gè)不可靠存儲(chǔ)空間,總的可用空間為:總大小:30% *U+70% *2*U = 1.7U0而如果以一個(gè)磁盤(pán)為一個(gè)存儲(chǔ)單位構(gòu)建RAID,則要么得到一個(gè)可靠存儲(chǔ)空間;要么得到一個(gè)或者兩個(gè)不可靠存儲(chǔ)空間。如果得到一個(gè)可靠存儲(chǔ)空間,那么存儲(chǔ)空間總大小為(U+U)*50%= U ;如果得到一個(gè)或兩個(gè)不可靠存儲(chǔ)空間,那么存儲(chǔ)空間總大小為:U+U = 2U。
[0136]如果對(duì)磁盤(pán)的分區(qū)更細(xì),那么可同時(shí)得到的可靠存儲(chǔ)空間個(gè)數(shù)和不可靠存儲(chǔ)空間個(gè)數(shù)都會(huì)更多,總的可用空間的大小也更靈活。
[0137]在本發(fā)明一些實(shí)施例中,所述方法還包括:
[0138]接收到刪除存儲(chǔ)空間的指令;
[0139]根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間;
[0140]停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的軟磁盤(pán)陣列RAID ;
[0141]清除軟磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù);
[0142]在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù);
[0143]若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。
[0144]在本發(fā)明一些實(shí)施例中,所述方法還包括:
[0145]接收到刪除磁盤(pán)的指令;
[0146]卸載待刪除的磁盤(pán)上所有的文件系統(tǒng);
[0147]若待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同,則停止待刪除磁盤(pán)上的軟磁盤(pán)陣列RAID,清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)信息。
[0148]在本發(fā)明一些實(shí)施例中,將新插入磁盤(pán)本身的磁盤(pán)陣列RAID成員在存儲(chǔ)設(shè)備上掛載成共享目錄之后,還包括:
[0149]使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。
[0150]在實(shí)際應(yīng)用場(chǎng)景下,用戶新購(gòu)入一款家庭存儲(chǔ)設(shè)備,但這時(shí)用戶家中已經(jīng)存在較大量的已有數(shù)據(jù),如照片、視頻、文檔等。對(duì)于傳統(tǒng)的家用NAS(Network Attached Storage,網(wǎng)絡(luò)附加存儲(chǔ))設(shè)備,這時(shí)只能通過(guò)網(wǎng)絡(luò)的方式或者USB外接口的方式把已有數(shù)據(jù)迀入新的存儲(chǔ)中心。如果數(shù)據(jù)量有幾百G甚至上T,那么數(shù)據(jù)傳輸將耗費(fèi)大量的時(shí)間。利用本發(fā)明能支持用戶數(shù)據(jù)盤(pán)的特性,可大大提高用戶數(shù)據(jù)迀移的效率。
[0151]在本發(fā)明具體實(shí)施例中,首先,在存儲(chǔ)設(shè)備的已有磁盤(pán)上創(chuàng)建好存儲(chǔ)空間,再在存儲(chǔ)空間上創(chuàng)建出共享目錄;然后把用戶數(shù)據(jù)盤(pán)插入存儲(chǔ)設(shè)備,選擇數(shù)據(jù)保留,把新插入的用戶數(shù)據(jù)盤(pán)掛載成為共享目錄。共享目錄就是用戶可以直接操作的基本單元,所以,這時(shí)只需要在這兩種共享目錄之間做數(shù)據(jù)拷貝就行了,而且這種拷貝就是同一系統(tǒng)上不同磁盤(pán)之間的數(shù)據(jù)對(duì)拷,數(shù)據(jù)傳輸時(shí)間大量縮短。
[0152]對(duì)于其它的存儲(chǔ)設(shè)備,要想把舊磁盤(pán)中的數(shù)據(jù)導(dǎo)入到存儲(chǔ)系統(tǒng)中,就需要先把磁盤(pán)接入到另一臺(tái)計(jì)算機(jī),然后讓該計(jì)算機(jī)讀取磁盤(pán)中的數(shù)據(jù),再通過(guò)網(wǎng)絡(luò)把數(shù)據(jù)傳輸?shù)酱鎯?chǔ)系統(tǒng),最后由存儲(chǔ)系統(tǒng)把數(shù)據(jù)保存到存儲(chǔ)空間中。這種方式數(shù)據(jù)需要經(jīng)過(guò)計(jì)算機(jī)的讀取、網(wǎng)絡(luò)傳輸、存儲(chǔ)系統(tǒng)寫(xiě)入的過(guò)程,流程冗長(zhǎng),數(shù)據(jù)傳輸效率低。
[0153]而本發(fā)明上述實(shí)施例采用的數(shù)據(jù)迀移方式,因?yàn)樵谕粋€(gè)系統(tǒng)上,用戶數(shù)據(jù)盤(pán)與存儲(chǔ)空間數(shù)據(jù)盤(pán)之間是共享系統(tǒng)總線(如PC1-Peripheral Component Interconnect,外設(shè)部件互連標(biāo)準(zhǔn))的,所以幾乎能達(dá)到磁盤(pán)接口,如SATA(Serial Advanced TechnologyAttachment,串行高級(jí)技術(shù)附件)、IDE (Integrated Drive Electronics,集成驅(qū)動(dòng)電子設(shè)備)的最大速率。其傳輸速度上遠(yuǎn)不是USB接口、網(wǎng)絡(luò)接口所能比的。對(duì)于支持熱插拔的SATA磁盤(pán),還能做到像USB設(shè)備一樣方便地即插即用,極大地提高用戶的使用感受。
[0154]進(jìn)一步,本發(fā)明提供一種磁盤(pán)存儲(chǔ)空間管理裝置,結(jié)構(gòu)如圖4所示,包括:
[0155]插入操作識(shí)別模塊:用于識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作;
[0156]數(shù)據(jù)識(shí)別模塊:用于根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù);
[0157]數(shù)據(jù)保留模塊:用于當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù);
[0158]目錄掛載模塊:用于將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。
[0159]在本發(fā)明一些實(shí)施例中,所述數(shù)據(jù)識(shí)別模塊具體包括:
[0160]第一識(shí)別單元:用于當(dāng)確定磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù);
[0161]第二識(shí)別單元:用于當(dāng)確定磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。
[0162]在本發(fā)明一些實(shí)施例中,所述目錄掛載模塊具體包括:
[0163]第一共享目錄掛載單元:用于在新插入的磁盤(pán)攜帶元數(shù)據(jù)的情況下,將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共享目錄;
[0164]第二共享目錄掛載單元:用于在新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng)的情況下,將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。
[0165]在本發(fā)明一些實(shí)施例中,所述數(shù)據(jù)保留模塊具體包括:
[0166]分區(qū)列表獲得模塊:用于掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表;
[0167]通用唯一識(shí)別碼UUID獲取單元:用于當(dāng)新插入的磁盤(pán)攜帶元數(shù)據(jù)時(shí),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;并觸發(fā)分區(qū)查找單元;
[0168]分區(qū)查找單元:用于根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);并觸發(fā)RAID組裝單元;
[0169]RAID組裝單元:用于在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;并觸發(fā)共享目錄第一掛載單元;
[0170]共享目錄第一掛載單元:用于根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄;
[0171]共享目錄第二掛載單元:用于若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。
[0172]在本發(fā)明一些實(shí)施例中,所述共享目錄第一掛載單元具體包括:
[0173]存儲(chǔ)空間掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后觸發(fā)共享目錄回復(fù)子單元;
[0174]共享目錄恢復(fù)子單元:用于從存儲(chǔ)空間中恢復(fù)出共享目錄;
[0175]共享目錄掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。
[0176]在本發(fā)明一些實(shí)施例中,所述裝置還包括:
[0177]空白磁盤(pán)分區(qū)模塊:用于當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū);
[0178]軟磁盤(pán)陣列RAID創(chuàng)建模塊:用于以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ;
[0179]文件系統(tǒng)創(chuàng)建模塊:用于在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng);
[0180]元數(shù)據(jù)更新模塊:用于將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù);
[0181]元數(shù)據(jù)保存模塊:用于將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。
[0182]在本發(fā)明一些實(shí)施例中,所述軟磁盤(pán)陣列RAID創(chuàng)建模塊具體包括:
[0183]可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第一分區(qū);
[0184]可靠存儲(chǔ)空間構(gòu)建單元:用于以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間;
[0185]不可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第二分區(qū);
[0186]不可靠存儲(chǔ)空間構(gòu)建單元:以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間;
[0187]所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。
[0188]在本發(fā)明一些實(shí)施例中,所述裝置還包括:
[0189]刪除存儲(chǔ)空間指令接收模塊:用于接收到刪除存儲(chǔ)空間的指令;
[0190]存儲(chǔ)空間卸載模塊:用于根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間;
[0191]磁盤(pán)陣列RAID停止模塊:用于停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的磁盤(pán)陣列RAID ;
[0192]第一磁盤(pán)陣列RAID信息清除模塊:清除磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù);
[0193]元數(shù)據(jù)刪除模塊:用于在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù);
[0194]系統(tǒng)標(biāo)識(shí)刪除模塊:用于若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。
[0195]在本發(fā)明一些實(shí)施例中,所述裝置還包括:
[0196]刪除磁盤(pán)指令接收模塊:用于接收到刪除磁盤(pán)的指令;
[0197]文件系統(tǒng)卸載模塊:用于卸載待刪除的磁盤(pán)上所有的文件系統(tǒng);
[0198]磁盤(pán)陣列RAID停止模塊:用于當(dāng)待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同時(shí),停止待刪除磁盤(pán)上的磁盤(pán)陣列RAID ;
[0199]第二磁盤(pán)陣列RAID信息清除模塊:用于清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)信息。
[0200]在本發(fā)明一些實(shí)施例中,所述裝置還包括:使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。
[0201 ] 進(jìn)一步,本發(fā)明還提供一種存儲(chǔ)設(shè)備,包括本用于存儲(chǔ)數(shù)據(jù)的磁盤(pán),還包括本發(fā)明任意一項(xiàng)實(shí)施例所提供的存儲(chǔ)空間管理裝置。
[0202]應(yīng)當(dāng)理解,本說(shuō)明書(shū)所描述的多個(gè)實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0203]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1.一種磁盤(pán)存儲(chǔ)空間管理方法,其特征在于,包括如下步驟: 識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作; 根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù); 當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù),并將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)、識(shí)別新插入磁盤(pán)是否攜帶數(shù)據(jù)的步驟具體包括: 判斷磁盤(pán)是否攜帶元數(shù)據(jù),若磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù);若磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄的步驟具體包括: 若新插入的磁盤(pán)攜帶元數(shù)據(jù),將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共早目錄; 若新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng),將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,保留新插入磁盤(pán)中的數(shù)據(jù)的步驟具體包括: 掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表; 若新插入的磁盤(pán)攜帶元數(shù)據(jù),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄; 若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄的步驟具體包括: 當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后從存儲(chǔ)空間中恢復(fù)出共享目錄; 當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),執(zhí)行如下步驟: 選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū); 以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ; 在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng); 將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù); 將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,以新創(chuàng)建的磁盤(pán)分區(qū)為單位、創(chuàng)建軟磁盤(pán)陣列RAID的步驟具體包括: 在選中的空白磁盤(pán)上構(gòu)建第一分區(qū),再以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間;并在選中的空白磁盤(pán)上構(gòu)建第二分區(qū),再以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間; 所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收到刪除存儲(chǔ)空間的指令; 根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間; 停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的磁盤(pán)陣列RAID ; 清除磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù); 在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù); 若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收到刪除磁盤(pán)的指令; 卸載待刪除的磁盤(pán)上所有的文件系統(tǒng); 若待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同,則停止待刪除磁盤(pán)上的磁盤(pán)陣列RAID,清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)信息。10.根據(jù)權(quán)利要求1所述的方法,其特征在于,將新插入磁盤(pán)本身的磁盤(pán)陣列RAID成員在存儲(chǔ)設(shè)備上掛載成共享目錄之后,還包括: 使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。11.一種磁盤(pán)存儲(chǔ)空間管理裝置,其特征在于,包括: 插入操作識(shí)別模塊:用于識(shí)別磁盤(pán)插入存儲(chǔ)設(shè)備的操作; 數(shù)據(jù)識(shí)別模塊:用于根據(jù)磁盤(pán)自身攜帶的元數(shù)據(jù)和文件系統(tǒng),識(shí)別新插入磁盤(pán)的是否攜帶數(shù)據(jù); 數(shù)據(jù)保留模塊:用于當(dāng)新插入的磁盤(pán)攜帶數(shù)據(jù)時(shí),根據(jù)用戶的指令,保留新插入磁盤(pán)中的數(shù)據(jù); 目錄掛載模塊:用于將新插入磁盤(pán)中的文件系統(tǒng)在存儲(chǔ)設(shè)備上掛載成共享目錄。12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述數(shù)據(jù)識(shí)別模塊具體包括: 第一識(shí)別單元:用于當(dāng)確定磁盤(pán)攜帶元數(shù)據(jù),則識(shí)別磁盤(pán)的攜帶數(shù)據(jù); 第二識(shí)別單元:用于當(dāng)確定磁盤(pán)不攜帶元數(shù)據(jù),但具有文件系統(tǒng),則識(shí)別磁盤(pán)攜帶數(shù)據(jù)。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述目錄掛載模塊具體包括: 第一共享目錄掛載單元:用于在新插入的磁盤(pán)攜帶元數(shù)據(jù)的情況下,將新插入磁盤(pán)的磁盤(pán)陣列RAID中的文件系統(tǒng)掛載成共享目錄; 第二共享目錄掛載單元:用于在新插入的磁盤(pán)不攜帶元數(shù)據(jù)但攜帶文件系統(tǒng)的情況下,將新插入磁盤(pán)的文件系統(tǒng)掛載成共享目錄。14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述數(shù)據(jù)保留模塊具體包括: 分區(qū)列表獲得模塊:用于掃描存儲(chǔ)設(shè)備的所有磁盤(pán),得到系統(tǒng)中當(dāng)前狀態(tài)下的分區(qū)列表; 通用唯一識(shí)別碼UUID獲取單元:用于當(dāng)新插入的磁盤(pán)攜帶元數(shù)據(jù)時(shí),則根據(jù)新插入磁盤(pán)所攜帶的元數(shù)據(jù),獲得所述新插入磁盤(pán)中的磁盤(pán)陣列RAID成員的分區(qū)通用唯一識(shí)別碼UUID ;并觸發(fā)分區(qū)查找單元; 分區(qū)查找單元:用于根據(jù)所述分區(qū)列表和所述分區(qū)通用唯一識(shí)別碼UUID,查找到所述分區(qū)通用唯一識(shí)別碼UUID對(duì)應(yīng)的系統(tǒng)當(dāng)前狀態(tài)下的分區(qū);并觸發(fā)RAID組裝單元; RAID組裝單元:用于在所述存儲(chǔ)設(shè)備上,重新組裝出新插入磁盤(pán)中的磁盤(pán)陣列RAID ;并觸發(fā)共享目錄第一掛載單元; 共享目錄第一掛載單元:用于根據(jù)重新組裝出的RAID設(shè)備掛載出共享目錄; 共享目錄第二掛載單元:用于若新插入的磁盤(pán)不攜帶元數(shù)據(jù),則將分區(qū)列表中的分區(qū)掛載成共享目錄。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述共享目錄第一掛載單元具體包括: 存儲(chǔ)空間掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID —致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成存儲(chǔ)空間,然后觸發(fā)共享目錄回復(fù)子單元; 共享目錄恢復(fù)子單元:用于從存儲(chǔ)空間中恢復(fù)出共享目錄; 共享目錄掛載子單元:用于當(dāng)磁盤(pán)所攜帶的元數(shù)據(jù)中包含的元數(shù)據(jù)通用唯一識(shí)別碼UUID與存儲(chǔ)設(shè)備的系統(tǒng)通用唯一識(shí)別碼UUID不一致時(shí),把重新組裝出的磁盤(pán)陣列RAID掛載成共享目錄。16.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 空白磁盤(pán)分區(qū)模塊:用于當(dāng)達(dá)到設(shè)定的創(chuàng)建存儲(chǔ)空間觸發(fā)條件或接收到用戶發(fā)送的存儲(chǔ)空間創(chuàng)建指令時(shí),選中存儲(chǔ)設(shè)備的空白磁盤(pán),并對(duì)選中的空白磁盤(pán)進(jìn)行分區(qū),得到新創(chuàng)建的磁盤(pán)分區(qū); 軟磁盤(pán)陣列RAID創(chuàng)建模塊:用于以新創(chuàng)建的磁盤(pán)分區(qū)為單位,創(chuàng)建軟磁盤(pán)陣列RAID ; 文件系統(tǒng)創(chuàng)建模塊:用于在所述軟磁盤(pán)陣列RAID上創(chuàng)建文件系統(tǒng); 元數(shù)據(jù)更新模塊:用于將所述軟磁盤(pán)陣列RAID信息連同空白磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)保存到空白磁盤(pán)的元數(shù)據(jù)中,以更新空白磁盤(pán)的元數(shù)據(jù);元數(shù)據(jù)保存模塊:用于將更新后的空白磁盤(pán)的元數(shù)據(jù)保存在存儲(chǔ)設(shè)備的系統(tǒng)配置文件中。17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述軟磁盤(pán)陣列RAID創(chuàng)建模塊具體包括: 可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第一分區(qū); 可靠存儲(chǔ)空間構(gòu)建單元:用于以第一分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為可靠存儲(chǔ)空間; 不可靠分區(qū)構(gòu)建單元:用于在選中的空白磁盤(pán)上構(gòu)建第二分區(qū); 不可靠存儲(chǔ)空間構(gòu)建單元:以第二分區(qū)為成員構(gòu)建磁盤(pán)陣列RAID,作為不可靠存儲(chǔ)空間; 所述可靠存儲(chǔ)空間采用具有數(shù)據(jù)冗余能力的方式存儲(chǔ)數(shù)據(jù),使用的磁盤(pán)陣列RAID包括:RAID1、或RAID5、或RAID6、或RAIDlO ;所述不可靠存儲(chǔ)空間不具有數(shù)據(jù)冗余能力,使用的磁盤(pán)陣列RAID包括:RAID0、或線性式存儲(chǔ)LINEAR。18.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 刪除存儲(chǔ)空間指令接收模塊:用于接收到刪除存儲(chǔ)空間的指令; 存儲(chǔ)空間卸載模塊:用于根據(jù)所述刪除存儲(chǔ)空間的指令,卸載存儲(chǔ)空間; 磁盤(pán)陣列RAID停止模塊:用于停止需要?jiǎng)h除的存儲(chǔ)空間對(duì)應(yīng)的磁盤(pán)陣列RAID ; 第一磁盤(pán)陣列RAID信息清除模塊:清除磁盤(pán)陣列RAID中的各個(gè)磁盤(pán)的磁盤(pán)陣列RAID超級(jí)塊信息和元數(shù)據(jù); 元數(shù)據(jù)刪除模塊:用于在系統(tǒng)配置文件中刪除所述存儲(chǔ)空間對(duì)應(yīng)的元數(shù)據(jù); 系統(tǒng)標(biāo)識(shí)刪除模塊:用于若存儲(chǔ)設(shè)備中不存在其它磁盤(pán)陣列,在系統(tǒng)配置文件中刪除系統(tǒng)標(biāo)識(shí)。19.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 刪除磁盤(pán)指令接收模塊:用于接收到刪除磁盤(pán)的指令; 文件系統(tǒng)卸載模塊:用于卸載待刪除的磁盤(pán)上所有的文件系統(tǒng); 磁盤(pán)陣列RAID停止模塊:用于當(dāng)待刪除的磁盤(pán)的元數(shù)據(jù)標(biāo)識(shí)與存儲(chǔ)設(shè)備的元數(shù)據(jù)標(biāo)識(shí)不同時(shí),停止待刪除磁盤(pán)上的磁盤(pán)陣列RAID ; 第二磁盤(pán)陣列RAID信息清除模塊:用于清除待刪除磁盤(pán)上的磁盤(pán)陣列RAID超級(jí)塊信息以及其攜帶的元數(shù)據(jù)信息。20.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括:使用所述共享目錄,在存儲(chǔ)設(shè)備已有磁盤(pán)和新插入的磁盤(pán)之間通過(guò)磁盤(pán)接口傳輸數(shù)據(jù)。21.一種存儲(chǔ)設(shè)備,其特征在于,包括用于存儲(chǔ)數(shù)據(jù)的磁盤(pán),還包括權(quán)利要求11-20中任意一項(xiàng)所述的磁盤(pán)存儲(chǔ)空間管理裝置。
【文檔編號(hào)】G06F3/06GK105824572SQ201510004657
【公開(kāi)日】2016年8月3日
【申請(qǐng)日】2015年1月5日
【發(fā)明人】譚小兵, 范超, 陳湘寧
【申請(qǐng)人】中興通訊股份有限公司