亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種加快raid5恢復(fù)的方法

文檔序號:6439815閱讀:684來源:國知局
專利名稱:一種加快raid5恢復(fù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)及存儲領(lǐng)域,具體涉及一種加快RAID5恢復(fù)和一致性檢查的方法。
背景技術(shù)
對于具有冗余校驗(yàn)信息的RAID5系統(tǒng),RAID5新創(chuàng)建時各成員盤數(shù)據(jù)并不能保證條帶數(shù)據(jù)是一致性的.數(shù)據(jù)的不一致性使得系統(tǒng)無法按照正常流程處理主機(jī)IO請求, 所得到的校驗(yàn)數(shù)據(jù)可能是錯誤的,因此這些級別的RAID5創(chuàng)建時必須先進(jìn)行一致性初始化工作。RAID5是支持一塊盤失效的情況,當(dāng)一塊盤失效,出現(xiàn)降級的情況,加入熱備盤進(jìn)行恢復(fù),也相當(dāng)于要進(jìn)行一致性校驗(yàn),任務(wù)必須遍歷成員盤的所有數(shù)據(jù),這是一項(xiàng)非常耗時的工作,并且隨著磁盤的容量的增大,這個過程需要的時間就會更長。
在這個過程中,如果再出現(xiàn)另一塊盤失效的話,那么由于RAID5的冗余機(jī)制,無法再進(jìn)行恢復(fù)了,整個陣列就會失效。因此這個過程時間越長的話,再次有盤失效的概率就越大。因此有必要找到一種方法加快對失效盤的恢復(fù)。發(fā)明內(nèi)容
本發(fā)明的目的是提供一種加快RAID5恢復(fù)的方法。
本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,步驟如下1)在RAID5創(chuàng)建之后,在需要恢復(fù)區(qū)域內(nèi)設(shè)置重點(diǎn)區(qū)域,當(dāng)加熱備盤的時候優(yōu)先恢復(fù)這些重點(diǎn)區(qū)域,優(yōu)先恢復(fù)的重點(diǎn)區(qū)域用位圖做記錄,位圖也用作斷電重啟RAID5進(jìn)行一致性檢查的判斷,以減少恢復(fù)和掉電后一致性檢查的所需時間;2)在RAID5恢復(fù)的過程中,根據(jù)內(nèi)存的情況,以多個條帶為單位,每次讀取多個條帶, 待計(jì)算完后進(jìn)行寫入以減少與磁盤的操作數(shù)和提升恢復(fù)進(jìn)度;具體步驟流程如下 1)寫數(shù)據(jù)的流程如下創(chuàng)建RAID的時候,設(shè)置一個“區(qū)塊首次寫”位圖,“區(qū)塊首次寫”位圖中每一位表示對應(yīng)的一個較大區(qū)塊是否已出現(xiàn)過任一條帶進(jìn)行了首次寫,即RAID-5處理一個條帶寫操作前先更新條帶在該位圖中的位值為1,表示該區(qū)塊已經(jīng)出現(xiàn)了首次寫操作,該條帶寫操作引起的上述對該位圖的位的更新操作必須在條帶計(jì)算完成新的校驗(yàn)并寫數(shù)據(jù)、寫校驗(yàn)到成員盤操作之前完成,包括如果所述“區(qū)塊首次寫,,位圖保存在該RAID-5成員盤上則該條帶對應(yīng)該位圖中的位所在的各成員盤的扇區(qū)的寫操作,必須在條帶數(shù)據(jù)塊寫提交之前完成,以保護(hù)系統(tǒng)出現(xiàn)斷電時磁盤上的“區(qū)塊首次寫”位圖數(shù)據(jù)是正確的,這個階段的流程如下(1)計(jì)算要寫的條帶對應(yīng)的扇區(qū)是在哪個區(qū)域,判斷“區(qū)塊首次寫”位圖對應(yīng)的位是否設(shè)置1。如果設(shè)置1,直接跳到第3)步,如果沒有,就執(zhí)行下一步;(2)把對應(yīng)的位設(shè)置1,把條帶放在一個延遲鏈表延遲處理,把位圖寫到磁盤;(3)當(dāng)確認(rèn)位圖寫完之后,就處理真正的要寫的條帶;2)發(fā)生失效后的恢復(fù)處理流程如下(1)當(dāng)RAID-5發(fā)生降級,即出現(xiàn)單個成員盤失效,并添加熱備盤進(jìn)行修復(fù)時,重新設(shè)置優(yōu)先恢復(fù)的重點(diǎn)區(qū)域,如果沒有設(shè)置,就按創(chuàng)建的設(shè)置為準(zhǔn),優(yōu)先先恢復(fù)這些重點(diǎn)區(qū)域,根據(jù)“區(qū)塊首次寫”位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過;(2)重點(diǎn)區(qū)域恢復(fù)完后,就按照順序進(jìn)行其他區(qū)域的恢復(fù),同樣是根據(jù)“區(qū)塊首次寫”位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過;(3)在恢復(fù)的過程中,根據(jù)內(nèi)存的情況,以一個條帶為單位進(jìn)行計(jì)算校驗(yàn),或以多個條帶為單位,每次讀取多個條帶,待計(jì)算完后進(jìn)行寫入,以減少與磁盤的操作數(shù),提升恢復(fù)進(jìn)度;(4)掉電后進(jìn)行一致性檢查的處理磁盤陣的寫操作是一個過程,如果在這個過程中發(fā)生包括寫盤失敗,系統(tǒng)掉電異常情況,就會可能引起冗余數(shù)據(jù)和原始數(shù)據(jù)不一致,所以,成功寫入數(shù)據(jù)的話,整個條帶應(yīng)該是一致的,掉電重啟后,會啟動同步線程,會通過bitmap文件判斷是否置位,進(jìn)行一致性檢查,如果沒有置位,就說明整個區(qū)域在掉電那一時刻,不存在正在寫的數(shù)據(jù),直接跳過這個區(qū)域;(5)—致性檢查位圖的一個位代表的區(qū)域要遠(yuǎn)遠(yuǎn)大于“區(qū)塊首次寫”位圖的區(qū)域,是個更粗粒度的劃分,一致性檢查位圖的一個位包含多個“區(qū)塊首次寫”位圖的位,之前沒有“區(qū)塊首次寫”位圖的處理是這樣的1)如果置位,就會同步這個區(qū)域的所有條帶;和“區(qū)塊首次寫”位圖相結(jié)合;2)如果一致性檢查位圖相應(yīng)的位設(shè)置1,然后再判斷它所包含的“區(qū)塊首次寫”位圖的位是否置1,如果恢復(fù)位圖的位沒有設(shè)置1,就跳過恢復(fù)位圖的位所代表的大小的區(qū)域,直到一致性檢查位圖的一個位代表的區(qū)域都檢查完畢。
所述的重點(diǎn)區(qū)域,是最重要的數(shù)據(jù)所在區(qū)域或者訪問比較多的數(shù)據(jù)。
所述的位圖,是一個位代表多個條帶的狀態(tài),只標(biāo)識至少有一個寫的區(qū)域,有寫過就置1。
本發(fā)明的有益效果是是在要恢復(fù)的區(qū)域中設(shè)置重點(diǎn)區(qū)域,當(dāng)加熱備盤的時候優(yōu)先恢復(fù)這些重點(diǎn)區(qū)域,重點(diǎn)區(qū)域用位圖做記錄,有寫過的才恢復(fù),這些位圖也可以用作斷電重啟RAID5進(jìn)行一致性檢查的判斷,可以減少恢復(fù)和掉電后一致性檢查的所需時間。


