專(zhuān)利名稱(chēng):一種在磁盤(pán)上創(chuàng)建冗余空間的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種在^f茲盤(pán)上創(chuàng)建冗余空間的方 法及裝置。
背景技術(shù):
在計(jì)算機(jī)中,磁盤(pán)是一種較為常見(jiàn)的外存儲(chǔ)器,也可以稱(chēng)為固定盤(pán)。將 圓形的磁性盤(pán)片,即是磁盤(pán),裝在一個(gè)方的密封盒子里就封裝為磁盤(pán),因此, 物理磁盤(pán)也可以成為磁盤(pán)。隨著計(jì)算機(jī)技術(shù)的普遍應(yīng)用,人們對(duì)磁盤(pán)的性能 和可靠性的要求也越來(lái)越高。在現(xiàn)有的磁盤(pán)應(yīng)用中,有一種廉價(jià)磁盤(pán)冗余陣
歹'J (Redundant Array of Inexpensive Drivers, RAID) #支術(shù),即是將多塊獨(dú)立 的物理磁盤(pán)按不同的方式組合起來(lái)形成一個(gè)磁盤(pán)組,即是邏輯磁盤(pán)的過(guò)程, 從而可以提供比單個(gè)磁盤(pán)更高的存儲(chǔ)性能和提供數(shù)據(jù)備份技術(shù)。在實(shí)際應(yīng)用 中,可以針對(duì)RAID在磁盤(pán)上創(chuàng)建冗余空間,所述冗余空間對(duì)應(yīng)邏輯單元號(hào) (LUN),以使數(shù)據(jù)的讀取和存放都能提升性能。
在現(xiàn)有技術(shù)中,有一種在RAID上在磁盤(pán)上創(chuàng)建冗余空間的方法,其實(shí) 現(xiàn)過(guò)程如下根據(jù)用戶(hù)的要求,可以選擇N個(gè)磁盤(pán)創(chuàng)建一個(gè)給定類(lèi)型的RAID 組,例如,用3個(gè)磁盤(pán)創(chuàng)建一個(gè)RAID5,用另外4個(gè)磁盤(pán)創(chuàng)建一個(gè)RAID10; 例如,創(chuàng)建的RAID5為磁盤(pán)0、磁盤(pán)1和磁盤(pán)2,然后再根據(jù)用戶(hù)給定的空 間大小,例如50GB,在已經(jīng)創(chuàng)建的RAID5的3個(gè)》茲盤(pán)上劃分出LUN1對(duì)應(yīng) 的冗余空間,其中,3個(gè)磁盤(pán)中的LUN1對(duì)應(yīng)的磁盤(pán)空間大小相同;利用同 樣的方式再創(chuàng)建LUN2和LUN3分別對(duì)應(yīng)的冗余看見(jiàn),則創(chuàng)建的LUN對(duì)應(yīng) 的冗余空間的示意圖可以如圖l所示。
從上述過(guò)程可以看出,在創(chuàng)建LUN的過(guò)程中,現(xiàn)有技術(shù)需要基于各個(gè)磁 盤(pán)的RAID組,即是創(chuàng)建LUN對(duì)應(yīng)的冗余空間的過(guò)程和RAID相互關(guān)聯(lián),在一 個(gè)RAID組中的各個(gè)磁盤(pán)上創(chuàng)建空間相同的LUN,基于這種創(chuàng)建方法,當(dāng)某 一個(gè)磁盤(pán)的一個(gè)扇區(qū)發(fā)生故障時(shí),例如,當(dāng)圖1中的磁盤(pán)0的扇區(qū)1發(fā)生故障 時(shí),但是因?yàn)樵撋葏^(qū)所在的物理磁盤(pán)O屬于同一個(gè)RAID組,都是RAID5,所以就需要對(duì)磁盤(pán)O的數(shù)據(jù)全部進(jìn)行重構(gòu),就需要將磁盤(pán)1和磁盤(pán)2中的數(shù)據(jù)進(jìn)
行異或操作,以完成對(duì)磁盤(pán)0的重構(gòu),這就使得對(duì)RAID組中的磁盤(pán)重構(gòu)時(shí)間 過(guò)長(zhǎng),特別是單個(gè)磁盤(pán)的容量比較大的時(shí)候,重構(gòu)時(shí)間就更長(zhǎng),并且,如果 重構(gòu)磁盤(pán)0的過(guò)程中,RAID5中的其他成員盤(pán),例如, -磁盤(pán)l也發(fā)生了故障, 將可能導(dǎo)致整個(gè)RAID組的數(shù)據(jù)都會(huì)無(wú)效的結(jié)果。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種在磁盤(pán)上創(chuàng)建冗余空間的方法及裝置,以解決現(xiàn) 有技術(shù)中,必須基于RAID創(chuàng)建LUN對(duì)應(yīng)的冗余空間后,導(dǎo)致的對(duì)磁盤(pán)的 重構(gòu)時(shí)間過(guò)長(zhǎng)的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種在磁盤(pán)上創(chuàng)建冗余空間 的方法,包4舌
針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)所輸入的每組冗余空 間的目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息,并根 據(jù)所述成員盤(pán)數(shù)量信息,為每組冗余空間確定相應(yīng)的磁盤(pán)集合;
根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別信息,在所述磁 盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯單元 號(hào)LUN——對(duì)應(yīng)。
本發(fā)明實(shí)施例還提供了 一種在磁盤(pán)上創(chuàng)建冗余空間的裝置,包括
接收模塊,用于針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入
的至少兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信 自.
確定模塊,用于根據(jù)所述成員盤(pán)數(shù)量信息確定相應(yīng)的磁盤(pán)集合; 創(chuàng)建模塊,用于根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別
信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余
空間與邏輯單元號(hào)LUN——對(duì)應(yīng)。 本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)
在本發(fā)明實(shí)施例中,首先針對(duì)需要設(shè)置的至少兩組冗余空間,接收 用戶(hù)輸入的每組冗余空間的目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和 成員盤(pán)數(shù)量信息,并根據(jù)所述成員盤(pán)數(shù)量信息確定相應(yīng)的至少兩組磁盤(pán);然后根據(jù)所述目標(biāo)容量和RAID級(jí)別信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú) 立的至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN——對(duì)應(yīng),可 以看出,在本發(fā)明中不同冗余空間對(duì)應(yīng)的LUN號(hào)能夠?qū)?yīng)于不同的RAID 組,這樣對(duì)于每一個(gè)》茲盤(pán)來(lái)講, 一個(gè)f茲盤(pán)對(duì)應(yīng)了至少兩組RAID,因此, 當(dāng)磁盤(pán)的一個(gè)LUN對(duì)應(yīng)的扇區(qū)出現(xiàn)故障或者失效的時(shí)候,就只能影響該 LUN對(duì)應(yīng)的RAID組,因此重構(gòu)的時(shí)候,也只是針對(duì)該RAID組進(jìn)行, 這就使得重構(gòu)RAID的時(shí)候涉及到的RAID組的成員盤(pán)的容量變小,因此, 運(yùn)用本發(fā)明實(shí)施例所述方法創(chuàng)建LUN對(duì)應(yīng)的冗余空間后,就可以在需要 對(duì)^磁盤(pán)空間進(jìn)行重構(gòu)的時(shí)候,減少^磁盤(pán)空間的重構(gòu)時(shí)間。
對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作筒單地介紹,顯而易見(jiàn) 地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技 術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲 得其他的附圖。
圖1是現(xiàn)有技術(shù)中創(chuàng)建冗余空間的示意圖; 圖2是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的方法實(shí)施例一的流程圖; 圖3是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的方法實(shí)施例二的流程圖; 圖4是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的方法實(shí)施例三的流程圖; 圖5是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的方法實(shí)施例三中創(chuàng)建的冗 余空間組的示意圖6是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的裝置實(shí)施例一的結(jié)構(gòu)示意
圖7是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的裝置實(shí)施例二的結(jié)構(gòu)示意
圖8是本發(fā)明的在磁盤(pán)上創(chuàng)建冗余空間的裝置實(shí)施例三的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案
7進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí) 施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù) 人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本 發(fā)明保護(hù)的范圍。
為使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下 面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)的說(shuō)明。
參考圖2,在本發(fā)明實(shí)施例一中,實(shí)現(xiàn)本發(fā)明實(shí)施例一所提供的方法
可以包括以下步驟
步驟201:針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入的至少 兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息;
在本步驟中,用戶(hù)根據(jù)需要可以輸入至少兩組信息,每一組信息中 都包括所需》茲盤(pán)空間的目標(biāo)容量,RAID級(jí)別信息,例如,RAID5或者 RAID10等,以及成員盤(pán)數(shù)量信息,例如,第一組的成員盤(pán)數(shù)量為3,第 二組的成員盤(pán)數(shù)量為5,等等;
步驟202:根據(jù)所述成員盤(pán)數(shù)量信息,為每組冗余空間確定相應(yīng)的磁 盤(pán)集合;
根據(jù)步驟201中的信息確定相應(yīng)的至少兩組磁盤(pán),例如,根據(jù)步驟 101的成員盤(pán)數(shù)量信息確定第一組的3個(gè)磁盤(pán),并確定第二組的5個(gè)磁盤(pán);
步驟203:根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別信息, 在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與 邏輯單元號(hào)LUN —一對(duì)應(yīng)。
根據(jù)每組冗余空間的目標(biāo)容量和RAID的級(jí)別信息,在步驟202中確定 的兩組磁盤(pán)上確定每個(gè)磁盤(pán)需要?jiǎng)?chuàng)建LUN的空間大小,在所述磁盤(pán)集合上 創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間的屬性為RAID級(jí)別, 并與邏輯單元號(hào)LUN——對(duì)應(yīng),例如,第 一組的冗余空間的LUN為1 ,第 二組的冗余空間的LUN為2。所述》茲盤(pán)可以包括石更盤(pán),可移動(dòng)》茲盤(pán)和sd 卡,等等。
在本發(fā)明實(shí)施例一中,可以看出,通過(guò)在》茲盤(pán)上"i殳置至少兩組LUN, 并且每組LUN的屬性對(duì)應(yīng)一組RAID,不同的LUN號(hào)就對(duì)應(yīng)于不同的 RAID組。對(duì)于每一個(gè)f茲盤(pán)來(lái)講, 一個(gè),茲盤(pán)對(duì)應(yīng)了至少兩組RAID,因此,當(dāng)磁盤(pán)的一個(gè)LUN對(duì)應(yīng)的扇區(qū)出現(xiàn)故障或者失效的時(shí)候,就只能影響該 LUN對(duì)應(yīng)的RAID組,因此重構(gòu)的時(shí)候,也只是針對(duì)該RAID組進(jìn)行, 這就使得重構(gòu)RAID的時(shí)候涉及到的RAID組的成員盤(pán)的容量變小,因此, 重構(gòu)時(shí)間也會(huì)大大縮短,從而提升了重構(gòu)的性能。
參考圖3,在本發(fā)明實(shí)施例二中,實(shí)現(xiàn)本發(fā)明實(shí)施例二所提供的方法 可以包括以下步驟
步驟301:針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入的至少 兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息;
步驟302:查找計(jì)算機(jī)中具有空閑容量的磁盤(pán);
接收到用戶(hù)的輸入信息后,開(kāi)始查找計(jì)算機(jī)中具有空閑容量的磁盤(pán);
步驟303:在查找到的磁盤(pán)中,根據(jù)所述數(shù)量信息選擇符合條件的磁 盤(pán)集合;
在具有空閑容量的磁盤(pán)上,根據(jù)成員盤(pán)的數(shù)量選擇符合條件的至少 兩組;茲盤(pán);在實(shí)際應(yīng)用中,可以才艮據(jù)成員盤(pán)凄史量,例如,第一組-磁盤(pán)凝: 量為3個(gè),那么則在查找到的具有空閑容量的磁盤(pán)上確定3個(gè)磁盤(pán),所 述確定的磁盤(pán)的空閑容量的總和需要大于或者等于所述目標(biāo)容量;
步驟304:根據(jù)第一組的目標(biāo)容量,在第一組的各個(gè)磁盤(pán)上獲耳又相應(yīng) 的;茲盤(pán)空間;
例如,根據(jù)步驟303確定的磁盤(pán)的空閑空間,在根據(jù)第一組的目標(biāo) 容量信息,在第 一組的各個(gè)磁盤(pán)的空閑空間上獲取需要?jiǎng)?chuàng)建冗余空間的 扇區(qū),在獲取的過(guò)程中,每個(gè)磁盤(pán)上扇區(qū)可以不相等,只需將各個(gè)磁盤(pán) 上扇區(qū)的空間總和等于目標(biāo)容量即可;
步驟305:為所述磁盤(pán)空間創(chuàng)建屬性為第一 RAID級(jí)別信息的第一組 冗余空間,所述第一組冗余空間屬于RAID組1,并對(duì)應(yīng)標(biāo)識(shí)為L(zhǎng)UN1;
在步驟304獲取到的磁盤(pán)空間上創(chuàng)建冗余空間,所述冗余空間與邏 輯單元號(hào)LUN——對(duì)應(yīng),其中,第一組冗余空間的屬性為第一組的RAID 級(jí)別,例如,創(chuàng)建的第一組冗余空間的LUN標(biāo)識(shí)為1,屬性為RAID5;
步驟306:根據(jù)用戶(hù)輸入的其他各組目標(biāo)容量和RAID級(jí)別信息,依 次創(chuàng)建除第 一組以外的各組冗余空間,所述各組冗余空間分別屬于各自不同的RAID組,并分別對(duì)應(yīng)標(biāo)識(shí)為各組LUN。
根據(jù)目標(biāo)容量和用戶(hù)輸入的RAID級(jí)別信息,再依次創(chuàng)建除第 一組以 外的各組冗余空間,所述各組冗余空間均對(duì)應(yīng)各組LUN,每一組冗余空 間的屬性都是RAID級(jí)別組,其中,每組冗余空間之間的RAID級(jí)別信息 可以不相同,也可以相同,但是每組冗余空間的屬性都對(duì)應(yīng)不同的RAID 組。
在本實(shí)施例中,可以通過(guò)查找具有空閑容量的磁盤(pán)確定需要參與創(chuàng) 建對(duì)應(yīng)LUN的;茲盤(pán)空間,創(chuàng)建后的每一個(gè)LUN組的屬性都根據(jù)RAID 級(jí)別信息確定,并且每一組的RAID級(jí)別信息還可能存在不同,基于本發(fā) 明實(shí)施例所述的方法,當(dāng);茲盤(pán)上的一塊扇區(qū)或者屬于某一組LUN的^f茲盤(pán) 空間發(fā)生故障,則重構(gòu)的時(shí)候就可以直接對(duì)壞掉的LUN空間進(jìn)行重構(gòu), 因?yàn)槊拷M冗余空間的LUN對(duì)應(yīng)一個(gè)RAID組,每個(gè)》茲盤(pán)屬于至少兩個(gè) RAID組,在重構(gòu)的時(shí)候就不會(huì)影響該磁盤(pán)上其他磁盤(pán)空間的使用和后續(xù) 數(shù)據(jù)的使用,就減少了重構(gòu)時(shí)間,節(jié)約了系統(tǒng)資源。
參考圖4,在本發(fā)明實(shí)施例三中,實(shí)現(xiàn)本發(fā)明實(shí)施例三所提供的方法
可以包括以下步驟
步驟401:將》茲盤(pán)空間劃分為用戶(hù)可用空間和預(yù)留空間; 本實(shí)施例中,首先可以將每個(gè)磁盤(pán)空間劃分為兩部分,即是用戶(hù)可
用空間和預(yù)留空間,所述預(yù)留空間用于重定向失效的扇區(qū)或者數(shù)據(jù)塊;
其中,所述預(yù)留空間的大小可以為總磁盤(pán)空間的1%左右,以使其對(duì)用戶(hù)
可用空間的影響很??;
可以理解的是,步驟401也可以在步驟402之后執(zhí)行;
步驟402:針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入的四組
目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息,以及分條
單元大?。?br>
在本實(shí)施例中,假設(shè)用戶(hù)輸入的信息有四組;需要說(shuō)明的是,所述 用戶(hù)的輸入信息中開(kāi)可以包括分條單元大小,則所述創(chuàng)建的冗余空間可 以有分條單元組成;
步驟403:查找計(jì)算機(jī)中用戶(hù)可用空間中具有空閑容量的磁盤(pán);步驟404:在查找到的磁盤(pán)中,根據(jù)所述數(shù)量信息選擇符合條件的四 組/磁盤(pán);
在查找到的具有空閑容量的磁盤(pán)中,根據(jù)用戶(hù)輸入的四組數(shù)量信息 選捧符合條件的四組磁盤(pán);其中,第一組磁盤(pán)為磁盤(pán)O、磁盤(pán)l、磁盤(pán)2、 磁盤(pán)3和磁盤(pán)4,第二組磁盤(pán)有3個(gè),磁盤(pán)0、磁盤(pán)1和磁盤(pán)2,第三組 磁盤(pán)有2個(gè),為磁盤(pán)3和磁盤(pán)4,第四組磁盤(pán)有5個(gè),為磁盤(pán)0、磁盤(pán)1、 磁盤(pán)2、磁盤(pán)3和磁盤(pán)4;每組的磁盤(pán)空間示意圖可以參考圖5所示;
步驟405:根據(jù)第一組的目標(biāo)容量,在第一組的各個(gè)磁盤(pán)上的用戶(hù)可 用空間中獲^f又相應(yīng)的^l盤(pán)空間;
根據(jù)第一組的目標(biāo)容量,在第一組的5個(gè)磁盤(pán)上獲取相應(yīng)的磁盤(pán)空 間,其中,所述5個(gè)磁盤(pán)的空間總和應(yīng)等于所述第一組的目標(biāo)容量;
步驟406:為所述磁盤(pán)空間創(chuàng)建屬性為第一組的RAID級(jí)別的冗余空 間,所述第一組冗余空間對(duì)應(yīng)LUN1,并#4居所述分條單元大小等分 IAJN1;
參考圖5所示,在第一組的5個(gè)磁盤(pán)上創(chuàng)建屬性為RAID級(jí)別5的 RAID組1,第一組冗余空間的LUN即為1;進(jìn)一步的,所述LUN對(duì)應(yīng) 的冗余空間中,還可以根據(jù)分條單元大小對(duì)LUN對(duì)應(yīng)的冗余空間進(jìn)行劃 分,例如,當(dāng)LUN1的冗余空間為50GB大小時(shí),若分條單元大小為 500MB,則LUN1的冗余空間就被100等分,每個(gè)分條在磁盤(pán)上對(duì)應(yīng)的 /磁盤(pán)空間就為500MB;
步驟407:根據(jù)目標(biāo)容量和級(jí)別信息,在磁盤(pán)的用戶(hù)可用空間上依次 創(chuàng)建除第二、三和四組的各組LUN對(duì)應(yīng)的冗余空間。
然后,和創(chuàng)建LUN1的方法相似,根據(jù)目標(biāo)容量和級(jí)別信息,依次 創(chuàng)建除第二、三和四組的各組LUN對(duì)應(yīng)的冗余空間,參考圖5所示;
其中,所述方法還可以包括
步驟408:當(dāng)所述預(yù)留空間消耗了某一閾值以上的比例時(shí),將所述預(yù) 留空間所在的磁盤(pán)上的數(shù)據(jù)同步到新磁盤(pán)上。
其中,所述閾值的大小可以由用戶(hù)自主i殳置,例如,可以設(shè)置為預(yù) 留空間的85%,即是當(dāng)預(yù)留空間消耗了 85%以上的空間時(shí),將所述預(yù)留 空間所在的磁盤(pán)上的數(shù)據(jù)同步到新的磁盤(pán)上,以進(jìn)行數(shù)據(jù)的后續(xù)讀取和處理。在同步過(guò)程中,也只涉及到兩個(gè)》茲盤(pán),即是,失效的磁盤(pán)和新的
磁盤(pán),壞塊所在RAID組的重構(gòu)時(shí)間可以進(jìn)一步減少,使得重構(gòu)的效率大 為提升;并且,由于磁盤(pán)存在分條單元,因此重構(gòu)的時(shí)候,可以分別針 對(duì)條空間進(jìn)行重構(gòu),新的磁盤(pán)也可以根據(jù)分條單元大小被多個(gè)RAID組使 用,乂人而減少了重構(gòu)時(shí)間和新的》茲盤(pán)的凄t量。
需要說(shuō)明的是,每一個(gè)磁盤(pán)上用戶(hù)可用空間的LUN存在多個(gè),并且 每個(gè)磁盤(pán)中相同LUN號(hào)的磁盤(pán)空間的大小也可以并不相同,參考圖5中 的LUN4,因此,在重構(gòu)的時(shí)候靈活性更高。可以理解的是,本發(fā)明實(shí)施 例還可以首先在計(jì)算機(jī)中查找具備空閑容量的磁盤(pán),并在查找到的磁盤(pán) 中再創(chuàng)建用戶(hù)可用空間和預(yù)留空間,在幾個(gè)磁盤(pán)上創(chuàng)建用戶(hù)可用空間和 預(yù)留空間并不影響本發(fā)明的實(shí)現(xiàn)。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了筒單描述,故將其 都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并 不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其 他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所 描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不 一定是本發(fā) 明所必須的。
與上述本發(fā)明實(shí)施例所提供的方法相對(duì)應(yīng),參見(jiàn)圖6,本發(fā)明實(shí)施例
還提供了 一種在磁盤(pán)上創(chuàng)建冗余空間的裝置,所述裝置包括
接收模塊601,用于針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸
入的至少兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信 自.
確定模塊602,用于根據(jù)所述成員盤(pán)數(shù)量信息,為每組冗余空間確定 相應(yīng)的-茲盤(pán)集合;
創(chuàng)建模塊603,用于根據(jù)所述每組冗余空間的目標(biāo)容量和RAID級(jí)別, 在所述磁盤(pán)上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯 單元號(hào)LUN——對(duì)應(yīng)。
在本實(shí)施例中,所述裝置可以細(xì)分為三個(gè)模塊,通過(guò)在磁盤(pán)上設(shè)置 至少兩組冗余空間,并對(duì)應(yīng)至少兩組LUN,并且每組LUN的屬性對(duì)應(yīng)一組RAID級(jí)別信息,不同的LUN號(hào)對(duì)應(yīng)的冗余空間就屬于不同的RAID 組。對(duì)于每一個(gè)》茲盤(pán)來(lái)講,創(chuàng)建了至少兩組LUN的一個(gè)》茲盤(pán)就對(duì)應(yīng)了至 少兩組RAID,因此,當(dāng)f茲盤(pán)的一個(gè)LUN對(duì)應(yīng)的扇區(qū)出現(xiàn)故障或者失效 的時(shí)候,就只能影響該LUN對(duì)應(yīng)的RAID組,因此重構(gòu)的時(shí)候,也只是 針對(duì)磁盤(pán)上的該RAID組的空間大小進(jìn)行,這就使得重構(gòu)RAID的時(shí)候涉 及到的RAID組的成員盤(pán)的容量變小,因此,重構(gòu)時(shí)間也會(huì)大大縮短,從 而提升了重構(gòu)的性能。
與本發(fā)明方法實(shí)施例二相對(duì)應(yīng),參考圖7所示,示出了本發(fā)明裝置 實(shí)施例二的結(jié)構(gòu)示意圖,在本實(shí)施例中,所述確定模塊可以包括查找子 模塊和選擇子模塊,所述創(chuàng)建模塊可以包括獲取子模塊、第一創(chuàng)建子模 塊和第二創(chuàng)建子模塊,如圖7所示,則該裝置可以包括
接收模塊701,用于針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸 入的至少兩組冗余空間的目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成 員盤(pán)數(shù)量信息;
查找子模塊702,用于查找計(jì)算機(jī)中具有空閑容量的磁盤(pán);
選擇子模塊703,用于在查找到的磁盤(pán)中,根據(jù)所述數(shù)量信息選擇符 合條件的磁盤(pán)集合;
獲取子模塊704,用于根據(jù)第一組冗余空間的目標(biāo)容量,在第一組磁 盤(pán)集合的各個(gè)磁盤(pán)上獲取相應(yīng)的磁盤(pán)空間;
第 一創(chuàng)建子模塊705 ,用于為所述磁盤(pán)空間創(chuàng)建屬性為第一 RAID級(jí) 別信息的第一組冗余空間,所述第一組冗余空間屬于RAID組1,并對(duì)應(yīng) LAJN1;
第二創(chuàng)建子模塊706,用于根據(jù)用戶(hù)輸入的其他各組目標(biāo)容量和 RAID級(jí)別信息,依次創(chuàng)建除第一組以外的各組冗余空間,所述各組冗余 空間分別屬于各自不同的RAID組,并分別對(duì)應(yīng)各組LUN。
與本發(fā)明方法實(shí)施例三相對(duì)應(yīng),參考圖8所示,示出了本發(fā)明裝置 實(shí)施例三的結(jié)構(gòu)示意圖,如圖所示,該裝置可以包括
劃分模塊801,用于將磁盤(pán)空間劃分為用戶(hù)可用空間和預(yù)留空間;接收模塊802,用于針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸 入的至少兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信 息,以及分條單元大??;
查找子模塊803,用于查找計(jì)算機(jī)中具有空閑容量的磁盤(pán);
選擇子模塊804,用于在查找到的磁盤(pán)中,根據(jù)所述數(shù)量信息選擇符 合條件的磁盤(pán)集合。
獲取子模塊805,用于根據(jù)第一組冗余空間的目標(biāo)容量,在第一組的 各個(gè);茲盤(pán)上獲取相應(yīng)的;茲盤(pán)空間;
第一創(chuàng)建子模塊806,用于在所述用戶(hù)可用空間上創(chuàng)建屬性為第一 RAID級(jí)別信息的第 一組冗余空間,所述第 一組冗余空間屬于RAID組1 , 并對(duì)應(yīng)LUN1,并根據(jù)分條單元大小劃分所述LUN1對(duì)應(yīng)的磁盤(pán)空間;
第二創(chuàng)建子模塊807,用于根據(jù)用戶(hù)輸入的其他各組目標(biāo)容量和 RAID級(jí)別信息,依次創(chuàng)建除第一組以外的各組冗余空間,所述各組冗余 空間分別屬于各自不同的RAID組,并分別對(duì)應(yīng)各組LUN;
同步模塊808,用于當(dāng)所述預(yù)留空間消耗了某一 閾值以上的比例時(shí), 將所述預(yù)留空間所在的磁盤(pán)上的數(shù)據(jù)同步到新磁盤(pán)上。
需要說(shuō)明的是,因?yàn)榍笆鲈诖疟P(pán)上創(chuàng)建冗余空間的方法介紹的十分 詳盡,所以所述在》茲盤(pán)上創(chuàng)建冗余空間的裝置實(shí)施例未詳盡之處,可以 參見(jiàn)前述對(duì)在磁盤(pán)上創(chuàng)建冗余空間的方法實(shí)施例的描述,在此不再對(duì)裝 置作詳細(xì)描述。
通過(guò)以上實(shí)施例的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到需要 說(shuō)明的是,本發(fā)明實(shí)施例不需要引入獨(dú)立的功能部件,可借助軟件加必 需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明實(shí)施例的技 術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式 體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用 以執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。這里所稱(chēng)的存儲(chǔ)介質(zhì),如 ROM/RAM、磁盤(pán)、光盤(pán)等。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅 用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求 或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包含, 從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、 方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句 "包括一個(gè)......,,限定的要素,并不排除在包括所述要素的過(guò)程、方法、
物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明實(shí)施例所提供的 一種在磁盤(pán)上創(chuàng)建冗余空間的方法及
式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明實(shí)施例的方
法及其思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的 思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō) 明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種在磁盤(pán)上創(chuàng)建冗余空間的方法,其特征在于,包括針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)所輸入的每組冗余空間的目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息,并根據(jù)所述成員盤(pán)數(shù)量信息,為每組冗余空間確定相應(yīng)的磁盤(pán)集合;根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN一一對(duì)應(yīng)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述成員盤(pán) 數(shù)量信息,為每組冗余空間確定相應(yīng)的磁盤(pán)集合包括查找計(jì)算機(jī)中具有空閑容量的磁盤(pán);在查找到的磁盤(pán)中,根據(jù)所述成員盤(pán)數(shù)量信息選擇符合條件的磁盤(pán) 集合。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述每組冗 余空間的目標(biāo)容量和RAID級(jí)別信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的 至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN——對(duì)應(yīng)的步驟, 包括根據(jù)第一組冗余空間的目標(biāo)容量信息,在第一組冗余空間的各個(gè)磁 盤(pán)上獲取相應(yīng)的磁盤(pán)空間;為所述磁盤(pán)空間創(chuàng)建屬性為第一 RAID級(jí)別信息的第 一組冗余空間, 所述第一組冗余空間屬于RAID組1,并對(duì)應(yīng)標(biāo)識(shí)為L(zhǎng)UN1;根據(jù)用戶(hù)輸入的其他各組目標(biāo)容量和RAID級(jí)別信息,依次創(chuàng)建除第 一組以外的各組冗余空間,所述各組冗余空間分別屬于各自不同的RAID 組,并分別對(duì)應(yīng)各組LUN。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收用戶(hù)所輸入 的每組冗余空間的目標(biāo)容量之前,還包括將磁盤(pán)的空間劃分為用戶(hù)可用空間和預(yù)留空間;則所述在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,具體為在相應(yīng)的所述磁盤(pán)集合中的每個(gè)-茲盤(pán)的用戶(hù)可用空間上創(chuàng)建各自獨(dú)立的至少兩組冗余空間。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述預(yù)留空間消耗了某一閾值以上的比例時(shí),將所述預(yù)留空間所在的磁盤(pán)上的數(shù)據(jù)同步到新/f茲盤(pán)上。
6、 一種在磁盤(pán)上創(chuàng)建冗余空間的裝置,其特征在于,包括接收模塊,用于針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入的至少兩組目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信 自 確定模塊,用于根據(jù)所述成員盤(pán)數(shù)量信息確定相應(yīng)的磁盤(pán)集合; 創(chuàng)建模塊,用于根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN——對(duì)應(yīng)。
7、 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定模塊包括 查找子模塊,用于查找計(jì)算機(jī)中具有空閑容量的磁盤(pán); 選擇子模塊,用于在查找到的磁盤(pán)中,根據(jù)所述數(shù)量信息選擇符合條件的磁盤(pán)集合。
8、 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述創(chuàng)建模塊包括 獲取子模塊,用于根據(jù)第一組的目標(biāo)容量信息,在第一組的各個(gè)磁盤(pán)上獲:f又相應(yīng)的^f茲盤(pán)空間;第 一創(chuàng)建子模塊,用于為所述磁盤(pán)空間創(chuàng)建屬性為第一 RAID級(jí)別信 息的第一組冗余空間,所述第一組冗余空間屬于RAID組1,并對(duì)應(yīng)標(biāo)識(shí) 為L(zhǎng)UN1;第二創(chuàng)建子模塊,用于根據(jù)用戶(hù)輸入的其他各組目標(biāo)容量和RAID級(jí) 別信息,依次創(chuàng)建除第一組以外的各組冗余空間,所述各組冗余空間分 別屬于各自不同的RAID組,并分別對(duì)應(yīng)各組LUN。
9、 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 劃分模塊,用于將磁盤(pán)空間劃分為用戶(hù)可用空間和預(yù)留空間; 則所述創(chuàng)建模塊根據(jù)所述每組冗余空間的目標(biāo)容量和RAID級(jí)別信息,在相應(yīng)的所述磁盤(pán)集合中的每個(gè)磁盤(pán)的所述用戶(hù)可用空間上創(chuàng)建各 自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN——對(duì)應(yīng)。
10、根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括 同步才莫塊,用于當(dāng)所述預(yù)留空間消耗了某一閾值以上的比例時(shí),將所 述預(yù)留空間所在的磁盤(pán)上的數(shù)據(jù)同步到新磁盤(pán)上。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種在磁盤(pán)上創(chuàng)建冗余空間的方法及裝置,所述方法包括針對(duì)需要設(shè)置的至少兩組冗余空間,接收用戶(hù)輸入的每組冗余空間的目標(biāo)容量,廉價(jià)磁盤(pán)冗余陣列RAID的級(jí)別和成員盤(pán)數(shù)量信息,并根據(jù)所述成員盤(pán)數(shù)量信息,為每組冗余空間確定相應(yīng)的磁盤(pán)集合;根據(jù)所述每組冗余空間的目標(biāo)容量,以及RAID級(jí)別信息,在所述磁盤(pán)集合上創(chuàng)建各自獨(dú)立的至少兩組冗余空間,所述冗余空間與邏輯單元號(hào)LUN一一對(duì)應(yīng)。根據(jù)本發(fā)明實(shí)施例,為磁盤(pán)空間創(chuàng)建LUN后,可以在需要對(duì)磁盤(pán)空間進(jìn)行重構(gòu)的時(shí)候,減少磁盤(pán)空間的重構(gòu)時(shí)間。
文檔編號(hào)G06F11/14GK101441553SQ20081018820
公開(kāi)日2009年5月27日 申請(qǐng)日期2008年12月18日 優(yōu)先權(quán)日2008年12月18日
發(fā)明者巍 張 申請(qǐng)人:成都市華為賽門(mén)鐵克科技有限公司