專利名稱:廉價磁盤冗余陣列中硬盤重新識別系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機(jī)可執(zhí)行的硬盤重新識別系統(tǒng)及其方法,特別涉及用于廉價磁盤冗余陣列上,當(dāng)硬盤的配置發(fā)生變動時,產(chǎn)生一對照暫存表,使廉價磁盤冗余陣列可以重新與硬盤配對,而能恢復(fù)運(yùn)行的系統(tǒng)及其方法。
背景技術(shù):
處在現(xiàn)在的信息時代,所有的文件皆以電子檔案形式儲存,取代了原本以紙張的形式記載,不僅節(jié)省了紙張,更大大的節(jié)省了存放檔案的空間。整間圖書館的數(shù)據(jù),在電子化之后只需多個硬式磁盤,即可全部儲存,但也因此更突顯了維持磁盤的正常運(yùn)作的重要性。
要維持儲存的安全性及數(shù)據(jù)的完整性,避免因磁盤的故障而造成難以估計的損失,在1987年,由Patterson、Gibson和Katz這三個人在加州大學(xué)柏克萊分校,發(fā)表了名為《A Case of Redundant Array of Inexpensive Disks(廉價磁盤冗余陣列方案)》的論文,其基本想法就是將多個容量較小的、相對廉價的磁盤進(jìn)行組合,使其在數(shù)據(jù)安全性,以及存取效能上超過一個昂貴的大容量硬盤。這一設(shè)計想法很快就被接受,自此之后,廉價磁盤冗余陣列的技術(shù)得到了廣泛應(yīng)用,數(shù)據(jù)儲存進(jìn)入了更快速、更安全、更廉價的新時代。
當(dāng)初在設(shè)計上,將廉價磁盤冗余陣列分成等級0到5,通過將每個磁盤扇區(qū)劃分成區(qū)塊大小一致的分區(qū),并分別從不同磁盤取一分區(qū)出來,重組為一卷(volume),再將所有的卷結(jié)合為一卷組(VG,Volume Group),其好處在于原本單一磁盤的容量無法儲存的文件,不需使用者自行分割,即可存入通過廉價磁盤冗余陣列技術(shù),而由多個磁盤所組成的卷組。
此外,一文件在存取時,原本只能在一磁盤中進(jìn)行,然而在廉價磁盤冗余陣列的卷組(VG,Volume Group)中,由于一份文件都是同時分散存入一卷的每一磁盤分區(qū)中,平行處理的方式大大增加了儲存的速度,讀取時亦然。
起初在構(gòu)建廉價磁盤冗余陣列時,是采取通過軟件來控制,然而此種方式相當(dāng)耗費(fèi)中央處理單元(CPU)的資源,因為當(dāng)計算機(jī)在運(yùn)行時,輸入/輸出(I/O)的動作是持續(xù)進(jìn)行的,若每一筆數(shù)據(jù)在讀寫時都要監(jiān)控,則中央處理單元(CPU)將無多余資源來處理其它排程,導(dǎo)致計算機(jī)整體效能不增反減。因此,后來的做法皆是采取硬件控制的方式,通過一廉價磁盤冗余陣列控制器來構(gòu)建整個廉價磁盤冗余陣列,此后,計算機(jī)只需將數(shù)據(jù)交予廉價磁盤冗余陣列控制器,至于該數(shù)據(jù)如何儲存分配則由廉價磁盤冗余陣列控制器來負(fù)責(zé)。
在建立廉價磁盤冗余陣列的時候,每一個硬盤的分區(qū)與廉價磁盤冗余陣列中的各卷對應(yīng)關(guān)系是固定的,一旦硬盤的順序發(fā)生改變,或者新增、移除硬盤后,將會使廉價磁盤冗余陣列在讀取寫入時發(fā)生錯誤,原本在該分區(qū)的數(shù)據(jù),因硬盤的順序發(fā)生改變,而尋找不到,最后導(dǎo)致系統(tǒng)無法運(yùn)行。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的主要目的在于提供一種廉價磁盤冗余陣列硬盤重新識別系統(tǒng)及其方法,當(dāng)廉價磁盤冗余陣列在讀取寫入數(shù)據(jù),發(fā)現(xiàn)硬盤順序與分區(qū)對照表的硬盤順序有錯誤時,即必須重新識別硬盤,使廉價磁盤冗余陣列能再次運(yùn)行。
因此,為達(dá)上述目的,本發(fā)明揭示一種廉價磁盤冗余陣列硬盤重新識別系統(tǒng),至少包含一廉價磁盤冗余陣列建立模塊,用以將多個硬盤構(gòu)建成一廉價磁盤冗余陣列,并在硬盤順序發(fā)生改變時,在硬盤信息表中記錄及修改該硬盤的廉價磁盤冗余陣列分區(qū)信息;一硬盤識別模塊,用以讀取各硬盤信息表中所記錄的廉價磁盤冗余陣列分區(qū)信息,并于硬盤順序改變時,開始建立對照暫存表;一對照暫存表,儲存了硬盤順序在更動前與變動后的分區(qū)設(shè)備號改變的對照;及一廉價磁盤冗余陣列修復(fù)模塊,用以當(dāng)硬盤識別模塊發(fā)現(xiàn)硬盤順序發(fā)生改變時,根據(jù)修改后的硬盤信息表中分區(qū)設(shè)備號重新建構(gòu)分區(qū)對照表。
根據(jù)上述構(gòu)想,其中該對照暫存表當(dāng)各所述硬盤順序發(fā)生變動時才于一內(nèi)存中建立。
根據(jù)上述構(gòu)想,其中該對照暫存表的字段包含一硬盤代號,一廉價磁盤冗余陣列名,一原分區(qū)設(shè)備號,一新分區(qū)設(shè)備號,及一廉價磁盤冗余陣列中的順序。
根據(jù)上述構(gòu)想,其中該對照暫存表用以對照修改各該硬盤信息表的分區(qū)設(shè)備號。
此外,本發(fā)明還揭示一種廉價磁盤冗余陣列中硬盤重新識別方法,該方法包含下列步驟確認(rèn)多個硬盤信息表中,有一個以上的硬盤代號有變更;停止該廉價磁盤冗余陣列的運(yùn)行;讀取各該分區(qū)對照表;向一操作系統(tǒng)索取多個新分區(qū)設(shè)備號;建立一對照暫存表;依該對照暫存表修改各該硬盤信息表;及依各該硬盤信息表重建一分區(qū)對照表。
根據(jù)上述構(gòu)想,其中該確認(rèn)各該硬盤信息表是由一硬盤識別模塊來負(fù)責(zé)檢查。
根據(jù)上述構(gòu)想,其中該對照暫存表是當(dāng)各所述硬盤順序發(fā)生變動時才于一內(nèi)存中建立。
根據(jù)上述構(gòu)想,其中該對照暫存表的字段包含一硬盤代號,一廉價磁盤冗余陣列名,一原分區(qū)設(shè)備號,一新分區(qū)設(shè)備號,及一廉價磁盤冗余陣列中的順序。
根據(jù)上述構(gòu)想,其中該對照暫存表用以對照修改各該硬盤信息表的分區(qū)設(shè)備號。
本發(fā)明所揭示的方法,包含了以下步驟首先,硬盤識別模塊會持續(xù)檢查硬盤代號是否有變更?以免發(fā)生數(shù)據(jù)讀取寫入錯誤的情形;假如硬盤因新增、移除、調(diào)換使排列順序發(fā)生改變,而導(dǎo)致計算機(jī)無法正確的讀取寫入數(shù)據(jù),則停止廉價磁盤冗余陣列的運(yùn)行,讀取廉價磁盤冗余陣列的分區(qū)對照表,接著向操作系統(tǒng)索取各硬盤上新的分區(qū)設(shè)備號,建立新舊分區(qū)設(shè)備號的對照暫存表。
由廉價磁盤冗余陣列建立模塊根據(jù)對照暫存表修改各硬盤的硬盤信息表所記錄的分區(qū)設(shè)備號,廉價磁盤冗余陣列修復(fù)模塊根據(jù)修改后的硬盤信息表上所記錄的分區(qū)設(shè)備號,修改廉價磁盤冗余陣列的分區(qū)對照表的分區(qū)設(shè)備號,使硬盤與廉價磁盤冗余陣列能正確的對應(yīng),最后,當(dāng)分區(qū)設(shè)備號皆按對照暫存表更新完畢后,廉價磁盤冗余陣列便可恢復(fù)正常的運(yùn)作。
圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明的方法流程圖;圖3為本發(fā)明的一實施例的對照暫存表;圖4a為本發(fā)明的一實施例的原硬盤信息表;圖4b為本發(fā)明的一實施例的新硬盤信息表;圖5a為本發(fā)明的一實施例的原分區(qū)對照表;及圖5b為本發(fā)明的一實施例的新分區(qū)對照表。
其中,附圖標(biāo)記說明如下100廉價磁盤冗余陣列建立模塊110硬盤識別模塊120對照暫存表130廉價磁盤冗余陣列修復(fù)模塊140硬盤組150多個硬盤信息表160分區(qū)對照表170廉價磁盤冗余陣列180操作系統(tǒng)步驟200檢查硬盤代號是否有變更?步驟210停止廉價磁盤冗余陣列運(yùn)行步驟220讀取分區(qū)對照表步驟230向操作系統(tǒng)索取新的分區(qū)設(shè)備號步驟240建立對照暫存表步驟250依對照暫存表修改硬盤信息表步驟260依硬盤信息表重建分區(qū)對照表
具體實施例方式
請參照圖1,此為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖,可將硬盤組140構(gòu)建成一廉價磁盤冗余陣列170,而本系統(tǒng)主要包含(A)廉價磁盤冗余陣列建立模塊100;(B)硬盤識別模塊110;(C)對照暫存表120;及(D)廉價磁盤冗余陣列修復(fù)模塊130?,F(xiàn)就其功能,分別詳細(xì)說明如下(A)廉價磁盤冗余陣列建立模塊100用以將多個硬盤所集合的硬盤組140,構(gòu)建成一廉價磁盤冗余陣列170,并分別在其內(nèi)部的硬盤信息表150中,記錄由操作系統(tǒng)(O.S.,operating system)180所賦予的分區(qū)設(shè)備號;其中,各個硬盤信息表150儲存在各硬盤的一保留數(shù)據(jù)區(qū)域中,其內(nèi)部所記錄的字段信息請參照圖4a或圖4b,此為硬盤信息表150的字段組成,包含一硬盤代號,一廉價磁盤冗余陣列名,一分區(qū)設(shè)備號,及一廉價磁盤冗余陣列中的順序。
現(xiàn)以硬盤1中所記錄的硬盤信息表150為例來作說明,其中第一行的內(nèi)容“硬盤1”,即為該硬盤的硬盤代號是“硬盤1”,用以代表該硬盤。
第二行的內(nèi)容“卷1”意味該硬盤屬于該整合成的廉價磁盤冗余陣列170內(nèi)部的第一個卷;第三行的標(biāo)示“17”是由操作系統(tǒng)在讀取硬盤時就已賦予的分區(qū)設(shè)備號,廉價磁盤冗余陣列170可根據(jù)該分區(qū)設(shè)備號找到該分區(qū);最后一行內(nèi)所填的“1”表示該硬盤在廉價磁盤冗余陣列170中所被賦予的順序,并不因為硬盤的順序改變而改變。
(B)硬盤識別模塊110,用以讀取各硬盤信息表150中所記錄的信息;當(dāng)廉價磁盤冗余陣列建立模塊100將硬盤組140,構(gòu)建成一廉價磁盤冗余陣列170時,會在每一硬盤數(shù)據(jù)儲存區(qū)域中,選取一保留數(shù)據(jù)區(qū)域存放硬盤信息表150,內(nèi)容記載各硬盤的分區(qū)設(shè)備號,及屬于廉價磁盤冗余陣列170中的第幾卷,順序排列為何的種種廉價磁盤冗余陣列分區(qū)信息。
(C)對照暫存表120,當(dāng)硬盤識別模塊110發(fā)現(xiàn)硬盤的順序發(fā)生改變時,便開始建立本表,以儲存各硬盤的分區(qū)設(shè)備號上的改變;硬盤識別模塊110在按廉價磁盤冗余陣列的分區(qū)對照表160至各該硬盤進(jìn)行數(shù)據(jù)的讀取寫入時,發(fā)現(xiàn)與硬盤信息表不符合后,按分區(qū)對照表160的硬盤順序記錄其分區(qū)設(shè)備號于本表中,并向操作系統(tǒng)180索取于硬盤順序變更后,所重新賦予各硬盤的新分區(qū)設(shè)備號,并按硬盤代號及廉價磁盤冗余陣列名填入本表中,以作為硬盤信息表150與分區(qū)對照表160的對應(yīng)修改。
請參照圖3,此為對照暫存表120及其組成,包含一硬盤代號,一廉價磁盤冗余陣列名,用以記錄該硬盤分區(qū)屬于廉價磁盤冗余陣列170中的第幾卷,一原分區(qū)設(shè)備號,一新分區(qū)設(shè)備號,在硬盤順序變動前后由操作系統(tǒng)所賦予的,讓廉價磁盤冗余陣列170由分區(qū)設(shè)備號能找到所要的數(shù)據(jù),及一廉價磁盤冗余陣列中的順序,代表該磁盤于廉價磁盤冗余陣列170中的順序。
(D)廉價磁盤冗余陣列修復(fù)模塊130,用以當(dāng)對照暫存表120被建立,而使廉價磁盤冗余陣列建立模塊100根據(jù)對照暫存表120修改發(fā)現(xiàn)硬盤信息表150中的分區(qū)設(shè)備號完成后,按照各硬盤上重新修改完成的廉價磁盤冗余陣列分區(qū)信息,再次建立廉價磁盤冗余陣列上的分區(qū)對照表160。
本發(fā)明所揭示的方法,包含了以下步驟請參照圖2,首先,硬盤識別模塊110會檢查硬盤信息表150的硬盤代號是否有變更?(步驟200),以免發(fā)生數(shù)據(jù)讀取寫入錯誤的情形;假如硬盤組140因新增、移除、調(diào)換使排列順序發(fā)生改變,而導(dǎo)致計算機(jī)無法正確的讀取寫入數(shù)據(jù),則停止廉價磁盤冗余陣列170的運(yùn)行(步驟210),由硬盤識別模塊110自廉價磁盤冗余陣列170中讀取分區(qū)對照表160的硬盤順序及其分區(qū)設(shè)備號(步驟220)。
接著,由向操作系統(tǒng)180索取其因為硬盤的順序變動而重新賦予各硬盤的新分區(qū)設(shè)備號(步驟230);根據(jù)所得的新舊分區(qū)設(shè)備號,建立一新舊分區(qū)設(shè)備號的對照暫存表120(步驟240);然后,按對照暫存表120中所記載的硬盤代號及其對應(yīng)的新分區(qū)設(shè)備號,修改各硬盤的硬盤信息表150(步驟250);最后,利用修改完成的硬盤信息表150,由廉價磁盤冗余陣列修復(fù)模塊130重建廉價磁盤冗余陣列170的分區(qū)對照表160(步驟260),使硬盤與廉價磁盤冗余陣列170得到一正確的對應(yīng),分區(qū)設(shè)備號的統(tǒng)一也使數(shù)據(jù)能夠正確的讀取。
請參照圖3、圖4a、圖4b、圖5a及圖5b,以舉一三個硬盤作廉價磁盤冗余陣列170的實施例說明,當(dāng)硬盤識別模塊110根據(jù)分區(qū)對照表160要讀取數(shù)據(jù)時,發(fā)現(xiàn)硬盤組140的分區(qū)設(shè)備號發(fā)生改變,隨即停止廉價磁盤冗余陣列170的系統(tǒng)運(yùn)作,讀取圖5a的原分區(qū)對照表160的硬盤代號“硬盤1”、“硬盤2”、及“硬盤3”,以及對應(yīng)原分區(qū)設(shè)備號“17”、“33”、及“49”,并向操作系統(tǒng)索取對應(yīng)的新分區(qū)設(shè)備號“49”、“17”、及“33”,用以建立如圖3所示的對照暫存表120,建立完成后,則按對照暫存表120修改各硬盤的硬盤信息表150,如圖4a所示為各硬盤的原硬盤信息表150,對照修改后變成圖4b;最后,再根據(jù)各硬盤的硬盤信息表150重新建立如圖5b所示的新分區(qū)對照表160,則廉價磁盤冗余陣列170即可重新恢復(fù)運(yùn)行。
雖然本發(fā)明以前述的較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),可作些許更動與潤飾,因此本發(fā)明的專利保護(hù)范圍須視本說明書所附的權(quán)利要求書所界定為準(zhǔn)。
權(quán)利要求
1.一種計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別系統(tǒng),其特征在于該系統(tǒng)具有一對照暫存表,儲存了多個硬盤在順序變動前與變動后的多個分區(qū)設(shè)備號改變的對照;一硬盤識別模塊,用以讀取多個硬盤信息表中所記錄的多個廉價磁盤冗余陣列分區(qū)信息,并于硬盤順序改變時,開始建立該對照暫存表;一廉價磁盤冗余陣列建立模塊,用以將多個硬盤構(gòu)建成一廉價磁盤冗余陣列,并在各該硬盤中記錄各所述硬盤信息表,及在硬盤順序發(fā)生改變時,按該對照暫存表修改各所述硬盤的硬盤信息表中廉價磁盤冗余陣列分區(qū)信息;及一廉價磁盤冗余陣列修復(fù)模塊,用以當(dāng)該硬盤識別模塊發(fā)現(xiàn)硬盤順序發(fā)生改變時,根據(jù)修改后的各所述硬盤信息表中的各所述分區(qū)設(shè)備號重新構(gòu)建該分區(qū)對照表。
2.如權(quán)利要求1所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別系統(tǒng),其特征在于該對照暫存表當(dāng)各所述硬盤順序發(fā)生變動時才于一內(nèi)存中建立。
3.如權(quán)利要求1所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別系統(tǒng),其特征在于該對照暫存表的字段包含一硬盤代號,一廉價磁盤冗余陣列名,一原分區(qū)設(shè)備號,一新分區(qū)設(shè)備號,及一廉價磁盤冗余陣列中的順序。
4.如權(quán)利要求1所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別系統(tǒng),其特征在于該對照暫存表用以對照修改各該硬盤信息表的分區(qū)設(shè)備號。
5.一種計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別方法,其特征在于該方法包含下列步驟確認(rèn)多個硬盤信息表中,有一個以上的硬盤代號有變更;停止該廉價磁盤冗余陣列的運(yùn)行;讀取各該分區(qū)對照表;向一操作系統(tǒng)索取多個新分區(qū)設(shè)備號;建立一對照暫存表;依該對照暫存表修改各該硬盤信息表;及依各該硬盤信息表重建一分區(qū)對照表。
6.如權(quán)利要求5所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別方法,其特征在于該確認(rèn)各該硬盤信息表是由一硬盤識別模塊來負(fù)責(zé)檢查。
7.如權(quán)利要求5所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別方法,其特征在于該對照暫存表是當(dāng)各所述硬盤順序發(fā)生變動時才于一內(nèi)存中建立。
8.如權(quán)利要求7所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別方法,其特征在于該對照暫存表的字段包含一硬盤代號,一廉價磁盤冗余陣列名,一原分區(qū)設(shè)備號,一新分區(qū)設(shè)備號,及一廉價磁盤冗余陣列中的順序。
9.如權(quán)利要求5所述的計算機(jī)可執(zhí)行的廉價磁盤冗余陣列中硬盤重新識別方法,其特征在于該對照暫存表用以對照修改各該硬盤信息表的分區(qū)設(shè)備號。
全文摘要
本發(fā)明涉及一種計算機(jī)可執(zhí)行的廉價磁盤冗余陣列(RAID,Redundant Array of Inexpensive Disks)中硬盤重新識別的系統(tǒng)及其方法,該系統(tǒng)具有一對照暫存表、一硬盤識別模塊、一廉價磁盤冗余陣列建立模塊,及一廉價磁盤冗余陣列修復(fù)模塊,當(dāng)廉價磁盤冗余陣列因為硬盤的搬移、新增、順序調(diào)換等因素,造成計算機(jī)存取上發(fā)生錯誤。通過本系統(tǒng)對硬盤重新識別,建立一對照暫存表,用以修改各硬盤上的硬盤信息表(superblock),并進(jìn)而修改廉價磁盤冗余陣列控制模塊中的分區(qū)對照表,使硬盤與廉價磁盤冗余陣列的排列對應(yīng)關(guān)系可以重新建立,以維持廉價磁盤冗余陣列的正常運(yùn)行。
文檔編號G06F3/06GK1808366SQ20051000465
公開日2006年7月26日 申請日期2005年1月21日 優(yōu)先權(quán)日2005年1月21日
發(fā)明者宋建福, 劉文涵, 陳蘊(yùn)弘 申請人:英業(yè)達(dá)股份有限公司