圖1寫數(shù)據(jù)流程圖;圖2 —致性檢查處理流程圖。
具體實(shí)施方式
參照說明書附圖對本發(fā)明的方法作以下詳細(xì)地說明。
流程步驟如下(1)寫數(shù)據(jù)的流程創(chuàng)建RAID的時候,設(shè)置一個“區(qū)塊首次寫”位圖,“區(qū)塊首次寫”位圖中每一位表示對應(yīng)的一個較大區(qū)塊是否已出現(xiàn)過任一條帶進(jìn)行了首次寫,即RAID-5處理一個條帶寫操作前先更新條帶在該位圖中的位值為1,表示該區(qū)塊已經(jīng)出現(xiàn)了首次寫操作。該條帶寫操作引起的上述對該位圖的位的更新操作必須在條帶計(jì)算完成新的校驗(yàn)并寫數(shù)據(jù)、寫校驗(yàn)到成員盤操作之前完成,包括如果所述“區(qū)塊首次寫,,位圖保存在該RAID-5成員盤上則該條帶對應(yīng)該位圖中的位所在的各成員盤的扇區(qū)的寫操作必須在條帶數(shù)據(jù)塊寫提交之前完成,以保護(hù)系統(tǒng)出現(xiàn)斷電時磁盤上的“區(qū)塊首次寫”位圖數(shù)據(jù)是正確的。如圖1所示,這個階段的流程如下1)計(jì)算要寫的條帶對應(yīng)的扇區(qū)是在哪個區(qū)域,判斷“區(qū)塊首次寫”位圖對應(yīng)的位是否設(shè)置1。如果設(shè)置1,直接跳到第3)步,如果沒有,就執(zhí)行下一步;2)把對應(yīng)的位設(shè)置1,把條帶放在一個延遲鏈表延遲處理,把位圖寫到磁盤;3)當(dāng)確認(rèn)位圖寫完之后,就處理真正的要寫的條帶;(2)發(fā)生失效后的恢復(fù)處理流程如下1)當(dāng)RAID-5發(fā)生降級,即出現(xiàn)單個成員盤失效,并添加熱備盤進(jìn)行修復(fù)時,可以重新設(shè)置優(yōu)先恢復(fù)的區(qū)域,如果沒有設(shè)置,就按創(chuàng)建的設(shè)置為準(zhǔn)。先恢復(fù)這些區(qū)域,根據(jù)“區(qū)塊首次寫”位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過就可以了 ;2)這些區(qū)域恢復(fù)完后,就按照順序進(jìn)行其他區(qū)域的恢復(fù),同樣是根據(jù)“區(qū)塊首次寫”位圖位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過就可以了 ;在恢復(fù)的過程中,根據(jù)內(nèi)存的情況,可以以一個條帶為單位進(jìn)行計(jì)算校驗(yàn),也可以以多個條帶為單位。每次讀取多個條帶,待計(jì)算完后進(jìn)行寫入,可以減少與磁盤的操作數(shù),也能讓恢復(fù)進(jìn)度得到提升;(3)掉電后進(jìn)行一致性檢查的處理磁陣的寫操作是一個過程,如果在這個過程中發(fā)生例如寫盤失敗,系統(tǒng)掉電等異常情況,就會可能引起冗余數(shù)據(jù)和原始數(shù)據(jù)不一致。所以,成功寫入數(shù)據(jù)的話,整個條帶應(yīng)該是一致的,但寫入沒有成功(或不完全)的話,條帶數(shù)據(jù)很可能是不一致的。掉電重啟后,會啟動同步線程,會通過bitmap文件判斷是否置位,進(jìn)行一致性檢查,如果沒有置位,就說明整個區(qū)域在掉電那一時刻,不存在正在寫的數(shù)據(jù),直接跳過這個區(qū)域就可以了 ;(4)一致性檢查位圖的一個位代表的區(qū)域要遠(yuǎn)遠(yuǎn)大于“區(qū)塊首次寫”位圖的區(qū)域,是個更粗粒度的劃分,一致性檢查位圖的一個位包含多個“區(qū)塊首次寫”位圖的位。之前沒有“區(qū)塊首次寫”位圖的處理是這樣的1)如果置位,就會同步這個區(qū)域的所有條帶;現(xiàn)在可以和 “區(qū)塊首次寫”位圖相結(jié)合;2)如果一致性檢查位圖相應(yīng)的位設(shè)置1,然后再判斷它所包含的 “區(qū)塊首次寫”位圖的位是否置1,如果恢復(fù)位圖的位沒有設(shè)置1,就可以跳過恢復(fù)位圖的位所代表的大小的區(qū)域,直到一致性檢查位圖的一個位代表的區(qū)域都檢查完畢。這個方法在原來的基礎(chǔ)上,減少了一些無謂的同步操作,大大縮短了掉電后一致性檢查的所需時間。流程如圖2所示。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。權(quán)利要求
1. 一種加快RAID5恢復(fù)的方法,其特征在于步驟如下1)在RAID5創(chuàng)建之后,在需要恢復(fù)區(qū)域內(nèi)設(shè)置重點(diǎn)區(qū)域,當(dāng)加熱備盤的時候優(yōu)先恢復(fù)這些重點(diǎn)區(qū)域,優(yōu)先恢復(fù)的重點(diǎn)區(qū)域用位圖做記錄,位圖也用作斷電重啟RAID5進(jìn)行一致性檢查的判斷,以減少恢復(fù)和掉電后一致性檢查的所需時間;2)在RAID5恢復(fù)的過程中,根據(jù)內(nèi)存的情況,以多個條帶為單位,每次讀取多個條帶, 待計(jì)算完后進(jìn)行寫入以減少與磁盤的操作數(shù)和提升恢復(fù)進(jìn)度;具體步驟流程如下1)寫數(shù)據(jù)的流程如下創(chuàng)建RAID的時候,設(shè)置一個“區(qū)塊首次寫”位圖,“區(qū)塊首次寫”位圖中每一位表示對應(yīng)的一個較大區(qū)塊是否已出現(xiàn)過任一條帶進(jìn)行了首次寫,即RAID-5處理一個條帶寫操作前先更新條帶在該位圖中的位值為1,表示該區(qū)塊已經(jīng)出現(xiàn)了首次寫操作,該條帶寫操作引起的上述對該位圖的位的更新操作必須在條帶計(jì)算完成新的校驗(yàn)并寫數(shù)據(jù)、寫校驗(yàn)到成員盤操作之前完成,包括如果所述“區(qū)塊首次寫”位圖保存在該RAID-5成員盤上則該條帶對應(yīng)該位圖中的位所在的各成員盤的扇區(qū)的寫操作,必須在條帶數(shù)據(jù)塊寫提交之前完成,以保護(hù)系統(tǒng)出現(xiàn)斷電時磁盤上的“區(qū)塊首次寫”位圖數(shù)據(jù)是正確的,這個階段的流程如下(1)計(jì)算要寫的條帶對應(yīng)的扇區(qū)是在哪個區(qū)域,判斷“區(qū)塊首次寫”位圖對應(yīng)的位是否設(shè)置1,如果設(shè)置1,直接跳到第3)步,如果沒有,就執(zhí)行下一步;(2)把對應(yīng)的位設(shè)置1,把條帶放在一個延遲鏈表延遲處理,把位圖寫到磁盤;(3)當(dāng)確認(rèn)位圖寫完之后,就處理真正的要寫的條帶;2)發(fā)生失效后的恢復(fù)處理流程如下(1)當(dāng)RAID-5發(fā)生降級,即出現(xiàn)單個成員盤失效,并添加熱備盤進(jìn)行修復(fù)時,重新設(shè)置優(yōu)先恢復(fù)的重點(diǎn)區(qū)域,如果沒有設(shè)置,就按創(chuàng)建的設(shè)置為準(zhǔn),優(yōu)先先恢復(fù)這些重點(diǎn)區(qū)域,根據(jù)“區(qū)塊首次寫”位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過;(2)重點(diǎn)區(qū)域恢復(fù)完后,就按照順序進(jìn)行其他區(qū)域的恢復(fù),同樣是根據(jù)“區(qū)塊首次寫”位圖是否置1判斷哪些是寫過的,沒寫過的直接跳過;(3)在恢復(fù)的過程中,根據(jù)內(nèi)存的情況,以一個條帶為單位進(jìn)行計(jì)算校驗(yàn),或以多個條帶為單位,每次讀取多個條帶,待計(jì)算完后進(jìn)行寫入,以減少與磁盤的操作數(shù),提升恢復(fù)進(jìn)度;(4)掉電后進(jìn)行一致性檢查的處理磁盤陣的寫操作是一個過程,如果在這個過程中發(fā)生包括寫盤失敗,系統(tǒng)掉電異常情況,就會可能引起冗余數(shù)據(jù)和原始數(shù)據(jù)不一致,所以,成功寫入數(shù)據(jù)的話,整個條帶應(yīng)該是一致的,掉電重啟后,會啟動同步線程,會通過bitmap文件判斷是否置位,進(jìn)行一致性檢查,如果沒有置位,就說明整個區(qū)域在掉電那一時刻,不存在正在寫的數(shù)據(jù),直接跳過這個區(qū)域;(5)—致性檢查位圖的一個位代表的區(qū)域要遠(yuǎn)遠(yuǎn)大于“區(qū)塊首次寫”位圖的區(qū)域,是個更粗粒度的劃分,一致性檢查位圖的一個位包含多個“區(qū)塊首次寫”位圖的位,之前沒有“區(qū)塊首次寫”位圖的處理是這樣的1)如果置位,就會同步這個區(qū)域的所有條帶;和“區(qū)塊首次寫”位圖相結(jié)合;2)如果一致性檢查位圖相應(yīng)的位設(shè)置1,然后再判斷它所包含的“區(qū)塊首次寫”位圖的位是否置1,如果恢復(fù)位圖的位沒有設(shè)置1,就跳過恢復(fù)位圖的位所代表的大小的區(qū)域,直到一致性檢查位圖的一個位代表的區(qū)域都檢查完畢。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于重點(diǎn)區(qū)域,是最重要的數(shù)據(jù)所在區(qū)域或者訪問比較多的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于位圖,是一個位代表多個條帶的狀態(tài),只標(biāo)識至少有一個寫的區(qū)域,有寫過就置1。
全文摘要
本發(fā)明提供一種加快RAID5恢復(fù)的方法,步驟如下1)在RAID5創(chuàng)建之后,在需要恢復(fù)區(qū)域內(nèi)設(shè)置重點(diǎn)區(qū)域,當(dāng)加熱備盤的時候優(yōu)先恢復(fù)這些重點(diǎn)區(qū)域,優(yōu)先恢復(fù)的重點(diǎn)區(qū)域用位圖做記錄,位圖也用作斷電重啟RAID5進(jìn)行一致性檢查的判斷,以減少恢復(fù)和掉電后一致性檢查的所需時間;2)在RAID5恢復(fù)的過程中,根據(jù)內(nèi)存的情況,以多個條帶為單位,每次讀取多個條帶,待計(jì)算完后進(jìn)行寫入以減少與磁盤的操作數(shù)和提升恢復(fù)進(jìn)度。
文檔編號G06F3/06GK102521074SQ20111039251
公開日2012年6月27日 申請日期2011年12月1日 優(yōu)先權(quán)日2011年12月1日
發(fā)明者古世磊, 施培任 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1