【廣告】
什么是磁盤(pán)陣列?
磁盤(pán)陣列(raid),一種把多塊獨(dú)立硬盤(pán)(物理硬盤(pán))按照不同方式組合成一個(gè)硬盤(pán)組(邏輯硬盤(pán)),從而提供比單個(gè)硬盤(pán)更好的存儲(chǔ)性能和數(shù)據(jù)備份能力的技術(shù)。是在多塊硬盤(pán)組成的陣列系統(tǒng)中,犧牲一塊或多塊硬盤(pán)自己的容量,來(lái)對(duì)數(shù)據(jù)的存儲(chǔ)提供一定的容錯(cuò)能力。塔式目前使用的較為廣泛的數(shù)據(jù)保護(hù)模式。
提到磁盤(pán)陣列數(shù)據(jù)的安全性,我們假設(shè)一下,如果你把重要的數(shù)據(jù)在沒(méi)有備份的情況下存儲(chǔ)在單一的硬盤(pán)中,如果硬盤(pán)損壞,輕的你可以找數(shù)據(jù)恢復(fù)公司進(jìn)行數(shù)據(jù)恢復(fù),損壞嚴(yán)重的你的數(shù)據(jù)就將丟失。但如果你采用磁盤(pán)陣列的形式進(jìn)行數(shù)據(jù)的存儲(chǔ)方式,那我們只需要替換掉陣列中壞的硬盤(pán)數(shù)據(jù)就可以恢復(fù)了。
磁盤(pán)陣列
磁盤(pán)陣列,有“獨(dú)立磁盤(pán)構(gòu)成的具有冗余能力的陣列”之意。
磁盤(pán)陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任意一個(gè)硬盤(pán)故障時(shí),仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時(shí),將數(shù)據(jù)經(jīng)計(jì)算后重新置入新硬盤(pán)中。
RAID 中主要有三個(gè)關(guān)鍵概念和技術(shù)
鏡像( Mirroring )、數(shù)據(jù)條帶( Data Stripping )和數(shù)據(jù)校驗(yàn)( Data parity )。鏡像,將數(shù)據(jù)copy到多個(gè)磁盤(pán),一方面可以提高可靠性,另一方面可并發(fā)從兩個(gè)或多個(gè)副本讀取數(shù)據(jù)來(lái)提高讀性能。顯而易見(jiàn),鏡像的寫(xiě)性能要稍低, 確保數(shù)據(jù)正確地寫(xiě)到多個(gè)磁盤(pán)需要更多的時(shí)間消耗。數(shù)據(jù)條帶,將數(shù)據(jù)分片保存在多個(gè)不同的磁盤(pán),多個(gè)數(shù)據(jù)分片共同組成一個(gè)完整數(shù)據(jù)副本,這與鏡像的多個(gè)副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當(dāng)訪問(wèn)數(shù)據(jù)時(shí),可以同時(shí)對(duì)位于不同磁盤(pán)上數(shù)據(jù)進(jìn)行讀寫(xiě)操作, 從而獲得非??捎^的 I/O 性能提升 。數(shù)據(jù)校驗(yàn),利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)錯(cuò)誤檢測(cè)和修復(fù),冗余數(shù)據(jù)通常采用海明碼、異或操作等算法來(lái)計(jì)算獲得。利用校驗(yàn)功能,可以很大程度上提高磁盤(pán)陣列的可靠性、魯棒性和容錯(cuò)能力。不過(guò),數(shù)據(jù)校驗(yàn)需要從多處讀取數(shù)據(jù)并進(jìn)行計(jì)算和對(duì)比,會(huì)影響系統(tǒng)性能。 不同等級(jí)的 RAID 采用一個(gè)或多個(gè)以上的三種技術(shù),來(lái)獲得不同的數(shù)據(jù)可靠性、可用性和 I/O 性能。至于設(shè)計(jì)何種 RAID (甚至新的等級(jí)或類(lèi)型)或采用何種模式的 RAID ,需要在深入理解系統(tǒng)需求的前提下進(jìn)行合理選擇,綜合評(píng)估可靠性、性能和成本來(lái)進(jìn)行折中的選擇。