專利名稱:一種磁盤容錯(cuò)處理方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種磁盤容錯(cuò)處理方法及設(shè)備。
背景技術(shù):
RAID (Redundant Array of Independent Disk,獨(dú)立冗余磁盤陣列)是將N±夬磁盤通過(guò)RAID Controller結(jié)合成虛擬單塊大容量的磁盤使用,提高整體傳輸效率,增強(qiáng)容錯(cuò)。 但是,目前廣泛使用的RAID5,最多只能容忍一塊磁盤損壞,當(dāng)出現(xiàn)兩塊或更多磁盤損壞時(shí), 則整個(gè)RAID5失效,既不能讀,也不能寫。此時(shí),用戶有兩種選擇,要么停下業(yè)務(wù)恢復(fù)數(shù)據(jù), 要么重建RAID5,丟棄既有數(shù)據(jù),導(dǎo)致磁盤無(wú)法繼續(xù)使用。
發(fā)明內(nèi)容
本發(fā)明提供了一種磁盤容錯(cuò)處理方法及設(shè)備,在出現(xiàn)磁盤損壞時(shí)依然能夠使用磁盤存儲(chǔ)數(shù)據(jù)。一種磁盤容錯(cuò)處理方法,每一磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),在所述數(shù)據(jù)區(qū)建立 RAID5,該方法包括當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū);當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址包括在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址寫入建立的獨(dú)立冗余磁盤陣列。所述在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列包括當(dāng)?shù)谝淮纬霈F(xiàn)兩塊以上磁盤故障時(shí),在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;當(dāng)?shù)诙渭昂罄m(xù)出現(xiàn)新的磁盤故障時(shí),在日志區(qū)使用可用磁盤從已用條帶的下一個(gè)條帶開始建立新的獨(dú)立冗余磁盤陣。根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)包括當(dāng)所述日志區(qū)的某一獨(dú)立冗余磁盤陣列的數(shù)據(jù)不完整時(shí),在日志區(qū)保留該獨(dú)立冗余磁盤陣列的數(shù)據(jù)。所述根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)之后,還包括刪除所述日志區(qū)記錄的數(shù)據(jù);
當(dāng)所述日志區(qū)數(shù)據(jù)寫滿、且有新的數(shù)據(jù)需要寫入時(shí),根據(jù)預(yù)設(shè)策略將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)、或者停止向所述日志區(qū)寫入數(shù)據(jù)。所述數(shù)據(jù)區(qū)用戶可見(jiàn),所述日志區(qū)用戶不可見(jiàn),在所述日志區(qū)記錄的數(shù)據(jù)不能直接讀取,需要回滾寫入數(shù)據(jù)區(qū)之后才能正常讀取。所述日志區(qū)占磁盤總存儲(chǔ)空間的10%。一種磁盤容錯(cuò)處理設(shè)備,將磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),在所述數(shù)據(jù)區(qū)建立 RAID5,該設(shè)備包括第一寫入單元,用于當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū);第二寫入單元,用于當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;第三寫入單元,與所述第二寫入單元連接,用于插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。所述第二寫入單元包括陣列建立子單元,用于在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;寫入子單元,用于將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址寫入建立的獨(dú)立冗余磁盤陣列。所述陣列建立子單元具體用于當(dāng)?shù)谝淮纬霈F(xiàn)兩塊以上磁盤故障時(shí),在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;當(dāng)?shù)诙渭昂罄m(xù)出現(xiàn)新的磁盤故障時(shí),在日志區(qū)使用可用磁盤從已用條帶的下一個(gè)條帶開始建立新的獨(dú)立冗余磁盤陣列。所述第三寫入單元具體用于當(dāng)所述日志區(qū)的某一獨(dú)立冗余磁盤陣列的數(shù)據(jù)不完整時(shí),在日志區(qū)保留該獨(dú)立冗余磁盤陣列的數(shù)據(jù)。還包括刪除單元,用于在所述第三寫入單元根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)之后,刪除所述日志區(qū)記錄的數(shù)據(jù);所述第三寫入單元還用于當(dāng)所述日志區(qū)數(shù)據(jù)寫滿、且有新的數(shù)據(jù)需要寫入時(shí),根據(jù)預(yù)設(shè)策略將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)、或者停止向所述日志區(qū)寫入數(shù)據(jù)。所述數(shù)據(jù)區(qū)用戶可見(jiàn),所述日志區(qū)用戶不可見(jiàn),在所述日志區(qū)記錄的數(shù)據(jù)不能直接讀取,需要回滾寫入數(shù)據(jù)區(qū)之后才能正常讀取。所述日志區(qū)占磁盤總存儲(chǔ)空間的10 %。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn)當(dāng)兩塊以上磁盤故障時(shí),使用日志區(qū)的可用磁盤建立磁盤陣列,將需要寫入故障磁盤的數(shù)據(jù)塊寫入日志區(qū),使得磁盤能夠繼續(xù)使用。
圖1是本發(fā)明中磁盤的劃分示意圖2是本發(fā)明中正常情況下數(shù)據(jù)的寫入示意圖;圖3是本發(fā)明中磁盤第一次故障情況下數(shù)據(jù)的寫入示意圖;圖4是本發(fā)明中出現(xiàn)新的磁盤故障情況下數(shù)據(jù)的寫入示意圖;圖5和圖6是本發(fā)明中日志區(qū)數(shù)據(jù)的回復(fù)過(guò)程示意圖;圖7和圖8是本發(fā)明提供的磁盤容錯(cuò)處理設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明中,磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),在2塊以上磁盤故障時(shí),將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)寫入日志區(qū),使得磁盤能夠繼續(xù)使用。為了清楚說(shuō)明本發(fā)明提供的方法,下面依次說(shuō)明磁盤的劃分、磁盤故障后數(shù)據(jù)的寫入、以及日志區(qū)數(shù)據(jù)的回復(fù)過(guò)程。1. 1磁盤的劃分磁盤的劃分如圖1所示,所有磁盤劃分成兩個(gè)區(qū)域“數(shù)據(jù)區(qū)”和“日志區(qū)”。其中, 數(shù)據(jù)區(qū)對(duì)用戶可見(jiàn),供用戶建立RAID使用,日志區(qū)用于應(yīng)對(duì)磁盤故障,對(duì)用戶隱藏。日志區(qū)根據(jù)用戶實(shí)際數(shù)據(jù)流量及預(yù)期容錯(cuò)時(shí)間設(shè)定,通常占磁盤總存儲(chǔ)空間的10%左右。需要說(shuō)明,日志區(qū)的大小根據(jù)具體情況進(jìn)行設(shè)置。當(dāng)日志區(qū)數(shù)據(jù)寫滿后,如果沒(méi)有插入新盤,則根據(jù)用戶預(yù)設(shè)策略采取覆蓋寫方式(即將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)) 繼續(xù)在日志區(qū)寫入數(shù)據(jù)、或者停止向日志區(qū)寫入新的數(shù)據(jù)。寫入日志區(qū)的數(shù)據(jù)不能直接讀取,需要回滾(將日志區(qū)數(shù)據(jù)寫入數(shù)據(jù)區(qū))完成后, 才可正常讀取。1. 2磁盤故障后數(shù)據(jù)的寫入首先介紹正常情況下數(shù)據(jù)的寫入如圖2所示,數(shù)據(jù)塊順序?qū)懭氲谝粭l帶的各磁
ο當(dāng)寫到數(shù)據(jù)塊P2時(shí),Disk7、8損壞現(xiàn)有技術(shù)中此時(shí)磁盤不可再用。本發(fā)明中,如圖3所示,在日志區(qū)使用剩余的好盤Diskl、2、3、4、5、6實(shí)時(shí)生成 RAID5,將數(shù)據(jù)塊P2、14以日志的形式存入日志區(qū),該日志形式包括寫入數(shù)據(jù)塊的出錯(cuò)時(shí)間、出錯(cuò)地址和數(shù)據(jù)。同理,后續(xù)的數(shù)據(jù)塊20、21、27、28也以同樣的方式記入日志區(qū)的RAID5中。當(dāng)寫到數(shù)據(jù)塊32時(shí),磁盤5、6又損壞本發(fā)明中,如圖4所示,在日志區(qū)使用剩余的好盤Diski、2、3、4,從已用條帶的下一個(gè)條帶開始,實(shí)時(shí)生成新的RAID5,將數(shù)據(jù)塊32、33、34、35以日志的形式存入其中。同理, 后續(xù)數(shù)據(jù)塊39、40、41、42也以同樣的方式記入日志區(qū)的RAID5中。后續(xù)再發(fā)生磁盤損壞,采用與上述同樣的方式進(jìn)行處理。極限情況下,當(dāng)日志區(qū)可用磁盤數(shù)只有2塊時(shí),生成RAIDl,日志區(qū)可用磁盤只有1塊時(shí)生成JB0D(Just a Bunch Of Disks,磁盤簇)。1. 3日志區(qū)數(shù)據(jù)的回復(fù)過(guò)程插入新盤后,執(zhí)行數(shù)據(jù)恢復(fù)流程根據(jù)寫入日志區(qū)的數(shù)據(jù)塊的出錯(cuò)地址、出錯(cuò)時(shí)間,以時(shí)間先后順序,將數(shù)據(jù)從日志區(qū)拷貝到數(shù)據(jù)區(qū)??截愅瓿珊?,踢出壞盤,刪除日志區(qū)的RAID,如圖5和6所示。其中,對(duì)于數(shù)據(jù)塊P2、14、20、21,由于日志區(qū)的RAID本身數(shù)據(jù)不完整,無(wú)法執(zhí)行恢復(fù)操作。但需要保留該部分?jǐn)?shù)據(jù),直至下一次覆蓋寫條帶2 4時(shí)再刪除,以備特殊情況下的數(shù)據(jù)恢復(fù)。本發(fā)明中,當(dāng)兩塊以上磁盤故障時(shí),使用日志區(qū)的可用磁盤建立磁盤陣列,將需要寫入故障磁盤的數(shù)據(jù)塊寫入日志區(qū),使得磁盤能夠繼續(xù)使用?;谂c上述方法部分相同的技術(shù)構(gòu)思,本發(fā)明提供一種磁盤容錯(cuò)處理設(shè)備,將磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),所述數(shù)據(jù)區(qū)供用戶建立RAID5使用,所述日志區(qū)對(duì)用戶隱藏,如圖7所示,該設(shè)備包括第一寫入單元11,用于當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū);第二寫入單元12,用于當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;第三寫入單元13,與所述第二寫入單元12連接,用于插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。如圖8所示,所述第二寫入單元12包括陣列建立子單元121,用于在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;寫入子單元122,用于將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址寫入建立的獨(dú)立冗余磁盤陣列。所述陣列建立子單元121具體用于當(dāng)?shù)谝淮纬霈F(xiàn)兩塊以上磁盤故障時(shí),在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;當(dāng)?shù)诙渭昂罄m(xù)出現(xiàn)新的磁盤故障時(shí),在日志區(qū)使用可用磁盤從已用條帶的下一個(gè)條帶開始建立新的獨(dú)立冗余磁盤陣列。所述第三寫入單元13具體用于當(dāng)所述日志區(qū)的某一獨(dú)立冗余磁盤陣列的數(shù)據(jù)不完整時(shí),在日志區(qū)保留該獨(dú)立冗余磁盤陣列的數(shù)據(jù)。還包括刪除單元14,用于在所述第三寫入單元13根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)之后,刪除所述日志區(qū)記錄的數(shù)據(jù);相應(yīng)的,所述第三寫入單元13還用于當(dāng)所述日志區(qū)數(shù)據(jù)寫滿、且有新的數(shù)據(jù)需要寫入時(shí),根據(jù)預(yù)設(shè)策略將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)、或者停止向所述日志區(qū)寫入數(shù)據(jù)。所述數(shù)據(jù)區(qū)用戶可見(jiàn),所述日志區(qū)用戶不可見(jiàn),在所述日志區(qū)記錄的數(shù)據(jù)不能直接讀取,需要回滾寫入數(shù)據(jù)區(qū)之后才能正常讀取。所述日志區(qū)占磁盤總存儲(chǔ)空間的10 %。本發(fā)明中,當(dāng)兩塊以上磁盤故障時(shí),使用日志區(qū)的可用磁盤建立磁盤陣列,將需要寫入故障磁盤的數(shù)據(jù)塊寫入日志區(qū),使得磁盤能夠繼續(xù)使用。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種磁盤容錯(cuò)處理方法,其特征在于,每一磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),該方法包括當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū); 當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址包括在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列;將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址寫入建立的獨(dú)立冗余磁盤陣列。
3.如權(quán)利要求2所述的方法,其特征在于,所述在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列包括當(dāng)?shù)谝淮纬霈F(xiàn)兩塊以上磁盤故障時(shí),在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列; 當(dāng)?shù)诙渭昂罄m(xù)出現(xiàn)新的磁盤故障時(shí),在日志區(qū)使用可用磁盤從已用條帶的下一個(gè)條帶開始建立新的獨(dú)立冗余磁盤陣列。
4.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)包括當(dāng)所述日志區(qū)的某一獨(dú)立冗余磁盤陣列的數(shù)據(jù)不完整時(shí),在日志區(qū)保留該獨(dú)立冗余磁盤陣列的數(shù)據(jù)。
5.如權(quán)利要求1-4之一所述的方法,其特征在于,所述根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)之后,還包括刪除所述日志區(qū)記錄的數(shù)據(jù);當(dāng)所述日志區(qū)數(shù)據(jù)寫滿、且有新的數(shù)據(jù)需要寫入時(shí),根據(jù)預(yù)設(shè)策略將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)、或者停止向所述日志區(qū)寫入數(shù)據(jù)。
6.如權(quán)利要求1-4之一所述的方法,其特征在于,所述數(shù)據(jù)區(qū)用戶可見(jiàn),所述日志區(qū)用戶不可見(jiàn),在所述日志區(qū)記錄的數(shù)據(jù)不能直接讀取,需要回滾寫入數(shù)據(jù)區(qū)之后才能正常讀取。
7.如權(quán)利要求1-4之一所述的方法,其特征在于,所述日志區(qū)占磁盤總存儲(chǔ)空間的 10%。
8.—種磁盤容錯(cuò)處理設(shè)備,其特征在于,將磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),該設(shè)備包括 第一寫入單元,用于當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū);第二寫入單元,用于當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;第三寫入單元,與所述第二寫入單元連接,用于插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述第二寫入單元包括陣列建立子單元,用于在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列; 寫入子單元,用于將應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址寫入建立的獨(dú)立冗余磁盤陣列。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述陣列建立子單元具體用于 當(dāng)?shù)谝淮纬霈F(xiàn)兩塊以上磁盤故障時(shí),在日志區(qū)使用可用磁盤建立獨(dú)立冗余磁盤陣列; 當(dāng)?shù)诙渭昂罄m(xù)出現(xiàn)新的磁盤故障時(shí),在日志區(qū)使用可用磁盤從已用條帶的下一個(gè)條帶開始建立新的獨(dú)立冗余磁盤陣列。
11.如權(quán)利要求9所述的設(shè)備,其特征在于,所述第三寫入單元具體用于當(dāng)所述日志區(qū)的某一獨(dú)立冗余磁盤陣列的數(shù)據(jù)不完整時(shí),在日志區(qū)保留該獨(dú)立冗余磁盤陣列的數(shù)據(jù)。
12.如權(quán)利要求8-11之一所述的設(shè)備,其特征在于,還包括刪除單元,用于在所述第三寫入單元根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)之后,刪除所述日志區(qū)記錄的數(shù)據(jù);所述第三寫入單元還用于當(dāng)所述日志區(qū)數(shù)據(jù)寫滿、且有新的數(shù)據(jù)需要寫入時(shí),根據(jù)預(yù)設(shè)策略將新寫入的數(shù)據(jù)覆蓋原記錄的數(shù)據(jù)、或者停止向所述日志區(qū)寫入數(shù)據(jù)。
13.如權(quán)利要求8-11之一所述的設(shè)備,其特征在于,所述數(shù)據(jù)區(qū)用戶可見(jiàn),所述日志區(qū)用戶不可見(jiàn),在所述日志區(qū)記錄的數(shù)據(jù)不能直接讀取,需要回滾寫入數(shù)據(jù)區(qū)之后才能正常讀取。
14.如權(quán)利要求8-11之一所述的設(shè)備,其特征在于,所述日志區(qū)占磁盤總存儲(chǔ)空間的 10%。
全文摘要
本發(fā)明實(shí)施例公開了一種磁盤容錯(cuò)處理方法及設(shè)備,每一磁盤劃分為數(shù)據(jù)區(qū)和日志區(qū),該方法包括當(dāng)沒(méi)有磁盤故障或只有一塊磁盤故障時(shí),將數(shù)據(jù)寫入所述數(shù)據(jù)區(qū);當(dāng)兩塊以上磁盤故障時(shí),在所述日志區(qū)記錄應(yīng)當(dāng)寫入故障磁盤的數(shù)據(jù)、以及出錯(cuò)時(shí)間和/或出錯(cuò)地址;插入新磁盤后,根據(jù)所述日志區(qū)記錄的數(shù)據(jù)、以及數(shù)據(jù)的出錯(cuò)時(shí)間和/或出錯(cuò)地址將數(shù)據(jù)寫入新磁盤的數(shù)據(jù)區(qū)。本發(fā)明中,當(dāng)兩塊以上磁盤故障時(shí),使用日志區(qū)的可用磁盤建立磁盤陣列,將需要寫入故障磁盤的數(shù)據(jù)塊寫入日志區(qū),使得磁盤能夠繼續(xù)使用。
文檔編號(hào)G06F11/07GK102226892SQ20111013159
公開日2011年10月26日 申請(qǐng)日期2011年5月20日 優(yōu)先權(quán)日2011年5月20日
發(fā)明者唐良俊, 巴麗娟, 胡榮國(guó) 申請(qǐng)人:杭州華三通信技術(shù)有限公司