溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法

發(fā)布時(shí)間:2020-07-21 15:52:53 來(lái)源:網(wǎng)絡(luò) 閱讀:695 作者:宋國(guó)建 欄目:系統(tǒng)運(yùn)維

存儲(chǔ)做的RAID-5, SCSI硬盤(pán),操作系統(tǒng)是FreeBSD,文件系統(tǒng)是zfs。

本案例共有12塊硬盤(pán),11塊硬盤(pán)里有數(shù)據(jù),1塊硬盤(pán)是熱備盤(pán)。其中第6塊數(shù)據(jù)硬盤(pán)出現(xiàn)故障,重組時(shí)需要將其剔除。 

物理盤(pán):

    物理盤(pán)是指創(chuàng)建RAID所用的每塊獨(dú)立的物理硬盤(pán),組建RAID后,它們叫做RAID的成員盤(pán)。

去RAID化:

    出現(xiàn)故障后,把物理盤(pán)從服務(wù)器的槽位上取下來(lái)進(jìn)行檢測(cè)和分析。離開(kāi)了服務(wù)器的槽位,也就離開(kāi)了RAID控制器,這些硬盤(pán)就稱(chēng)為被“去RAID化”了。

1 分析步驟

主要內(nèi)容:

    ·初步判斷RAID-5起始扇區(qū)

    ·塊大小(條帶大小)分析

    ·RAID-5成員盤(pán)盤(pán)序

    ·校驗(yàn)方向

    ·數(shù)據(jù)走向

1.1 初步判斷RAID-5起始扇區(qū)

    RAID起始扇區(qū)是指RAID內(nèi)的數(shù)據(jù)在每塊物理盤(pán)(創(chuàng)建RAID所用的每塊獨(dú)立的物理硬盤(pán))上的起始位置。起始扇區(qū)只存在于一塊物理盤(pán),大多數(shù)情況是0扇區(qū)。找到起始扇區(qū)是第一步。本實(shí)例是用12塊硬盤(pán)組成的RAID-5,第6塊硬盤(pán)出現(xiàn)故障。恢復(fù)實(shí)例中,我們用WinHex將11塊有數(shù)據(jù)的硬盤(pán)去RAID化。如圖1所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖1

    用WinHex的同步功能將11塊盤(pán)定位在0扇區(qū),可以看到11塊盤(pán)中只有3塊盤(pán)的0扇區(qū)有“55 AA”標(biāo)志,分別是1,2,6號(hào)硬盤(pán),如圖2所示。有這個(gè)標(biāo)志說(shuō)明是MBR磁盤(pán)結(jié)構(gòu)。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法  

圖2

    接下來(lái)分析哪個(gè)硬盤(pán)是起始扇區(qū)。我們先來(lái)看第6塊硬盤(pán)。第6塊硬盤(pán)的結(jié)尾顯示這是一個(gè)GPT頭備份并且只有128MB大小。如圖3所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖3

    剩下的1號(hào)磁盤(pán)和2號(hào)磁盤(pán)中0扇區(qū)有起始扇區(qū)或校驗(yàn)。這是初步判斷起始扇區(qū)。

1.2 塊大小(條帶大小)分析

    條帶也稱(chēng)塊,它是RAID處理數(shù)據(jù)的基本單元,不同的RAID條帶大小有所不同。分析條帶大小的方法有很多,一個(gè)校驗(yàn)區(qū)的大小是一個(gè)條帶的大小,根據(jù)這一點(diǎn),我們針對(duì)這個(gè)RAID-5實(shí)例做分析。此實(shí)例使用的是zfs文件系統(tǒng),用WinHex同步顯示11塊物理盤(pán)的某個(gè)扇區(qū),比如53654656扇區(qū),發(fā)現(xiàn)此扇區(qū)只有1號(hào)盤(pán)跟其他盤(pán)顯示的不一樣,這是位于1號(hào)盤(pán)的校驗(yàn)區(qū)。順著1號(hào)盤(pán)53654656扇區(qū)上下尋找,找到連續(xù)的128個(gè)扇區(qū)。這128個(gè)扇區(qū)就是這個(gè)RAID-5的條帶大小。由此條帶大小定位結(jié)束。

