點(diǎn)擊這里聯(lián)系客服銷(xiāo)售客服
銷(xiāo)售客服
點(diǎn)擊這里聯(lián)系客服售前客服
售前客服
點(diǎn)擊這里聯(lián)系客服售后維護(hù)
售后維護(hù)
首頁(yè) > 文章詳細(xì)

鴻萌課堂:磁盤(pán)陣列 RAID 知識(shí)系列(三)

發(fā)布日期:2020-09-30 17:34:52 【關(guān)閉】
摘要:NAS技術(shù)已經(jīng)成為當(dāng)今數(shù)據(jù)備份的主流技術(shù),關(guān)鍵在于如何在此基礎(chǔ)上開(kāi)發(fā)完善全方位、多層次的數(shù)據(jù)備份系統(tǒng),在分布式網(wǎng)絡(luò)環(huán)境下,通過(guò)專(zhuān)業(yè)的數(shù)據(jù)存儲(chǔ)管理軟件,結(jié)合相應(yīng)的硬件和存儲(chǔ)設(shè)備,來(lái)對(duì)全網(wǎng)絡(luò)的數(shù)據(jù)備份進(jìn)行集中管理,從而實(shí)現(xiàn)自動(dòng)化的備份、文件歸檔、數(shù)據(jù)分級(jí)存儲(chǔ)以及災(zāi)難恢復(fù)等功能

具有奇偶校驗(yàn)功能的 RAID 

       RAID 5 利用條帶化和奇偶校驗(yàn)技術(shù)的結(jié)合。在 RAID 5 中,數(shù)據(jù)流被分割成一定大小的塊(塊大?。?,然后依次寫(xiě)入成員盤(pán)。在每一行中,有一個(gè)磁盤(pán)被指定存儲(chǔ)一定的校驗(yàn)和,即所謂的奇偶校驗(yàn)函數(shù),它是根據(jù)行中其他成員磁盤(pán)的數(shù)據(jù)計(jì)算出來(lái)的。當(dāng)單塊磁盤(pán)發(fā)生故障時(shí),可以利用奇偶校驗(yàn)計(jì)算出缺失的數(shù)據(jù)。通過(guò)這樣的方式提供了容錯(cuò)功能。 

       RAID 5至少需要三塊磁盤(pán)。理論上,磁盤(pán)的最大數(shù)量不受限制,但在實(shí)際操作中,需要考慮到硬件RAID情況下控制器的容量。陣列的容量為(N-1)乘以N塊磁盤(pán)組成的陣列中最小的成員磁盤(pán)的大小。 

       這樣,在RAID 5中,一個(gè)磁盤(pán)的容量被用來(lái)存儲(chǔ)奇偶函數(shù)數(shù)據(jù),以提供容錯(cuò)能力。

RAID 5 布局
       根據(jù)奇偶校驗(yàn)塊的位置和數(shù)據(jù)塊的寫(xiě)入順序,RAID 5有四種不同的類(lèi)型(注意,在下面的圖中,每行的第一個(gè)塊是紅色的)。




      左右數(shù)組由奇偶?jí)K如何分布到成員磁盤(pán)上決定。同步性和異步性定義了數(shù)據(jù)塊的順序。

       對(duì)于RAID 5的數(shù)據(jù)恢復(fù),除了考慮塊的大小,起始偏移量和成員盤(pán)的順序外,所有這些參數(shù)都應(yīng)該被分析到。 

      在 RAID 5 陣列中,寫(xiě)入大小小于數(shù)據(jù)塊大小的數(shù)據(jù),需要進(jìn)行以下操作:

  • 讀取舊的數(shù)據(jù)塊

  • 讀取舊的奇偶校驗(yàn)塊

  • 將舊數(shù)據(jù)塊中的數(shù)據(jù)與新到的數(shù)據(jù)塊進(jìn)行比較。每改變一個(gè)位,改變奇偶校驗(yàn)中相應(yīng)的位。

  • 寫(xiě)入新的數(shù)據(jù)塊。

  • 寫(xiě)入新的奇偶校驗(yàn)塊。

      可以看出,奇偶校驗(yàn)更新會(huì)降低系統(tǒng)的寫(xiě)入性能。 

      對(duì)于等于或大于由N個(gè)數(shù)據(jù)塊組成的行的大小的寫(xiě)入,由于不需要讀取舊的數(shù)據(jù)塊并查找變化,所以寫(xiě)入速度會(huì)更快一些。  

