本申請公開了一種獨立冗余磁盤陣列(RAID)的重建方法,包括:A、RAID系統的控制器發現該RAID系統中的第一磁盤無法響應IO操作,單獨關閉第一磁盤的電源,并啟動一預定時長的定時器;B、在所述定時器計時期間,RAID系統進行正常讀寫操作,并記錄在此期間發生過寫操作的所有條帶號;C、所述定時器超時,開啟第一磁盤的電源,給第一磁盤上電;D、第一磁盤上電之后,對第一磁盤做進行讀寫測試操作;E、判斷第一磁盤是否讀寫正常,若是,執行F,否則執行步驟G;F、根據第一磁盤斷電期間記錄的發生過寫操作的所有條帶號,恢復第一磁盤對應條帶中數據,恢復完畢后結束本流程;G、將第一磁盤標記為壞盤,將作為熱備盤的第二磁盤替換第一磁盤,根據RAID系統中其他磁盤的數據及奇偶校驗進行計算,將計算的結果寫入所述第二磁盤中。
【技術實現步驟摘要】
本申請涉及計算機存儲
,特別涉及獨立冗余磁盤陣列(RedundantArrayoflndependent Disks, RAID)技術,尤其涉及。
技術介紹
RAID是一種把多塊獨立的磁盤按不同的方式組合起來形成一個磁盤組(邏輯磁盤),從而提供比單個磁盤更高的存儲性能和提供數據冗余保護的技術。RAID技術的原理,就是把數據和相對應的奇偶校驗信息存儲到組成RAID系統的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID系統的一個磁盤數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。作為網絡存儲系統的基礎和關鍵部件,RAID以其快速、海量和高可靠性的特點而著稱。RAID技術出現后,在工業、軍事、教育等各個領域的應用需求十分廣泛,對RAID技術的研究也一直是行業熱點。組成磁盤陣列的不同方式稱為RAID級別(RAID Levels)。比如常見的RAID級別有RAIDO,RAID1, RAID5, RAID6等。不同的RAID級別提供不同的數據保護方案。以4塊磁盤組成的RAID5為例,只允許有一塊硬盤出現故障,一塊磁盤出現故障時,RAID5就不具備數據冗余保護功能了,所以出現故障盤時需要盡快更換。當更換故障硬盤后,磁盤控制器會利用正常磁盤上的數據及奇偶校驗進行計算,將計算的結果寫入更換后的新磁盤上,這個過程叫做RAID的重建。重建的目的是為了讓RAID重新具有數據冗余保護功能。在出現RAID的磁盤故障時,磁盤陣列廠商普遍使用熱備盤技術來實現RAID的自動重建。熱備盤技術,簡單來說,就是在創建RAID系統時,為該RAID指定一塊磁盤作為熱備盤,當RAID系統的某塊成員磁盤發生故障時,熱備盤能夠自動替換故障磁盤,觸發RAID重建。顧名思義,“熱”備盤在替換故障磁盤時,不需要中斷RAID系統上的讀寫業務,即RAID系統重建時,仍然可以進行對該RAID系統進行讀寫操作。現有技術中,當上層的輸入輸出(IO)請求不能被RAID系統的某個成員盤響應時,一般都會認為該成員盤已經失效,RAID系統會自動啟動重建過程。RAID系統的重建操作開銷大、周期長,影響正常的數據IO的性能,并且一般在重建期間,如果有另外的磁盤失效,RAID系統會直接崩潰,進而讓RAID系統非常脆弱,因此應當盡量避免啟動重建操作。
技術實現思路
本申請提供了一種RAID的重建方法,可以盡可能減少進行RAID重建的幾率。本申請實施例提供的一種RAID的重建方法,包括A、RAID系統的控制器發現該RAID系統中的第一磁盤無法響應IO操作,單獨關閉第一磁盤的電源,并啟動一預定時長的定時器;B、在所述定時器計時期間,RAID系統進行正常讀寫操作,并記錄在此期間發生過寫操作的所有條帶號;C、所述定時器超時,開啟第一磁盤的電源,給第一磁盤上電;D、第一磁盤上電之后,對第一磁盤做進行讀寫測試操作;E、判斷第一磁盤是否讀寫正常,若是,執行F,否則執行步驟G ;F、根據第一磁盤斷電期間記錄的發生過寫操作的所有條帶號,恢復第一磁盤對應條帶中數據,恢復完畢后結束本流程;G、將第一磁盤標記為壞盤,將作為熱備盤的第二磁盤替換第一磁盤,根據RAID系統中其他磁盤的數據及奇偶校驗進行計算,將計算的結果寫入所述第二磁盤中。較佳地,所述讀寫測試操作包括D1、檢查第一磁盤是否在線且已經被驅動加載到操作系統中,如果不在線則第一磁盤是壞盤;如果在線繼續執行步驟D2 ;D2、對這個磁盤發送“TEST UNIT READY”這個SCSI命令檢查磁盤是否準備好可以讀寫;如果不可以讀寫則磁盤是壞盤;如果可以執行步驟D3 ;D3、把操作系統中記錄的第一磁盤對應的RAID元數據寫到該磁盤對應元數據的位置,如果寫失敗,則判定第一磁盤是壞盤,如果寫成功繼續執行步驟D4 ;D4、對第一磁盤RAID元數據做讀操作,如果讀成功則第一磁盤確認為好盤,讀失敗則判定第一磁盤是壞盤。從以上技術方案可以看出,當RAID系統的某個磁盤無法響應IO操作時,首先對其進行下電處理,在下電期間,允許應用層對RAID進行正常讀寫,并在此期間內發生寫操作的所有條帶號;然后對該磁盤進行上電處理,測試其是否能夠正常讀寫,若是,根據記錄的發生過寫操作的所有條帶號,開始恢復該磁盤對應條帶中數據;否則,將該磁盤標記為壞盤,并啟動常規的重建過程。通過這種方式在大多數情況下可以使RAID系統的磁盤恢復正常而無需進行重建操作。附圖說明圖1為本申請實施例提供的流程圖。具體實施例方式絕大多數情況下,上層的IO請求不能被RAID系統的某個成員盤響應,并非作為該成員盤的磁盤真正損壞了。據磁盤制作商Seagate公司統計,磁盤不能響應IO請求時,95%的情況是因為固件、校驗之類的軟件錯誤導致的,這些情況可以通過簡單修復操作使磁盤仍然有效;只有5%的情況下,是由于磁盤真正發生損壞。因此,如果在磁盤并沒有真正損壞的情況下,就對RAID系統啟動重建過程,會極大提高RAID系統的使用和維護成本。本申請提供了,其基本思想是在RAID系統的每個磁盤槽位接口上提供了控制磁盤實現單獨下、上電的電路;當RAID系統的某個磁盤無法響應IO操作時,首先對其進行下電處理,在下電期間,允許應用層對RAID進行正常讀寫,并在此期間內發生寫操作的所有條帶號;然后對該磁盤進行上電處理,測試其是否能夠正常讀寫,若是,根據記錄的發生過寫操作的所有條帶號,開始恢復該磁盤對應條帶中數據;否則,將該磁盤標記為壞盤,并啟動常規的重建過程。為使本申請技術方案的技術原理、特點以及技術效果更加清楚,以下結合具體實施例對本申請技術方案進行詳細闡述。本申請實施例提供的流程如圖1所示,包括如下步驟步驟101 =RAID系統的控制器發現該RAID系統中的某塊磁盤無法響應IO操作,單獨關閉該磁盤的電源,讓該磁盤斷電,并啟動一預定時長的定時器。以下將該磁盤稱為第一磁盤。步驟102 :在所述定時器計時期間(即第一磁盤斷電期間),RAID系統進行正常讀寫操作,并記錄在此期間發生過寫操作的所有條帶號。步驟103 :所述定時器超時,開啟第一磁盤的電源,給第一磁盤上電。步驟104 :第一磁盤上電之后,對第一磁盤做進行讀寫測試操作。本申請實施例中,讀寫測試做以下操作D1、檢查第一磁盤是否在線且已經被驅動加載到操作系統中,如果不在線則第一磁盤是壞盤;如果在線繼續執行步驟D2 ;D2、對這個磁盤發送“TEST UNIT READY”這個SCSI命令檢查磁盤是否準備好可以讀寫;如果不可以讀寫則磁盤是壞盤;如果可以執行步驟D3 ;D3、把操作系統中記錄的第一磁盤對應的RAID元數據寫到該磁盤對應元數據的位置,如果寫失敗,則判定第一磁盤是壞盤,如果寫成功繼續執行步驟D4 ;D4、對第一磁盤RAID元數據做讀操作,如果讀成功則第一磁盤確認為好盤,讀失敗則判定第一磁盤是壞盤。步驟105 :判斷第一磁盤是否讀寫正常,若是,執行步驟106,否則執行步驟107。步驟106 :根據第一磁盤斷電期間記錄的發生過寫操作的所有條帶號,恢復第一磁盤對應條帶中數據,恢復完畢后結束本流程。步驟107 :將第一磁盤標記為壞盤,將作為熱備盤的第二磁盤替換第一磁盤,根據RAID系統中其他磁盤的數據及奇偶校驗進行計算,本文檔來自技高網...
【技術保護點】
一種獨立冗余磁盤陣列RAID的重建方法,其特征在于,包括:A、RAID系統的控制器發現該RAID系統中的第一磁盤無法響應IO操作,單獨關閉第一磁盤的電源,并啟動一預定時長的定時器;B、在所述定時器計時期間,RAID系統進行正常讀寫操作,并記錄在此期間發生過寫操作的所有條帶號;C、所述定時器超時,開啟第一磁盤的電源,給第一磁盤上電;D、第一磁盤上電之后,對第一磁盤做進行讀寫測試操作;E、判斷第一磁盤是否讀寫正常,若是,執行F,否則執行步驟G;F、根據第一磁盤斷電期間記錄的發生過寫操作的所有條帶號,恢復第一磁盤對應條帶中數據,恢復完畢后結束本流程;G、將第一磁盤標記為壞盤,將作為熱備盤的第二磁盤替換第一磁盤,根據RAID系統中其他磁盤的數據及奇偶校驗進行計算,將計算的結果寫入所述第二磁盤中。
【技術特征摘要】
1.一種獨立冗余磁盤陣列RAID的重建方法,其特征在于,包括A、RAID系統的控制器發現該RAID系統中的第一磁盤無法響應IO操作,單獨關閉第一磁盤的電源,并啟動一預定時長的定時器;B、在所述定時器計時期間,RAID系統進行正常讀寫操作,并記錄在此期間發生過寫操作的所有條帶號;C、所述定時器超時,開啟第一磁盤的電源,給第一磁盤上電;D、第一磁盤上電之后,對第一磁盤做進行讀寫測試操作;E、判斷第一磁盤是否讀寫正常,若是,執行F,否則執行步驟G;F、根據第一磁盤斷電期間記錄的發生過寫操作的所有條帶號,恢復第一磁盤對應條帶中數據,恢復完畢后結束本流程;G、將第一磁盤標記為壞盤,將作為熱備盤的第二磁盤替換第一磁盤,根據RAID系統中其...
【專利技術屬性】
技術研發人員:金振成,
申請(專利權)人:創新科存儲技術深圳有限公司,創新科存儲技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。