Raid 陣列恢復與救援

    內容表格
    1. 1.

    版本為 08:32, 30 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

     作者:OSSLab thx

    在Raid 損壞,並且人為或其他因素損毀故障後.由於Raid 特性多顆併起.因此資料上有一定程度可以救出

    Raid 軟恢復(Raw recovery)

    要做救援前不要對硬碟做任何寫入動作 包含Rebuild等

    如果擔心 請動手disk dump成 image (注意散熱跟電源), dump to file 是無損的.
    之後自己搞不定的話 再找專業公司

    在windows 2003下用Winhex or Diskgenius做image file 方法
    http://zhangyu.blog.51cto.com/197148/36358


    有了單顆 raid  image, 最重要的是 如何合併成原來 Raid disk  image file
    再來慢慢恢復 分區表,文件系統,特定文件 檔案

    先來瞭解 Raid 5 架構
    這是演算法
    P0=D0 Xor D1 Xor D2
    反推 D0=P0 Xor D1 Xor D2


    以下以四顆HDD ,Raid 5會有穿插一顆為P碟(校驗硬碟)
     


    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    D0
    D1
    D2
    P0
    條帶1
    D3
    D4
    P1
    D5
    條帶2
    D6
    P2
    D7
    D8
    條帶3
    P3
    D9
    D10
    D11
    條帶4
    D12
    D13
    D14
    P4
     
     
     
     
     
     
     
     
     
     





    第一要先抓出是左循環或是右循環
    假設disk 0,1,2,3  把raid disk 的分區可叫條帶 (Strip)
    左循環就是  0條帶  校驗碼P區從disk 3開始 然後往左
                   1條帶  校驗碼P區就會在disk 2 
                    P區(校驗區) 是往左趨勢
            請參考圖 為左循環 backward
     


    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    D0
    D1
    D2
    P0
    條帶1
    D3
    D4
    P1
    D5
    條帶2
    D6
    P2
    D7
    D8
    條帶3
    P3
    D9
    D10
    D11
    條帶4
    D12
    D13
    D14
    P4
     
     
     
     
     
     
     
     
     
     

     




    右則反之 forward

     

    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    P0

     

     

     

    條帶1

     

    P1

     

     

    條帶2

     

     

    P2

     

    條帶3

     

     

     

    P3
    條帶4
    P4

     

     

     

    條帶

     

    P5

     

     

    .

     

    .

     

    .

     

    .

     

    .

     

    .

     

    .

     

    .

     

    .

     

    .

     



    另外一個是要判斷同步 異步
    同步 parity :是資料寫入時一定會放在校驗碼disk後
    異步 dynamic :則不管校驗碼換條帶時就直接照序寫入disk

     

    左循環同步
    <o> </o>
    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    D0
    D1
    D2
    P0
    條帶1
    D4
    D5
    P1
    D3
    條帶2
    D8
    P2
    D6
    D7
    條帶3
    P3
    D9
    D10
    D11
    條帶4
    D12
    D13
    D14
    P4
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>



    右循環異步
    <o> </o>
    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    P0
    D0
    D1
    D2
    條帶1
    D3
    P1
    D4
    D5
    條帶2
    D6
    D7
    P2
    D8
    條帶3
    D9
    D10
    D11
    P3
    條帶4
    P4
    D12
    D13
    D14
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>


    右循環同步
    <o> </o>
    硬碟0
    硬碟1
    硬碟2
    硬碟3
    條帶0
    P0
    D0
    D1
    D2
    條帶1
    D5
    P1
    D3
    D4
    條帶2
    D7
    D8
    P2
    D6
    條帶3
    D9
    D10
    D11
    P3
    條帶4
    P4
    D12
    D13
    D14
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .<o/>
    .



    要能瞭解 上面P區走法,磁碟條帶分區狀況
    所以分別會有    (以下用Win image 說法,目前來講每家說法略有點不同 )


    左循環同步 backward parity
    左循環異步 backward dynamic
    右循環同步 forward partity
    右循環異步 forward dynamic


    判斷方法

    1.瞭解那顆硬碟為 資料起始區.可以分析MBR

    2.瞭解那顆為第一校驗區

    3.以文件系統或是其它手段判定硬碟順序.(或是有記起來)


    這邊說個白癡傻瓜方法. 一般廠商 backward parity  64Kbytes Stripe Size 最多.
    如果能確認disk 0,1,2,3 順序的話
    把image file 用win hex 跟Rstudio 直接做raid 5 recovery
    四樣都做看看....(會有上面四個選項)

     還原方法原理

    1.真正資料 0,1,3正常時 就恢復該段條帶 不管校驗碼區塊
    2.當真正 其中 data 資料區塊 丟失時 以校驗塊還原
    3.因為校驗碼和資料同時寫入錯誤丟失資料 或某段有2個以上壞軌  可能會有無法還原的條帶 不過不會每個條帶都會丟失

    自己再慢慢研究看那個disk image file是正確的吧.做imgage file慢 請用強一點的電腦
    然後再針對各種分區做file system recovery

    另外還有其他自動軟體

    http://www.z-a-recovery.com/raid-recovery-tutorial.htm
    http://www.runtime.org/raid.htm
    http://www.diskinternals.com/raid-recovery/
    http://www.getwayrecovery.com/purchase.html (support raid 6)
    http://www.unformat-unerase.com/Articles/RAID_Recovery_Presentation/index.shtml  (raird 5,raid6)

    看損壞程度與原本的filesystem ,Raid 卡演算不同,80%還是需要人工處理 ..

    最大忌諱是.當raid 5 同時掛一顆 以上 raid 6 掛二顆以上
    整組請立刻停掉 否則又寫入一堆與舊資料不同步校驗碼.會把整個raid disk 架構毀掉. 增加recovery難度

    Powered by MindTouch Core