匯總:最全的Raid磁盤陣列知識介紹
產(chǎn)品資訊2018年08月03日
Raid英文名是這個Redundant Array of Independent Disks,獨(dú)立硬盤冗余陣列,簡稱磁盤陣列。其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達(dá)到甚至超過一個價格昂貴、容量巨大的硬盤。先說一下Raid的好處,多個硬盤同時工作讀寫一定會有提升,當(dāng)然這不是像固態(tài)硬盤那樣速度提升而是另外一種方法。其次就是高可用,可以做熱備即使有一塊硬盤壞了,也不用擔(dān)心數(shù)據(jù)的問題。而且根據(jù)選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強(qiáng)數(shù)據(jù)集成度,增強(qiáng)容錯功能,增加處理量或容量。另外,磁盤陣列對于電腦來說,看起來就像一個單獨(dú)的硬盤或邏輯存儲單元。
一、基本原理
簡單地說, RAID 是由多個獨(dú)立的高性能磁盤驅(qū)動器組成的磁盤子系統(tǒng),從而提供比單個磁盤更高的存儲性能和數(shù)據(jù)冗余的技術(shù)。 RAID 是一類多磁盤管理技術(shù),其向主機(jī)環(huán)境提供了成本適中、數(shù)據(jù)可靠性高的高性能存儲。 SNIA 對 RAID 的定義是 :一種磁盤陣列,部分物理存儲空間用來記錄保存在剩余空間上的用戶數(shù)據(jù)的冗余信息。當(dāng)其中某一個磁盤或訪問路徑發(fā)生故障時,冗余信息可用來重建用戶數(shù)據(jù)。磁盤條帶化雖然與 RAID 定義不符,通常還是稱為 RAID (即 RAID0 )。RAID 的初衷是為大型服務(wù)器提供高端的存儲功能和冗余的數(shù)據(jù)安全。在整個系統(tǒng)中, RAID 被看作是由兩個或更多磁盤組成的存儲空間,通過并發(fā)地在多個磁盤上讀寫數(shù)據(jù)來提高存儲系統(tǒng)的 I/O 性能。大多數(shù) RAID 等級具有完備的數(shù)據(jù)校驗、糾正措施,從而提高系統(tǒng)的容錯性,甚至鏡像方式,大大增強(qiáng)系統(tǒng)的可靠性, Redundant 也由此而來。
二、關(guān)鍵目標(biāo)
RAID主要是為了提高數(shù)據(jù)可靠性和 I/O 性能。磁盤陣列中,數(shù)據(jù)分散在多個磁盤中,然而對于計算機(jī)系統(tǒng)來說,就像一個單獨(dú)的磁盤。通過把相同數(shù)據(jù)同時寫入到多塊磁盤(典型地如鏡像),或者將計算的校驗數(shù)據(jù)寫入陣列中來獲得冗余能力,當(dāng)單塊磁盤出現(xiàn)故障時可以保證不會導(dǎo)致數(shù)據(jù)丟失。有些 RAID 等級允許更多地 磁盤同時發(fā)生故障,比如 RAID6 ,可以是兩塊磁盤同時損壞。在這樣的冗余機(jī)制下,可以用新磁盤替換故障磁盤, RAID 會自動根據(jù)剩余磁盤中的數(shù)據(jù)和校驗數(shù)據(jù)重建丟失的數(shù)據(jù),保證數(shù)據(jù)一致性和完整性。數(shù)據(jù)分散保存在 RAID 中的多個不同磁盤上,并發(fā)數(shù)據(jù)讀寫要大大優(yōu)于單個磁盤,因此可以獲得更高的聚合 I/O 帶寬。當(dāng)然,磁盤陣列會減少全體磁盤的總可用存儲空間,犧牲空間換取更高的可靠性和性能。比如, RAID1 存儲空間利用率僅有 50% , RAID5 會損失其中一個磁盤的存儲容量,空間利用率為 (n-1)/n 。
磁盤陣列可以在部分磁盤(單塊或多塊,根據(jù)實(shí)現(xiàn)而論)損壞的情況下,仍能保證系統(tǒng)不中斷地連續(xù)運(yùn)行。在重建故障磁盤數(shù)據(jù)至新磁盤的過程中,系統(tǒng)可以繼續(xù)正常運(yùn)行,但是性能方面會有一定程度上的降低。一些磁盤陣列在添加或刪除磁盤時必須停機(jī),而有些則支持熱交換 ( Hot Swapping ),允許不停機(jī)下替換磁盤驅(qū)動器。這種高端磁盤陣列主要用于要求高可能性的應(yīng)用系統(tǒng),系統(tǒng)不能停機(jī)或盡可能少的停機(jī)時間。一般來說, RAID 不可作為數(shù)據(jù)備份的替代方案,它對非磁盤故障等造成的數(shù)據(jù)丟失無能為力,比如病毒、人為破壞、意外刪除等情形。此時的數(shù)據(jù)丟失是相對操作系統(tǒng)、文件系統(tǒng)、卷管理器或者應(yīng)用系統(tǒng)來說的,對于 RAID 系統(tǒng)來身,數(shù)據(jù)都是完好的,沒有發(fā)生丟失。所以,數(shù)據(jù)備份、災(zāi) 備等數(shù)據(jù)保護(hù)措施是非常必要的,與 RAID 相輔相成,保護(hù)數(shù)據(jù)在不同層次的安全性,防止發(fā)生數(shù)據(jù)丟失。
三、關(guān)鍵技術(shù)
RAID 中主要有三個關(guān)鍵概念和技術(shù):鏡像( Mirroring )、數(shù)據(jù)條帶( Data Stripping )和數(shù)據(jù)校驗( Data parity )。
1、鏡像
將數(shù)據(jù)復(fù)制到多個磁盤,一方面可以提高可靠性,另一方面可并發(fā)從兩個或多個副本讀取數(shù)據(jù)來提高讀性能。顯而易見,鏡像的寫性能要稍低, 確保數(shù)據(jù)正確地寫到多個磁盤需要更多的時間消耗。
鏡像是一種冗余技術(shù),為磁盤提供保護(hù)功能,防止磁盤發(fā)生故障而造成數(shù)據(jù)丟失。對于 RAID 而言,采用鏡像技術(shù) 典型地 將會同時在陣列中產(chǎn)生兩個完全相同的數(shù)據(jù)副本,分布在兩個不同的磁盤驅(qū)動器組上。鏡像提供了完全的數(shù)據(jù)冗余能力,當(dāng)一個數(shù)據(jù)副本失效不可用時,外部系統(tǒng)仍可正常訪問另一副本,不會對應(yīng)用系統(tǒng)運(yùn)行和性能產(chǎn)生影響。而且,鏡像不需要額外的計算和校驗,故障修復(fù)非常快,直接復(fù)制即可。鏡像技術(shù)可以從多個副本進(jìn)行并發(fā)讀取數(shù)據(jù),提供更高的讀 I/O 性能,但不能并行寫數(shù)據(jù),寫多個副本會會導(dǎo)致一定的 I/O 性能降低。
鏡像技術(shù)提供了非常高的數(shù)據(jù)安全性,其代價也是非常昂貴的,需要至少雙倍的存儲空間。高成本限制了鏡像的廣泛應(yīng)用,主要應(yīng)用于至關(guān)重要的數(shù)據(jù)保護(hù),這種場合下數(shù)據(jù)丟失會造成巨大的損失。另外,鏡像通過 “ 拆分 ” 能獲得特定時間點(diǎn)的上數(shù)據(jù)快照,從而可以實(shí)現(xiàn)一種備份窗口幾乎為零的數(shù)據(jù)備份技術(shù)。
2、數(shù)據(jù)條帶
將數(shù)據(jù)分片保存在多個不同的磁盤,多個數(shù)據(jù)分片共同組成一個完整數(shù)據(jù)副本,這與鏡像的多個副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當(dāng)訪問數(shù)據(jù)時,可以同時對位于不同磁盤上數(shù)據(jù)進(jìn)行讀寫操作, 從而獲得非??捎^的 I/O 性能提升 。
磁盤存儲的性能瓶頸在于磁頭尋道定位,它是一種慢速機(jī)械運(yùn)動,無法與高速的 CPU 匹配。再者,單個磁盤驅(qū)動器性能存在物理極限, I/O 性能非常有限。 RAID 由多塊磁盤組成,數(shù)據(jù)條帶技術(shù)將數(shù)據(jù)以塊的方式分布存儲在多個磁盤中,從而可以對數(shù)據(jù)進(jìn)行并發(fā)處理。這樣寫入和讀取數(shù)據(jù)就可以在多個磁盤上同時進(jìn)行,并發(fā)產(chǎn)生非常高的聚合 I/O ,有效提高了整體 I/O 性能,而且具有良好的線性擴(kuò)展性。這對大容量數(shù)據(jù)尤其顯著,如果不分塊,數(shù)據(jù)只能按順序存儲在磁盤陣列的磁盤上,需要時再按順序讀取。而通過條帶技術(shù),可獲得數(shù)倍與順序訪問的性能提升。
數(shù)據(jù)條帶技術(shù)的分塊大小選擇非常關(guān)鍵。條帶粒度可以是一個字節(jié)至幾 KB 大小,分塊越小,并行處理能力就越強(qiáng),數(shù)據(jù)存取速度就越高,但同時就會增加塊存取的隨機(jī)性和塊尋址時間。實(shí)際應(yīng)用中,要根據(jù)數(shù)據(jù)特征和需求來選擇合適的分塊大小,在數(shù)據(jù)存取隨機(jī)性和并發(fā)處理能力之間進(jìn)行平衡,以爭取盡可能高的整體性能。
數(shù)據(jù)條帶是基于提高 I/O 性能而提出的,也就是說它只關(guān)注性能, 而對數(shù)據(jù)可靠性、可用性沒有任何改善。實(shí)際上,其中任何一個數(shù)據(jù)條帶損壞都會導(dǎo)致整個數(shù)據(jù)不可用,采用數(shù)據(jù)條帶技術(shù)反而增加了數(shù)據(jù)發(fā)生丟失的概念率。
3、數(shù)據(jù)校驗
利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)錯誤檢測和修復(fù),冗余數(shù)據(jù)通常采用海明碼、異或操作等算法來計算獲得。利用校驗功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯能力。不過,數(shù)據(jù)校驗需要從多處讀取數(shù)據(jù)并進(jìn)行計算和對比,會影響系統(tǒng)性能。 不同等級的 RAID 采用一個或多個以上的三種技術(shù),來獲得不同的數(shù)據(jù)可靠性、可用性和 I/O 性能。至于設(shè)計何種 RAID (甚至新的等級或類型)或采用何種模式的 RAID ,需要在深入理解系統(tǒng)需求的前提下進(jìn)行合理選擇,綜合評估可靠性、性能和成本來進(jìn)行折中的選擇。
鏡像具有高安全性、高讀性能,但冗余開銷太昂貴。數(shù)據(jù)條帶通過并發(fā)性來大幅提高性能,然而對數(shù)據(jù)安全性、可靠性未作考慮。數(shù)據(jù)校驗是一種冗余技術(shù),它用校驗數(shù)據(jù)來提供數(shù)據(jù)的安全,可以檢測數(shù)據(jù)錯誤,并在能力允許的前提下進(jìn)行數(shù)據(jù)重構(gòu)。相對鏡像,數(shù)據(jù)校驗大幅縮減了冗余開銷,用較小的代價換取了極佳的數(shù)據(jù)完整性和可靠性。數(shù)據(jù)條帶技術(shù)提供高性能,數(shù)據(jù)校驗提供數(shù)據(jù)安全性, RAID 不同等級往往同時結(jié)合使用這兩種技術(shù)。
采用數(shù)據(jù)校驗時, RAID 要在寫入數(shù)據(jù)同時進(jìn)行校驗計算,并將得到的校驗數(shù)據(jù)存儲在 RAID 成員磁盤中。校驗數(shù)據(jù)可以集中保存在某個磁盤或分散存儲在多個不同磁盤中,甚至校驗數(shù)據(jù)也可以分塊,不同 RAID 等級實(shí)現(xiàn)各不相同。當(dāng)其中一部分?jǐn)?shù)據(jù)出錯時,就可以對剩余數(shù)據(jù)和校驗數(shù)據(jù)進(jìn)行反校驗計算重建丟失的數(shù)據(jù)。校驗技術(shù)相對于鏡像技術(shù)的優(yōu)勢在于節(jié)省大量開銷,但由于每次數(shù)據(jù)讀寫都要進(jìn)行大量的校驗運(yùn)算,對計算機(jī)的運(yùn)算速度要求很高,必須使用硬件 RAID 控制器。在數(shù)據(jù)重建恢復(fù)方面,檢驗技術(shù)比鏡像技術(shù)復(fù)雜得多且慢得多。
海明校驗碼和 異或校驗是兩種最為常用的 數(shù)據(jù)校驗算法。海明校驗碼是由理查德 · 海明提出的,不僅能檢測錯誤,還能給出錯誤位置并自動糾正。海明校驗的基本思想是:將有效信息按照某種規(guī)律分成若干組,對每一個組作奇偶測試并安排一個校驗位,從而能提供多位檢錯信息,以定位錯誤點(diǎn)并糾正??梢姾C餍r瀸?shí)質(zhì)上是一種多重奇偶校驗。異或校驗通過異或邏輯運(yùn)算產(chǎn)生,將一個有效信息與一個給定的初始值進(jìn)行異或運(yùn)算,會得到校驗信息。如果有效信息出現(xiàn)錯誤,通過校驗信息與初始值的異或運(yùn)算能還原正確的有效信息。
RAID 思想從提出后就廣泛被業(yè)界所接納,存儲工業(yè)界投入了大量的時間和財力來研究和開發(fā)相關(guān)產(chǎn)品。而且,隨著處理器、內(nèi)存、計算機(jī)接口等技術(shù)的不斷發(fā)展, RAID 不斷地發(fā)展和革新,在計算機(jī)存儲領(lǐng)域得到了廣泛的應(yīng)用,從高端系統(tǒng)逐漸延伸到普通的中低端系統(tǒng)。 RAID 技術(shù)如此流行,源于其具有顯著的特征和優(yōu)勢,基本可以滿足大部分的數(shù)據(jù)存儲需求。
四、 RAID的優(yōu)勢
(1) 大容量
這是 RAID 的一個顯然優(yōu)勢,它擴(kuò)大了磁盤的容量,由多個磁盤組成的 RAID 系統(tǒng)具有海量的存儲空間?,F(xiàn)在單個磁盤的容量就可以到 1TB 以上,這樣 RAID 的存儲容量就可以達(dá)到 PB 級,大多數(shù)的存儲需求都可以滿足。一般來說, RAID 可用容量要小于所有成員磁盤的總?cè)萘?。不同等級?RAID 算法需要一定的冗余開銷,具體容量開銷與采用算法相關(guān)。如果已知 RAID 算法和容量,可以計算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之間。
(2) 高性能
RAID 的高性能受益于數(shù)據(jù)條帶化技術(shù)。單個磁盤的 I/O 性能受到接口、帶寬等計算機(jī)技術(shù)的限制,性能往往很有 限,容易成為系統(tǒng)性能的瓶頸。通過數(shù)據(jù)條帶化, RAID 將數(shù)據(jù) I/O 分散到各個成員磁盤上,從而獲得比單個磁盤成倍增長的聚合 I/O 性能。
(3) 可靠性
可用性和可靠性是 RAID 的另一個重要特征。從理論上講,由多個磁盤組成的 RAID 系統(tǒng)在可靠性方面應(yīng)該比單個磁盤要差。這里有個隱含假定:單個磁盤故障將導(dǎo)致整個 RAID 不可用。 RAID 采用鏡像和數(shù)據(jù)校驗等數(shù)據(jù)冗余技術(shù),打破了這個假定。 鏡像是最為原始的冗余技術(shù),把某組磁盤驅(qū)動器上的數(shù)據(jù)完全復(fù)制到另一組磁盤驅(qū)動器上,保證總有數(shù)據(jù)副本可用。 比起鏡像 50% 的冗余開銷 ,數(shù)據(jù)校驗要小很多,它利用校驗冗余信息對數(shù)據(jù)進(jìn)行校驗和糾錯。 RAID 冗余技術(shù)大幅提升數(shù)據(jù)可用性和可靠性,保證了若干磁盤出錯時,不 會導(dǎo)致數(shù)據(jù)的丟失,不影響系統(tǒng)的連續(xù)運(yùn)行。
(4) 可管理性
實(shí)際上, RAID 是一種虛擬化技術(shù),它對多個物理磁盤驅(qū)動器虛擬成一個大容量的邏輯驅(qū)動器。對于外部主機(jī)系統(tǒng)來說, RAID 是一個單一的、快速可靠的大容量磁盤驅(qū)動器。這樣,用戶就可以在這個虛擬驅(qū)動器上來組織和存儲應(yīng)用系統(tǒng)數(shù)據(jù)。 從用戶應(yīng)用角度看,可使存儲系統(tǒng)簡單易用,管理也很便利。 由于 RAID 內(nèi)部完成了大量的存儲管理工作,管理員只需要管理單個虛擬驅(qū)動器,可以節(jié)省大量的管理工作。 RAID 可以動態(tài)增減磁盤驅(qū)動器,可自動進(jìn)行數(shù)據(jù)校驗和數(shù)據(jù)重建,這些都可以 大大簡化管理工作。
五、Raid的級別
RAID-0 0 條帶卷
RAID0的原理就是在數(shù)據(jù)讀寫的時候?qū)⒁粋€數(shù)據(jù)拆分成多個部分,分散到多個磁盤上的。注意這里是沒有備份的,存是分開存,讀也是分開讀然后由控制器拼接到一起的。這里的數(shù)據(jù)拆分單位叫做chunk,這種級別的RAID0特點(diǎn)就是讀寫性能提升,磁盤容量為容量最小硬盤*硬盤個數(shù)。這種設(shè)計沒有容錯能力,所以一旦硬盤出現(xiàn)問題,后果不堪設(shè)想!
RAID-1 1 鏡像卷
RAID1看名字意思就是給磁盤做了一個鏡像,所以叫做鏡像卷把。它的工作原理就是為單個硬盤配備一塊鏡像硬盤,數(shù)據(jù)存儲時性能是會下降的,但是讀取數(shù)據(jù)時可以并行從兩塊硬盤同時讀取,但是做好不重復(fù)讀才是難點(diǎn)!同時它也具備冗余能力,當(dāng)一塊硬盤壞掉之后另一塊的數(shù)據(jù)與之相同能夠立即投入使用,具備容錯能力。磁盤容量為最小單個硬盤容量。
RAID-4
RAID4的工作機(jī)制是在數(shù)據(jù)存儲時由平級的三塊硬盤組成,將數(shù)據(jù)分割成chunk1和chunk2 ,硬盤就是由hdd1,hdd2,hdd3組成的,hdd1存儲chunk1的數(shù)據(jù),hdd2存儲chunk2的數(shù)據(jù),hdd3存儲chunk1和chunk2的校驗碼,通常使用chunk1與chunk2對位做亦或運(yùn)算得出校驗碼,可以理解成為1+2=3的形式,意味著得到任意其中兩塊硬盤就能夠計算出第三塊硬盤的數(shù)據(jù)。Raid4的特點(diǎn)就是通過校驗碼具備一定容錯能力,chunk1和chunk2可以并行讀寫,性能是有所提升的。但是通過校驗碼計算出另一塊硬盤數(shù)據(jù)只能做應(yīng)急使用,因為此時會增加其他兩塊hdd的負(fù)載同時Raid4也有一個固有的缺陷就是存放校驗碼的hdd壓力會過高,也是性能瓶頸的短板!
RAID-5
Raid5對Raid4的工作機(jī)制進(jìn)行了改進(jìn),采用了三塊硬盤輪流作存放校驗碼的硬盤,因為存放校驗碼的盤壓力是高過其他兩塊的,于是這也就實(shí)現(xiàn)了一定意義的上負(fù)載均衡。第一次讀寫時hdd1作存放校驗碼的盤,第二次讀寫時hdd2作存放校驗碼的盤,第三次讀寫時hdd3作存放校驗碼的盤,這樣就能夠讓三塊盤同時分擔(dān)數(shù)據(jù)還原的壓力。它的特性是具備一塊磁盤損壞的容錯能力,讀寫性能有提升,磁盤空間為最小容量磁盤*硬盤數(shù)量-1。
RAID-6
Riad6又對Raid又對raid5的基礎(chǔ)上做了改進(jìn),為了增加磁盤穩(wěn)定性它使用了兩塊磁盤做校驗盤,于是校驗碼存儲為兩次,為了增加穩(wěn)定性采用兩塊數(shù)據(jù)盤兩塊校驗盤的方式,但是感覺上有點(diǎn)奇怪。企業(yè)中實(shí)際應(yīng)用不會太多,見仁見智把。
RAID-10
Raid10需要10塊硬盤,兩兩一組,每組做一個鏡像卷,這樣有5組鏡像卷,在此之上做RAID0,就是將數(shù)據(jù)每次分成五個chunk,存取并行讀寫的方式存儲在這五個鏡像卷上的。這種模式有一定容錯能力,也有異步IO能力,但是磁盤利用率只有50%。犧牲了一半的磁盤容量。數(shù)據(jù)進(jìn)來時,先進(jìn)鏡像卷,然后進(jìn)條帶卷。
RAID-01
Raid01和Raid10十分相似,這次是先做條帶卷,每個數(shù)據(jù)分成5分chunk, 存入由5塊磁盤組成的條帶卷,在此基礎(chǔ)上做該條帶卷的鏡像。
相關(guān)閱讀
一周排行榜
熱門活動
熱點(diǎn)推薦
- 1皇家藍(lán)全屋智能整裝 時尚科技設(shè)計打造智能環(huán)保家居
- 1享受極致的高品質(zhì)生活,體驗未來智能家庭
- 1豐唐物聯(lián)攜OOMI智能家居3.0大宅系統(tǒng)亮相北京國際家裝建材智能家居展
- 1未來部落智能創(chuàng)意館打造不一樣的家居體驗
- 1時鐘控制器是什么?與時間繼電器的區(qū)別介紹
- 1校園標(biāo)準(zhǔn)化考場自動接收同步時鐘系統(tǒng)的常規(guī)應(yīng)用方案
- 1匯總:光纖收發(fā)器常見的8大故障
- 1詳解鉛酸蓄電池的結(jié)構(gòu)和基本工作原理
- 1弱電工程之如何選擇電源?
- 1圖解智能化弱電項目全部施工流程