1.3 RAID-5成員盤(pán)盤(pán)序

    以上內(nèi)容說(shuō)的1號(hào)盤(pán)指的不是RAID的第一個(gè)盤(pán),也就是說(shuō)物理盤(pán)的順序并不一定是RAID的順序,需要人工校驗(yàn)。用WinHex同步定位11塊硬盤(pán)的53654656扇區(qū)。發(fā)現(xiàn)1號(hào)盤(pán)與其他盤(pán)不同,這個(gè)是1號(hào)盤(pán)的校驗(yàn)區(qū)。接著分析1號(hào)盤(pán)的下一個(gè)條帶,即53654656+128=53654784扇區(qū),得出2號(hào)盤(pán)跟其他盤(pán)不同,所以2號(hào)盤(pán)從53654784扇區(qū)開(kāi)始的條帶是校驗(yàn)區(qū)。以此方式繼續(xù)下去,接著是3號(hào)盤(pán)的校驗(yàn)區(qū),4號(hào)盤(pán)的校驗(yàn)區(qū)……得出的校驗(yàn)區(qū)如圖4所示,“P”字母即表示校驗(yàn)區(qū)。我們按照校驗(yàn)區(qū)的位置,即可得到盤(pán)序,而這個(gè)實(shí)例的盤(pán)序正好是從1號(hào)盤(pán)開(kāi)始依次遞增的。盤(pán)序我們已經(jīng)得出,又因分析步驟1得出1號(hào)盤(pán)和2號(hào)盤(pán)的0扇區(qū)為起始扇區(qū)或?yàn)樾r?yàn)區(qū)。對(duì)于左結(jié)構(gòu)來(lái)說(shuō),0扇區(qū)是起始扇區(qū)的物理盤(pán)一定是RAID-5的1號(hào)盤(pán),對(duì)于右結(jié)構(gòu)來(lái)說(shuō),0扇區(qū)是起始扇區(qū)的物理盤(pán)一定是RAID-5的2號(hào)盤(pán)。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法

圖4

1.4 校驗(yàn)方向

    RAID-5的基本結(jié)構(gòu)有左同步、左異步、右同步、右異步。左和右是對(duì)校驗(yàn)方向來(lái)說(shuō)的,區(qū)別如表1和表2所示。我們做的RAID-5實(shí)例很明顯是右走向的。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法

表1

    我們由上文校驗(yàn)區(qū)的走向得出整個(gè)RAID-5的校驗(yàn)方向,即右方向,如圖4所示。左同步、左異步結(jié)構(gòu)中的校驗(yàn)塊都是從最后一塊物理盤(pán)開(kāi)始,右同步、右異步結(jié)構(gòu)中的校驗(yàn)快都是從第一塊物理盤(pán)開(kāi)始。

    判斷校驗(yàn)方向的方法有兩種,一種是先分析起始扇區(qū),再分析條帶大小,然后是盤(pán)序,盤(pán)序分析后校驗(yàn)方向很容易就看出來(lái)了。另一種,如果盤(pán)序沒(méi)有確定下來(lái),只確定了起始扇區(qū)和條帶大小,可以采用反推法。使用反推法分析,在盤(pán)序還沒(méi)有確定下來(lái)的情況下,有這個(gè)校驗(yàn)區(qū)可以算出某個(gè)盤(pán)中第一個(gè)校驗(yàn)區(qū)是第幾個(gè)條帶。具體方法如下找到某個(gè)校驗(yàn)區(qū),比如3號(hào)盤(pán)的53654912扇區(qū),用這個(gè)扇區(qū)對(duì)條帶大小與盤(pán)數(shù)的乘積取余。即53654912MOD(128*12)=256。計(jì)算的結(jié)果等于256,表示256號(hào)扇區(qū)是校驗(yàn)。而位于此扇區(qū)的3號(hào)盤(pán)處于第3個(gè)條帶,并且是第3個(gè)條帶的開(kāi)始扇區(qū),包括256號(hào)扇區(qū)在內(nèi)的以后的128個(gè)扇區(qū)是3號(hào)盤(pán)的第一個(gè)校驗(yàn)區(qū)。接著判斷1號(hào)盤(pán)下一個(gè)條帶,1號(hào)盤(pán)下一個(gè)條帶顯示3號(hào)盤(pán)是校驗(yàn)區(qū)。接著判斷3號(hào)盤(pán)下一個(gè)條帶,3號(hào)盤(pán)下一個(gè)條帶顯示3號(hào)盤(pán)是校驗(yàn)區(qū)。由此校驗(yàn)方向也能得出來(lái)。