RAID 6  

       RAID 6 同時(shí)使用條帶和奇偶校驗(yàn)技術(shù),但與 RAID 5 不同的是,它使用兩個(gè)獨(dú)立的奇偶校驗(yàn)函數(shù),然后寫(xiě)入兩個(gè)成員盤(pán)。通常情況下,其中一個(gè)奇偶校驗(yàn)函數(shù)與 RAID 5 中的函數(shù)相同(XOR函數(shù)),而第二個(gè)函數(shù)則更為復(fù)雜。奇偶校驗(yàn)數(shù)據(jù)有助于在兩個(gè)成員盤(pán)同時(shí)失效時(shí)恢復(fù)數(shù)據(jù)。

       創(chuàng)建 RAID 6 至少需要4塊磁盤(pán)。陣列的容量是N塊磁盤(pán)組成的陣列中最小的成員磁盤(pán)大小的(N-2)倍。


讀取速度比單塊磁盤(pán)的情況下快(N-2)倍--行中的兩塊磁盤(pán)持有奇偶校驗(yàn),讀取時(shí)無(wú)用。這樣的讀取速度值與RAID 5>中大致相同。  

        在 RAID 6 中,寫(xiě)入速度并沒(méi)有提高,因?yàn)槊看螌?xiě)入都需要重新計(jì)算和更新兩個(gè)不同的奇偶校驗(yàn)塊。RAID 6 是相當(dāng)昂貴的存儲(chǔ)選項(xiàng)。然而,當(dāng)它需要一個(gè)大的和可靠的存儲(chǔ)空間時(shí),那么 RAID 6 是最好的選擇之一,因?yàn)樗梢栽趦蓧K磁盤(pán)發(fā)生故障時(shí)保護(hù)數(shù)據(jù)。這可能發(fā)生在以下情況: 

  • 陣列正在重建(所謂的重建時(shí)間)。

  • 由于操作者的錯(cuò)誤而導(dǎo)致錯(cuò)誤的磁盤(pán)被熱插拔。 

數(shù)據(jù)恢復(fù)方面的思考

       當(dāng)RAID 5中缺少一個(gè)硬盤(pán)時(shí),會(huì)有一定的速度損失,因?yàn)槿鄙俚挠脖P(pán)上存儲(chǔ)的數(shù)據(jù)必須重新計(jì)算。然而,重新計(jì)算的速度仍然比讀取一個(gè)物理?yè)p壞的硬盤(pán)要快得多。因此,您應(yīng)該避免使用已知物理?yè)p壞(多個(gè)壞扇區(qū)或類(lèi)似問(wèn)題)的硬盤(pán)進(jìn)行恢復(fù)。 

       雖然 RAID 6 可以由控制器用N-2塊硬盤(pán)重建,但我們分析RAID 6陣列時(shí)最好還是需要N-1塊硬盤(pán)來(lái)分析恢復(fù)RAID6。

帶延遲奇偶校驗(yàn)的RAID 5恢復(fù)

        一些控制器(如HP SmartArray)使用非標(biāo)準(zhǔn)的條帶方案,稱(chēng)為延遲奇偶校驗(yàn)(DP)。

       實(shí)際上,使用了兩個(gè)不同的塊大小,一個(gè)用于奇偶校驗(yàn),另一個(gè)用于數(shù)據(jù)。奇偶校驗(yàn)塊大小是數(shù)據(jù)塊大小的整數(shù)倍。因此,在RAID配置中出現(xiàn)了兩個(gè)額外的參數(shù)--延遲和first delay。延遲參數(shù)表示多重性,即一個(gè)奇偶校驗(yàn)塊中適合多少數(shù)據(jù)塊;first delay表示第一個(gè)奇偶校驗(yàn)塊中包含多少數(shù)據(jù)塊??赡艿难舆t值有1、2、4、8、16、32,第一個(gè)延遲可以從1到延遲值。


延遲奇偶校驗(yàn)的RAID的更多細(xì)節(jié)  

