一種raid5磁盤陣列中壞扇區(qū)處理的方法和裝置制造方法
【專利摘要】本發(fā)明提供一種RAID5磁盤陣列中壞扇區(qū)處理的方法和裝置,屬于數(shù)據(jù)容錯存儲【技術(shù)領(lǐng)域】,本發(fā)明RAID5磁盤陣列增加一塊預(yù)留盤,陣列位圖標(biāo)示磁盤的壞扇區(qū)。讀寫遇到壞扇區(qū),將壞扇區(qū)數(shù)據(jù)轉(zhuǎn)移到預(yù)留盤的同等位置,并置位位圖;位圖掃描遇到壞扇區(qū),讀寫操作從預(yù)留盤的同等位置上讀取。由此提高RAID5陣列的存儲性能和可靠性。
【專利說明】—種RAID5磁盤陣列中壞扇區(qū)處理的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)容錯存儲技術(shù),尤其涉及到RAID5磁盤陣列中壞扇區(qū)掉盤修復(fù)和快速重構(gòu)的方法和裝置。
【背景技術(shù)】
[0002]RAID技術(shù)就是利用容量比較小的磁盤按一定的規(guī)則組成一個大容量的磁盤陣列向外提供存儲資源,RAID (Redundant Array of Independent Disks)就被稱為獨(dú)立冗余磁盤陣列。
[0003]使用RAID的主要目有:
(1)對磁盤上的數(shù)據(jù)進(jìn)行冗余存儲,實(shí)現(xiàn)容錯功能;
(2)有I/O請求時,可以對磁盤進(jìn)行并發(fā)訪問,提高吞吐率。
[0004]RAID5支持冗余,在陣列中的所有磁盤上都存儲檢驗(yàn)信息,其校驗(yàn)和技術(shù)是在磁盤條帶中采用異或校驗(yàn),被稱作為“采用塊交叉訪問及校驗(yàn)信息均勻分布”模式。
[0005]條帶是RAID成員盤的存儲空間被劃分為大小相等的小空間。
[0006]異或運(yùn)算特征為A ? B = C ==> BffiC = A, AffiC = B;
因此如果A、B為數(shù)據(jù)塊,C為校驗(yàn)塊,當(dāng)B所在的盤失效后,能夠通過A和C異或校驗(yàn)計算出B。這是RAID5容錯的最基本原理,可以容忍一塊磁盤故障。
[0007]RAID5讀寫操作是以條帶為基本單位,條帶的寬度為4KB,條帶的長度為成員磁盤個數(shù)。對于條帶中磁盤數(shù)據(jù)的寫操作,都要更新校驗(yàn)盤數(shù)據(jù),以確保條帶數(shù)據(jù)的一致性。
[0008]目前RAID5讀寫操作遇到壞扇區(qū)的時候,將有壞扇區(qū)的磁盤從RAID5磁盤陣列中剔除,RAID5降級失去容錯能力,此時熱備盤頂上去,整個RAID5陣列全盤做重構(gòu)操作,通過其他數(shù)據(jù)盤的異或校驗(yàn)得到被剔除盤上的數(shù)據(jù),寫入熱備盤中,重構(gòu)完成后,熱備盤替換剔除盤,整個RAID5陣列又恢復(fù)了容錯機(jī)制。但是,RAID5陣列在做全盤重構(gòu)的時候,相當(dāng)于將整個陣列空間的數(shù)據(jù)全部做了一遍同步校驗(yàn),整個工作比較耗時耗力,不但影響陣列的讀寫性能,如果在重構(gòu)過程中,又遇到一塊磁盤有壞扇區(qū),會將此壞扇區(qū)的磁盤從RAID5陣列中剔除,導(dǎo)致RAID5掉兩塊盤,整個陣列失效,所有的數(shù)據(jù)會丟失。
[0009]RAID5的熱備盤全盤重構(gòu)操作,不但影響陣列讀寫性能,而且影響陣列的可靠性。
【發(fā)明內(nèi)容】
[0010]本發(fā)明實(shí)施提出一種RAID5磁盤陣列中壞扇區(qū)處理的方法和裝置,可有效的減少RAID5熱備盤全盤重構(gòu)帶來的性能影響,和快速的恢復(fù)出壞扇區(qū)上的數(shù)據(jù)。本發(fā)明實(shí)施例還提供了相應(yīng)的裝置。
[0011]本發(fā)明第一方面提供一種RAID5磁盤陣列中壞扇區(qū)處理的方法,包括:
URAID5磁盤陣列支持(X+1)塊硬盤,X為數(shù)據(jù)盤的數(shù)量,I為壞扇數(shù)據(jù)轉(zhuǎn)移預(yù)留盤。
[0012]2.RAID5位圖標(biāo)記記錄磁盤中哪塊區(qū)域是壞扇區(qū)。
[0013]3、對RAID5進(jìn)行讀寫操作之前,先檢查此區(qū)域的位圖標(biāo)示,如果位圖無標(biāo)示,就進(jìn)入正常讀寫操作。
[0014]4、當(dāng)讀操作遇到一磁盤壞扇區(qū),用位圖標(biāo)記此區(qū)域?yàn)閴纳葏^(qū),通過RAID5的條帶異或運(yùn)算,校驗(yàn)出壞扇區(qū)上的數(shù)據(jù),將此數(shù)據(jù)寫入預(yù)留盤的同等位置。
[0015]5、當(dāng)寫操作遇到一磁盤壞扇區(qū),用位圖標(biāo)記此區(qū)域?yàn)閴纳葏^(qū),將要寫的數(shù)據(jù)寫入預(yù)留盤的同等位置。
[0016]6、當(dāng)檢查位圖區(qū)域有標(biāo)示,就從預(yù)留盤同位置讀取進(jìn)行讀寫操作。
[0017]本發(fā)明第二方面提供一種RAID5磁盤陣列中壞扇區(qū)處理的裝置,包括:
1)、RAID5磁盤陣列由數(shù)據(jù)盤和預(yù)留盤組成;
2)、位圖掃描單元,負(fù)責(zé)在讀寫操作之前,掃描位圖標(biāo)示,當(dāng)遇到壞扇區(qū)的時候,置位位圖標(biāo)示;
3)、數(shù)據(jù)遷移單元,當(dāng)讀寫遇到壞扇區(qū)的時候,將校驗(yàn)的到的數(shù)據(jù)或者將要寫的數(shù)據(jù)遷移到預(yù)留盤同等位置。
【專利附圖】
【附圖說明】
[0018]圖1是RAID5結(jié)構(gòu)圖。
[0019]圖2是RAID5壞扇區(qū)處理方法不意圖。
【具體實(shí)施方式】
[0020]下面對本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:
本發(fā)明實(shí)施例提供一種RAID5磁盤陣列中壞扇區(qū)處理的方法,可在RAID5陣列遇到壞扇區(qū)的時候,不剔除壞扇區(qū)的硬盤,不進(jìn)行熱備盤重構(gòu),將壞扇區(qū)數(shù)據(jù)轉(zhuǎn)移到預(yù)留盤的同等位置,并屏蔽次壞扇區(qū)操作,減少了 RAID5熱備盤重構(gòu)帶來的性能損耗和增加了陣列的可靠性。
[0021]其操作步驟為:
RAID5磁盤陣列在創(chuàng)建的時候,加入一塊用于壞扇區(qū)轉(zhuǎn)移的預(yù)留磁盤,位圖區(qū)域用于標(biāo)示RAID5磁盤陣列的壞扇區(qū),當(dāng)對RAID5進(jìn)行讀寫的時候,位圖掃描單元先掃描位圖區(qū)域,查看標(biāo)示:
1、如果此讀寫區(qū)域沒有標(biāo)示,就直接讀寫操作;
當(dāng)讀操作遇到壞扇區(qū)的時候,位圖掃描單元將此區(qū)域?qū)?yīng)的位圖置位,并通過條帶校驗(yàn)得到壞扇區(qū)上的數(shù)據(jù),并將數(shù)據(jù)寫入預(yù)留盤的同等位置上。當(dāng)寫操作遇到扇區(qū)的時候,位圖掃描單元將此區(qū)域?qū)?yīng)的位圖置位,并將要寫的數(shù)據(jù)寫入預(yù)留盤同等位置上;
2、如果此讀寫區(qū)域有標(biāo)示,就從預(yù)留磁盤的同等位置上讀寫數(shù)據(jù)。
【權(quán)利要求】
1.一種RAID5磁盤陣列中壞扇區(qū)處理的方法,其特征在于,包括: RAID5磁盤陣列中含有1塊為壞扇數(shù)據(jù)轉(zhuǎn)移預(yù)留盤; RAID5位圖標(biāo)記記錄磁盤中哪塊區(qū)域是壞扇區(qū); 對RAID5進(jìn)行讀寫操作之前,先檢查此區(qū)域的位圖標(biāo)示,如果位圖無標(biāo)示,就進(jìn)入正常讀寫操作; 當(dāng)讀操作遇到一磁盤壞扇區(qū),用位圖標(biāo)記此區(qū)域?yàn)閴纳葏^(qū),通過RAID5的條帶異或運(yùn)算,校驗(yàn)出壞扇區(qū)上的數(shù)據(jù),將此數(shù)據(jù)寫入預(yù)留盤的同等位置; 當(dāng)寫操作遇到一磁盤壞扇區(qū),用位圖標(biāo)記此區(qū)域?yàn)閴纳葏^(qū),將要寫的數(shù)據(jù)寫入預(yù)留盤的同等位置; 當(dāng)檢查位圖區(qū)域有標(biāo)示,就從預(yù)留盤同位置讀取進(jìn)行讀寫操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, RAID5磁盤陣列的含有X+1塊硬盤,X為數(shù)據(jù)盤數(shù)量,1為壞扇數(shù)據(jù)轉(zhuǎn)移 預(yù)留盤。
3.根據(jù)權(quán)利1的要求,其特征在于,還包括: RAID5位圖存在于每個成員盤的末尾,用于標(biāo)不此成員盤對應(yīng)的壞扇區(qū)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于, RAID5讀寫操作之前先掃描位圖區(qū)域,讀寫區(qū)域?qū)?yīng)的位圖是1,表明此區(qū)域?yàn)閴纳葏^(qū),如果位圖是0,表明此區(qū)域?yàn)檎I葏^(qū)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于, 讀寫遇壞扇區(qū)的處理流程:當(dāng)讀RAID5操作遇到壞扇區(qū),標(biāo)示對應(yīng)區(qū)域的位圖,并異或校驗(yàn)壞扇區(qū)上的數(shù)據(jù),并將此數(shù)據(jù)轉(zhuǎn)移到預(yù)留磁盤對等區(qū)域;當(dāng)寫操作遇到一磁盤壞扇區(qū),用位圖標(biāo)記此區(qū)域?yàn)閴纳葏^(qū),將要寫的數(shù)據(jù)寫入預(yù)留盤的對等區(qū)域。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于, 位圖掃描到壞扇區(qū)的處理流程:當(dāng)檢查位圖區(qū)域有標(biāo)示,就從預(yù)留盤同位置讀取進(jìn)行讀寫操作。
7.一種RAID5磁盤陣列中壞扇區(qū)處理的裝置,其特征在于,包括: (1)、RAID5磁盤陣列,由數(shù)據(jù)盤和預(yù)留盤組成; (2)、位圖掃描單元,負(fù)責(zé)在讀寫操作之前,掃描位圖標(biāo)示,當(dāng)遇到壞扇區(qū)的時候,置位位圖標(biāo)示; (3)、數(shù)據(jù)遷移單元,當(dāng)讀寫遇到壞扇區(qū)的時候,將校驗(yàn)的到的數(shù)據(jù)或者將要寫的數(shù)據(jù)遷移到預(yù)留盤同等位置。
【文檔編號】G06F11/16GK104407815SQ201410683240
【公開日】2015年3月11日 申請日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】周耀輝, 趙靜 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司