[發明專利]一種RAID5重構中的數據源選擇方法有效
| 申請號: | 201410445171.5 | 申請日: | 2014-09-03 |
| 公開(公告)號: | CN104199623A | 公開(公告)日: | 2014-12-10 |
| 發明(設計)人: | 朱旭東;高春蓉;蘇壽海 | 申請(專利權)人: | 創業軟件股份有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F11/14 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 杜軍 |
| 地址: | 310012 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 raid5 中的 數據源 選擇 方法 | ||
技術領域
本發明屬于數據存儲技術領域,具體涉及一種RAID5重構中的數據源選擇方法。
背景技術
當RAID5中的1塊磁盤損壞時,需要由一塊空白磁盤(spare盤)代替損壞磁盤運行。RAID5管理軟件會通過對剩余正常磁盤上的數據進行計算,得到損壞磁盤上的數據,并復制到spare磁盤上,這一過程稱為RAID5的重構。重構帶來了兩個問題:第一,磁盤容量的迅速增長導致重構時間越來越長。重構需要對正常的磁盤上的所有數據進行讀取并計算。將一個20TB的RAID5重構大概需要數小時,在重負載的情況下甚至會需要數十個小時到數天。在這段時間內RAID運行在降級狀態,數據存儲的可靠性降低,一旦再出現磁盤損壞會造成真正的數據丟失。第二,重構過程由于要訪問正常磁盤,占用了大量的磁盤帶寬和CPU資源,降低了正常的存儲服務性能。
目前一種前沿的RAID5重構方法利用外部存放的備份數據來加速RAID在線重構。云存儲系統為了保證數據的可靠性或者降低存儲成本,會將數據從生產系統復制到備份系統。對備份系統進行額外的存取不影響生產系統的訪問性能。因此在RAID5的磁盤損壞時,可以從備份系統中將部分有效數據復制出來,恢復已損壞磁盤的數據,減少了重構過程對存儲系統中正常磁盤的讀取和計算,從而縮短重構時間,減少重構所需的磁盤訪問負載,從而保證重構期間的視頻流寫入帶寬。
如圖1所示,當RAID5中的磁盤2損壞時,spare代替了磁盤2。此時重構所需要的數據可以來自兩個地方:1.由磁盤0和磁盤1上的數據,可以通過異或操作得到磁盤2上的所有最新數據。2.從備份系統中獲得上一次備份時保存的磁盤2的數據,由于在上次備份之后磁盤2上的數據可能已經改變,備份系統中只有磁盤2上的部分最新數據。
如何在重構過程中合理選擇上述兩個數據源進行重構,是提高重構性能的關鍵問題。
發明內容
本發明的目的就是提供一種RAID5重構中的數據源選擇方法。
RAID5損壞磁盤上的數據過兩個來源進行恢復:(a)RAID5剩余的正常磁盤;(b)備份系統;本發明方法在重構過程中,首先對損壞磁盤上的每一個磁盤塊建立兩個數據源集合,第一數據源集合完全由RAID5剩余正常磁盤上的磁盤塊組成,通過這些磁盤塊計算出損壞磁盤上的這個磁盤塊上的數據;第一數據源集合由備份系統中能夠用于計算這一損壞磁盤塊的備份塊組成,如果備份系統上的備份塊上的數據不是最新的版本,則由RAID5剩余正常磁盤中與該備份塊對應的磁盤塊代替這個備份塊加入到第二數據源集合,使用第二數據源集合計算出損壞磁盤塊;然后根據RAID5的構成和備份系統的性能分別估算出讀出這兩個數據源集合的代價;最后選擇代價低的數據源集合來對損壞磁盤的這一磁盤塊進行重構。通過對磁盤上每一個磁盤塊選擇讀出代價最低的數據源集合,可以優化重構性能。
本發明方法的具體步驟是:
步驟一、確定被損壞磁盤中一個磁盤塊B(x,y)的兩個數據源集合Sraid和Sbackup,1≤x≤n,1≤y≤m;其中n?為RAID5中的磁盤個數,m為每個磁盤的磁盤塊個數,x表示該磁盤塊所在磁盤的磁盤號,y表示該磁盤塊在磁盤x中的磁盤塊號,Sraid為全部來自RAID5的數據源,Sbackup為基于備份系統的數據源,確定的具體方法是:
步驟1、Sraid?=Φ;Sbackup=Φ;Φ表示空集合。
步驟2、設定i=1;i為當前檢測的磁盤號。
步驟3、如果i≠x,則?Sraid∪{B(i,y)};
步驟4、設置i=i+1;如果i≤n,則重復執行步驟3;
步驟5、確定磁盤塊B(x,y)的類型:如果x等于(2-y)﹪n,則表示B(x,y)為校驗塊P(x,y),直接執行步驟8;如果x不等于(2-y)﹪n,則表示B(x,y)為數據塊D(x,y),執行步驟6;其中﹪表示取模操作;
步驟?6、如果x大于(2-y)﹪n,設定r=x;如果x小于(2-y)﹪n,設定r=x-1;r為中間變量;
步驟7、?z=y×n+r;如果bitmap[z]=0,則Sbackup=?Sbackup∪{C(z)},其中bitmap[z]表示第z個塊的更新標識,C(z)表示RAID5在備份系統中的最新版本第z號備份塊,直接執行步驟10;
步驟8、設定i=1;?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于創業軟件股份有限公司;,未經創業軟件股份有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410445171.5/2.html,轉載請聲明來源鉆瓜專利網。