延遲奇偶校驗(yàn)的RAID恢復(fù)比上面簡(jiǎn)單的模型稍微復(fù)雜一些。完整的模型包括起始偏移量,起始偏移量小于一個(gè)數(shù)據(jù)塊。因此,除了磁盤(pán)順序,還有7個(gè)數(shù)組參數(shù): 

  • 開(kāi)始偏移量。

  • 數(shù)據(jù)塊大小(對(duì)應(yīng)于沒(méi)有延遲的RAID中典型的塊大小)。

  • 延遲(一個(gè)延遲奇偶校驗(yàn)塊中的數(shù)據(jù)塊數(shù))。

  • Firstdelay(第一個(gè)延遲奇偶校驗(yàn)塊中的數(shù)據(jù)塊數(shù))。

  • 在第一個(gè)塊中的奇偶校驗(yàn)位置。

  • 旋轉(zhuǎn),它決定了奇偶校驗(yàn)塊在數(shù)組中的位置變化。

  • 數(shù)據(jù)放置的類(lèi)型(同步或異步)。


請(qǐng)注意,偏移量和奇偶校驗(yàn)塊開(kāi)始的磁盤(pán)已經(jīng)改變。偏移量從2變?yōu)?,第一個(gè)奇偶校驗(yàn)塊的磁盤(pán)變成了磁盤(pán)1而不是磁盤(pán)2。如果無(wú)法指定第一個(gè)奇偶校驗(yàn)的磁盤(pán),則偏移量增加,以便切斷奇偶校驗(yàn)的第一整圈。在這個(gè)例子中,應(yīng)該使用的偏移量是13。理論上講,這樣的轉(zhuǎn)換會(huì)導(dǎo)致一些用戶(hù)數(shù)據(jù),本來(lái)在第一行的數(shù)據(jù),不能被工具讀取(由于負(fù)地址)。在這個(gè)例子中,灰色標(biāo)記的數(shù)據(jù)塊,從0到5,都會(huì)丟失。如果無(wú)法設(shè)置奇偶校驗(yàn)開(kāi)始的磁盤(pán),我們將不得不使用偏移量為13.在這種情況下,從1到21(含21)的數(shù)據(jù)塊將丟失。

       在實(shí)踐中,控制器元數(shù)據(jù)而不是用戶(hù)數(shù)據(jù)經(jīng)常被放置在這些塊中,因此所有的用戶(hù)數(shù)據(jù)仍然可以訪問(wèn)。  

RAID 6 恢復(fù)和 RAID 6 參數(shù) 

        RAID 6布局利用兩種不同的奇偶校驗(yàn)功能,這有助于RAID 6陣列在雙磁盤(pán)故障下生存。盡管RAID6被認(rèn)為比RAID5更可靠,但控制器故障的概率是一樣的。因此,如果您的RAID6出現(xiàn)故障,這很可能是由于控制器故障造成的。為了從控制器故障中恢復(fù)RAID6,您需要知道或恢復(fù)以下參數(shù): 

  • 成員盤(pán)的數(shù)量

  • 磁盤(pán)順序以及哪個(gè)磁盤(pán)是陣列中的第一個(gè)磁盤(pán)。

  • 塊大小。

  • 成員盤(pán)的起始偏移量。

  • 每個(gè)奇偶函數(shù)的位置。

  • 奇偶函數(shù)的旋轉(zhuǎn)。

  • 用于計(jì)算第二個(gè)奇偶校驗(yàn)函數(shù)的算法。

  • 奇偶校驗(yàn)函數(shù)的模式。 

        我們只有知道這些參數(shù)才能成功重建RAID6。 

RAID 6 的復(fù)雜性

        RAID 6比RAID 5復(fù)雜得多。

        第一個(gè)奇偶校驗(yàn)函數(shù)(XOR,圖中表示為P)自然來(lái)自RAID5。然而,第二個(gè)奇偶校驗(yàn)函數(shù)(Q)沒(méi)有被廣泛接受的標(biāo)準(zhǔn)。通常情況下,使用Reed-Solomon碼或其一些變體。   Reed-Solomon碼取決于輸入的順序。這又產(chǎn)生了四種變化:從左到右或從右到左,以及如果P或Q先計(jì)算。有幾種布局的變化,可容納兩個(gè)奇偶函數(shù)。