1.5 數(shù)據(jù)走向

    同步異步說(shuō)的是數(shù)據(jù)的走向。異步結(jié)構(gòu)中,各條帶組內(nèi)的數(shù)據(jù)塊均由低號(hào)盤(pán)向高號(hào)盤(pán)依次寫(xiě)入。同步結(jié)構(gòu)中,每個(gè)條帶組內(nèi)第一個(gè)數(shù)據(jù)塊寫(xiě)在校驗(yàn)塊所在物理盤(pán)的下一個(gè)物理盤(pán),若后面還有物理盤(pán),則順序往后寫(xiě),若校驗(yàn)塊所在物理盤(pán)后沒(méi)有物理盤(pán),則從校驗(yàn)塊所在物理盤(pán)前面的物理盤(pán)開(kāi)始從低號(hào)盤(pán)向高號(hào)盤(pán)順序?qū)懭搿?/p>

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法

表2


以下是RAID-5實(shí)例分析過(guò)程(已確定此RAID-5是右結(jié)構(gòu))。

    ·從“數(shù)據(jù)塊A”入手。如圖5所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖5


    首先查看“數(shù)據(jù)塊A”末尾扇區(qū)的數(shù)據(jù),然后再查看“數(shù)據(jù)塊B”和“數(shù)據(jù)塊C”開(kāi)始扇區(qū)的數(shù)據(jù)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊B” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于異步結(jié)構(gòu)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊C” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于同步結(jié)構(gòu)。

    ·從“數(shù)據(jù)塊A”入手。如圖6所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖6

    首先查看“數(shù)據(jù)塊A”末尾扇區(qū)的數(shù)據(jù),然后再查看“數(shù)據(jù)塊B”和“數(shù)據(jù)塊C”開(kāi)始扇區(qū)的數(shù)據(jù)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊B” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于異步結(jié)構(gòu)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊C” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于同步結(jié)構(gòu)。

    ·從“數(shù)據(jù)塊A”入手。如圖7所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法  

圖7

    首先查看“數(shù)據(jù)塊A”末尾扇區(qū)的數(shù)據(jù),然后再查看“數(shù)據(jù)塊B”和“數(shù)據(jù)塊C”開(kāi)始扇區(qū)的數(shù)據(jù)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊B” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于同步結(jié)構(gòu)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊C” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于異步結(jié)構(gòu)。

    ·從“數(shù)據(jù)塊A”入手。如圖8所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖8

    首先查看“數(shù)據(jù)塊A”末尾扇區(qū)的數(shù)據(jù),然后再查看“數(shù)據(jù)塊B”和“數(shù)據(jù)塊C”開(kāi)始扇區(qū)的數(shù)據(jù)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊B” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于異步結(jié)構(gòu)。如果“數(shù)據(jù)塊A” 末尾扇區(qū)的數(shù)據(jù)能夠與“數(shù)據(jù)塊C” 開(kāi)始扇區(qū)的數(shù)據(jù)銜接,則該RAID-5屬于同步結(jié)構(gòu)。

2 重組RAID-5

    上面內(nèi)容我們已經(jīng)解析出RAID-5的一些重要信息,根據(jù)這些信息,我們就可以重組RAID-5了。下面我們用UFS Explorer工具打開(kāi)并添加這11塊硬盤(pán)。如圖9所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖9

    將1.dsk添加到了左側(cè)Connected storages里,如圖10所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖10


    把RAID-5的10塊盤(pán)都添加進(jìn)去。點(diǎn)擊Build RAID選項(xiàng),依照RAID-5的盤(pán)序把10塊盤(pán)都添加進(jìn)去,開(kāi)始組建RAID-5,如圖11所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖11

    第6塊盤(pán)因?yàn)槌霈F(xiàn)故障,所有要剔除,并在其位置添加時(shí)補(bǔ)一個(gè)空缺,并繼續(xù)順序添加完其它硬盤(pán)。如圖12所示,點(diǎn)擊標(biāo)紅框位置處的按鈕,添加空缺硬盤(pán)。 

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖12

    接著選擇校驗(yàn)方向和數(shù)據(jù)走向,本實(shí)例條帶大小為28個(gè)扇區(qū),即65KB,右異步結(jié)構(gòu)。因此設(shè)置如圖13所示。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖13

    接著點(diǎn)擊Build按鈕,出現(xiàn)如圖14所示。點(diǎn)擊find查找,選擇zfs文件系統(tǒng)。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖14

    出現(xiàn)了如圖15所示的正在組建的RAID-5。

Unix下zfs文件系統(tǒng)重組RAID-5恢復(fù)方法 

圖15


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI