RAID 知識普及

studywell發表於2019-05-14

轉: http://www.sohu.com/a/226786837_100128442

前言

RAID,獨立硬碟冗餘陣列(RAID, Redundant Array of Independent Disks),簡稱磁碟陣列。其基本思想就是把多個相對便宜的硬碟組合起來,成為一個硬碟陣列組,使效能達到甚至超過一個價格昂貴、容量巨大的硬碟。

根據選擇的版本不同,RAID比單顆硬碟有以下一個或多個方面的好處:增強資料整合度,增強容錯功能,增加處理量或容量。另外,磁碟陣列對於電腦來說,看起來就像一個單獨的硬碟或邏輯儲存單元。

RAID基礎知識

基本原理

RAID ( Redundant Array of Independent Disks )即獨立磁碟冗餘陣列,通常簡稱為磁碟陣列。簡單地說, RAID 是由多個獨立的高效能磁碟驅動器組成的磁碟子系統,從而提供比單個磁碟更高的儲存效能和資料冗餘的技術。 RAID 是一類多磁碟管理技術,其向主機環境提供了成本適中、資料可靠性高的高效能儲存。 SNIA 對 RAID 的定義是 :一種磁碟陣列,部分物理儲存空間用來記錄儲存在剩餘空間上的使用者資料的冗餘資訊。當其中某一個磁碟或訪問路徑發生故障時,冗餘資訊可用來重建使用者資料。磁碟條帶化雖然與 RAID 定義不符,通常還是稱為 RAID (即 RAID0 )。

RAID 的初衷是為大型伺服器提供高階的儲存功能和冗餘的資料安全。在整個系統中, RAID 被看作是由兩個或更多磁碟組成的儲存空間,通過併發地在多個磁碟上讀寫資料來提高儲存系統的 I/O 效能。大多數 RAID 等級具有完備的資料校驗、糾正措施,從而提高系統的容錯性,甚至映象方式,大大增強系統的可靠性, Redundant 也由此而來。

RAID 的兩個關鍵目標是提高資料可靠性和 I/O 效能。磁碟陣列中,資料分散在多個磁碟中,然而對於計算機系統來說,就像一個單獨的磁碟。通過把相同資料同時寫入到多塊磁碟(典型地如映象),或者將計算的校驗資料寫入陣列中來獲得冗餘能力,當單塊磁碟出現故障時可以保證不會導致資料丟失。有些 RAID 等級允許更多地 磁碟同時發生故障,比如 RAID6 ,可以是兩塊磁碟同時損壞。在這樣的冗餘機制下,可以用新磁碟替換故障磁碟, RAID 會自動根據剩餘磁碟中的資料和校驗資料重建丟失的資料,保證資料一致性和完整性。資料分散儲存在 RAID 中的多個不同磁碟上,併發資料讀寫要大大優於單個磁碟,因此可以獲得更高的聚合 I/O 頻寬。當然,磁碟陣列會減少全體磁碟的總可用儲存空間,犧牲空間換取更高的可靠性和效能。比如, RAID1 儲存空間利用率僅有 50% , RAID5 會損失其中一個磁碟的儲存容量,空間利用率為 (n-1)/n 。

磁碟陣列可以在部分磁碟(單塊或多塊,根據實現而論)損壞的情況下,仍能保證系統不中斷地連續執行。在重建故障磁碟資料至新磁碟的過程中,系統可以繼續正常執行,但是效能方面會有一定程度上的降低。一些磁碟陣列在新增或刪除磁碟時必須停機,而有些則支援熱交換 ( Hot Swapping ),允許不停機下替換磁碟驅動器。這種高階磁碟陣列主要用於要求高可能性的應用系統,系統不能停機或儘可能少的停機時間。一般來說, RAID 不可作為資料備份的替代方案,它對非磁碟故障等造成的資料丟失無能為力,比如病毒、人為破壞、意外刪除等情形。此時的資料丟失是相對作業系統、檔案系統、卷管理器或者應用系統來說的,對於 RAID 系統來身,資料都是完好的,沒有發生丟失。所以,資料備份、災 備等資料保護措施是非常必要的,與 RAID 相輔相成,保護資料在不同層次的安全性,防止發生資料丟失。

RAID 中主要有三個關鍵概念和技術:映象( Mirroring )、資料條帶( Data Stripping )和資料校驗( Data parity )。映象,將資料複製到多個磁碟,一方面可以提高可靠性,另一方面可併發從兩個或多個副本讀取資料來提高讀效能。顯而易見,映象的寫效能要稍低, 確保資料正確地寫到多個磁碟需要更多的時間消耗。資料條帶,將資料分片儲存在多個不同的磁碟,多個資料分片共同組成一個完整資料副本,這與映象的多個副本是不同的,它通常用於效能考慮。資料條帶具有更高的併發粒度,當訪問資料時,可以同時對位於不同磁碟上資料進行讀寫操作, 從而獲得非常可觀的 I/O 效能提升 。資料校驗,利用冗餘資料進行資料錯誤檢測和修復,冗餘資料通常採用海明碼、異或操作等演算法來計算獲得。利用校驗功能,可以很大程度上提高磁碟陣列的可靠性、魯棒性和容錯能力。不過,資料校驗需要從多處讀取資料並進行計算和對比,會影響系統效能。 不同等級的 RAID 採用一個或多個以上的三種技術,來獲得不同的資料可靠性、可用性和 I/O 效能。至於設計何種 RAID (甚至新的等級或型別)或採用何種模式的 RAID ,需要在深入理解系統需求的前提下進行合理選擇,綜合評估可靠性、效能和成本來進行折中的選擇。

RAID 思想從提出後就廣泛被業界所接納,儲存工業界投入了大量的時間和財力來研究和開發相關產品。而且,隨著處理器、記憶體、計算機介面等技術的不斷髮展, RAID 不斷地發展和革新,在計算機儲存領域得到了廣泛的應用,從高階系統逐漸延伸到普通的中低端系統。 RAID 技術如此流行,源於其具有顯著的特徵和優勢,基本可以滿足大部分的資料儲存需求。

總體說來, RAID 主要優勢有如下幾點:(1) 大容量  這是 RAID 的一個顯然優勢,它擴大了磁碟的容量,由多個磁碟組成的 RAID 系統具有海量的儲存空間。現在單個磁碟的容量就可以到 1TB 以上,這樣 RAID 的儲存容量就可以達到 PB 級,大多數的儲存需求都可以滿足。一般來說, RAID 可用容量要小於所有成員磁碟的總容量。不同等級的 RAID 演算法需要一定的冗餘開銷,具體容量開銷與採用演算法相關。如果已知 RAID 演算法和容量,可以計算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之間。(2) 高效能   RAID 的高效能受益於資料條帶化技術。單個磁碟的 I/O 效能受到介面、頻寬等計算機技術的限制,效能往往很有 限,容易成為系統效能的瓶頸。通過資料條帶化, RAID 將資料 I/O 分散到各個成員磁碟上,從而獲得比單個磁碟成倍增長的聚合 I/O 效能。(3) 可靠性  可用性和可靠性是 RAID 的另一個重要特徵。從理論上講,由多個磁碟組成的 RAID 系統在可靠性方面應該比單個磁碟要差。這裡有個隱含假定:單個磁碟故障將導致整個 RAID 不可用。 RAID 採用映象和資料校驗等資料冗餘技術,打破了這個假定。 映象是最為原始的冗餘技術,把某組磁碟驅動器上的資料完全複製到另一組磁碟驅動器上,保證總有資料副本可用。 比起映象 50% 的冗餘開銷 ,資料校驗要小很多,它利用校驗冗餘資訊對資料進行校驗和糾錯。 RAID 冗餘技術大幅提升資料可用性和可靠性,保證了若干磁碟出錯時,不 會導致資料的丟失,不影響系統的連續執行。(4) 可管理性  實際上, RAID 是一種虛擬化技術,它對多個物理磁碟驅動器虛擬成一個大容量的邏輯驅動器。對於外部主機系統來說, RAID 是一個單一的、快速可靠的大容量磁碟驅動器。這樣,使用者就可以在這個虛擬驅動器上來組織和儲存應用系統資料。 從使用者應用角度看,可使儲存系統簡單易用,管理也很便利。 由於 RAID 內部完成了大量的儲存管理工作,管理員只需要管理單個虛擬驅動器,可以節省大量的管理工作。 RAID 可以動態增減磁碟驅動器,可自動進行資料校驗和資料重建,這些都可以 大大簡化管理工作。

關鍵技術

映象

映象是一種冗餘技術,為磁碟提供保護功能,防止磁碟發生故障而造成資料丟失。對於 RAID 而言,採用映象技術 典型地 將會同時在陣列中產生兩個完全相同的資料副本,分佈在兩個不同的磁碟驅動器組上。映象提供了完全的資料冗餘能力,當一個資料副本失效不可用時,外部系統仍可正常訪問另一副本,不會對應用系統執行和效能產生影響。而且,映象不需要額外的計算和校驗,故障修復非常快,直接複製即可。映象技術可以從多個副本進行併發讀取資料,提供更高的讀 I/O 效能,但不能並行寫資料,寫多個副本會會導致一定的 I/O 效能降低。

映象技術提供了非常高的資料安全性,其代價也是非常昂貴的,需要至少雙倍的儲存空間。高成本限制了映象的廣泛應用,主要應用於至關重要的資料保護,這種場合下資料丟失會造成巨大的損失。另外,映象通過 “ 拆分 ” 能獲得特定時間點的上資料快照,從而可以實現一種備份視窗幾乎為零的資料備份技術。

資料條帶

磁碟儲存的效能瓶頸在於磁頭尋道定位,它是一種慢速機械運動,無法與高速的 CPU 匹配。再者,單個磁碟驅動器效能存在物理極限, I/O 效能非常有限。 RAID 由多塊磁碟組成,資料條帶技術將資料以塊的方式分佈儲存在多個磁碟中,從而可以對資料進行併發處理。這樣寫入和讀取資料就可以在多個磁碟上同時進行,併發產生非常高的聚合 I/O ,有效提高了整體 I/O 效能,而且具有良好的線性擴充套件性。這對大容量資料尤其顯著,如果不分塊,資料只能按順序儲存在磁碟陣列的磁碟上,需要時再按順序讀取。而通過條帶技術,可獲得數倍與順序訪問的效能提升。

資料條帶技術的分塊大小選擇非常關鍵。條帶粒度可以是一個位元組至幾 KB 大小,分塊越小,並行處理能力就越強,資料存取速度就越高,但同時就會增加塊存取的隨機性和塊定址時間。實際應用中,要根據資料特徵和需求來選擇合適的分塊大小,在資料存取隨機性和併發處理能力之間進行平衡,以爭取儘可能高的整體效能。

資料條帶是基於提高 I/O 效能而提出的,也就是說它只關注效能, 而對資料可靠性、可用性沒有任何改善。實際上,其中任何一個資料條帶損壞都會導致整個資料不可用,採用資料條帶技術反而增加了資料發生丟失的概念率。

資料校驗

映象具有高安全性、高讀效能,但冗餘開銷太昂貴。資料條帶通過併發性來大幅提高效能,然而對資料安全性、可靠性未作考慮。資料校驗是一種冗餘技術,它用校驗資料來提供資料的安全,可以檢測資料錯誤,並在能力允許的前提下進行資料重構。相對映象,資料校驗大幅縮減了冗餘開銷,用較小的代價換取了極佳的資料完整性和可靠性。資料條帶技術提供高效能,資料校驗提供資料安全性, RAID 不同等級往往同時結合使用這兩種技術。

採用資料校驗時, RAID 要在寫入資料同時進行校驗計算,並將得到的校驗資料儲存在 RAID 成員磁碟中。校驗資料可以集中儲存在某個磁碟或分散儲存在多個不同磁碟中,甚至校驗資料也可以分塊,不同 RAID 等級實現各不相同。當其中一部分資料出錯時,就可以對剩餘資料和校驗資料進行反校驗計算重建丟失的資料。校驗技術相對於映象技術的優勢在於節省大量開銷,但由於每次資料讀寫都要進行大量的校驗運算,對計算機的運算速度要求很高,必須使用硬體 RAID 控制器。在資料重建恢復方面,檢驗技術比映象技術複雜得多且慢得多。

海明校驗碼和 異或校驗是兩種最為常用的 資料校驗演算法。海明校驗碼是由理查德 · 海明提出的,不僅能檢測錯誤,還能給出錯誤位置並自動糾正。海明校驗的基本思想是:將有效資訊按照某種規律分成若干組,對每一個組作奇偶測試並安排一個校驗位,從而能提供多位檢錯資訊,以定位錯誤點並糾正。可見海明校驗實質上是一種多重奇偶校驗。異或校驗通過異或邏輯運算產生,將一個有效資訊與一個給定的初始值進行異或運算,會得到校驗資訊。如果有效資訊出現錯誤,通過校驗資訊與初始值的異或運算能還原正確的有效資訊。

常見RAID型別

常見5種RAID型別對比,n位磁碟數量。

RAID 知識普及

RAID 等級

標準 RAID 等級

SNIA 、 Berkeley 等組織機構把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七個等級定為標準的 RAID 等級,這也被業界和學術界所公認。標準等級是最基本的 RAID 配置集合,單獨或綜合利用資料條帶、映象和資料校驗技術。標準 RAID 可以組合,即 RAID 組合等級,滿足 對效能、安全性、可靠性要求更高的儲存應用需求。

JBOD

JBOD ( Just a Bunch Of Disks )不是標準的 RAID 等級,它通常用來表示一個沒有控制軟體提供協調控制的磁碟集合。 JBOD 將多個物理磁碟串聯起來,提供一個巨大的邏輯磁碟。 JBOD 的資料存放機制是由第一塊磁碟開始按順序往後儲存,當前磁碟儲存空間用完後,再依次往後面的磁碟儲存資料。 JBOD 儲存效能完全等同於單塊磁碟,而且也不提供資料安全保護。它只是簡單提供一種擴充套件儲存空間的機制, JBOD 可用儲存容量等於所有成員磁碟的儲存空間之和。目前 JBOD 常指磁碟櫃,而不論其是否提供 RAID 功能。

RAID 知識普及

RAID0

RAID0 是一種簡單的、無資料校驗的資料條帶化技術。實際上不是一種真正的 RAID ,因為它並不提供任何形式的冗餘策略。 RAID0 將所在磁碟條帶化後組成大容量的儲存空間,將資料分散儲存在所有磁碟中,以獨立訪問方式實現多塊磁碟的並讀訪問。由於可以併發執行 I/O 操作,匯流排頻寬得到充分利用。再加上不需要進行資料校驗, RAID0 的效能在所有 RAID 等級中是最高的。理論上講,一個由 n 塊磁碟組成的 RAID0 ,它的讀寫效能是單個磁碟效能的 n 倍,但由於匯流排頻寬等多種因素的限制,實際的效能提升低於理論值。

RAID0 具有低成本、高讀寫效能、 100% 的高儲存空間利用率等優點,但是它不提供資料冗餘保護,一旦資料損壞,將無法恢復。 因此, RAID0 一般適用於對效能要求嚴格但對資料安全性和可靠性不高的應用,如視訊、音訊儲存、臨時資料快取空間等。

RAID 知識普及

RAID1

RAID1 稱為映象,它將資料完全一致地分別寫到工作磁碟和映象 磁碟,它的磁碟空間利用率為 50% 。 RAID1 在資料寫入時,響應時間會有所影響,但是讀資料的時候沒有影響。 RAID1 提供了最佳的資料保護,一旦工作磁碟發生故障,系統自動從映象磁碟讀取資料,不會影響使用者工作。

RAID1 與 RAID0 剛好相反,是為了增強資料安全性使兩塊 磁碟資料呈現完全映象,從而達到安全性好、技術簡單、管理方便。 RAID1 擁有完全容錯的能力,但實現成本高。 RAID1 應用於對順序讀寫效能要求高以及對資料保護極為重視的應用,如對郵件系統的資料保護。

RAID 知識普及

RAID 2、3、4

RAID2、3、4較少實際應用,它們大多隻在研究領域有實作。

RAID5

RAID5 應該是目前最常見的 RAID 等級,它的原理與 RAID4 相似,區別在於校驗資料分佈在陣列中的所有磁碟上,而沒有采用專門的校驗磁碟。對於資料和校驗資料,它們的寫操作可以同時發生在完全不同的磁碟上。因此, RAID5 不存在 RAID4 中的併發寫操作時的校驗盤效能瓶頸問題。另外, RAID5 還具備很好的擴充套件性。當陣列磁碟 數量增加時,並行操作量的能力也隨之增長,可比 RAID4 支援更多的磁碟,從而擁有更高的容量以及更高的效能。

RAID5 的磁碟上同時儲存資料和校驗資料,資料塊和對應的校驗資訊存儲存在不同的磁碟上,當一個資料盤損壞時,系統可以根據同一條帶的其他資料塊和對應的校驗資料來重建損壞的資料。與其他 RAID 等級一樣,重建資料時, RAID5 的效能會受到較大的影響。

RAID5 兼顧儲存效能、資料安全和儲存成本等各方面因素,它可以理解為 RAID0 和 RAID1 的折中方案,是目前綜合效能最佳的資料保護解決方案。 RAID5 基本上可以滿足大部分的儲存應用需求,資料中心大多采用它作為應用資料的保護方案。

RAID 知識普及

RAID6

前面所 述的各個 RAID 等級都只能保護因單個磁碟失效而造成的資料丟失。如果兩個磁碟同時發生故障,資料將無法恢復。 RAID6 引入雙重校驗的概念,它可以保護陣列中同時出現兩個磁碟失效時,陣列仍能夠繼續工作,不會發生資料丟失。 RAID6 等級是在 RAID5 的基礎上為了進一步增強資料保護而設計的一種 RAID 方式,它可以看作是一種擴充套件的 RAID5 等級。

RAID6 不僅要支援資料的恢復,還要支援校驗資料的恢復,因此實現代價很高,控制器的設計也比其他等級更復雜、更昂貴。 RAID6 思想最常見的實現方式是採用兩個獨立的校驗演算法,假設稱為 P 和 Q ,校驗資料可以分別儲存在兩個不同的校驗盤上,或者分散儲存在所有成員磁碟中。當兩個磁碟同時失效時,即可通過求解兩元方程來重建兩個磁碟上的資料。

RAID6 具有快速的讀取效能、更高的容錯能力。但是,它的成本要高於 RAID5 許多,寫效能也較差,並有設計和實施非常複雜。因此, RAID6 很少得到實際應用,主要用於對資料安全等級要求非常高的場合。它一般是替代 RAID10 方案的經濟性選擇

RAID 知識普及

RAID 7

RAID 7並非公開的RAID標準,而是Storage Computer Corporation的專利硬體產品名稱。

RAID 7的效能超越了許多其他RAID標準的實做產品,但也因為如此,在價格方面非常的高昂。

RAID 組合等級

標準 RAID 等級各有優勢和不足。自然地,我們想到把多個 RAID 等級組合起來,實現優勢互補,彌補相互的不足,從而達到在效能、資料安全性等指標上更高的 RAID 系統。目前在業界和學術研究中提到的 RAID 組合等級主要有 RAID00 、 RAID01 、 RAID10 、 RAID100 、 RAID30 、 RAID50 、 RAID53 、 RAID60 ,但實際得到較為廣泛應用的只有 RAID01 和 RAID10 兩個等級。當然,組合等級的實現成本一般都非常昂貴,只是在 少數特定場合應用。

RAID10 和 RAID01

一些文獻把這兩種 RAID 等級看作是等同的,本文認為是不同的。 RAID01 是先做條帶化再作映象,本質是對物理磁碟實現映象;而 RAID10 是先做映象再作條帶化,是對虛擬磁碟實現映象。相同的配置下,通常 RAID01 比 RAID10 具有更好的容錯能力。

RAID01 兼備了 RAID0 和 RAID1 的優點,它先用兩塊磁碟建立映象,然後再在映象內部做條帶化。 RAID01 的資料將同時寫入到兩個磁碟陣列中,如果其中一個陣列損壞,仍可繼續工作,保證資料安全性的同時又提高了效能。 RAID01 和 RAID10 內部都含有 RAID1 模式,因此整體磁碟利用率均僅為 50% 。

RAID 知識普及

RAID 知識普及

RAID 50

RAID 5與RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe訪問。由於RAID 50是以RAID 5為基礎,而RAID 5至少需要3顆硬碟,因此要以多組RAID 5構成RAID 50,至少需要6顆硬碟。以RAID 50最小的6顆硬碟配置為例,先把6顆硬碟分為2組,每組3顆構成RAID 5,如此就得到兩組RAID 5,然後再把兩組RAID 5構成RAID 0。

RAID 50在底層的任一組或多組RAID 5中出現1顆硬碟損壞時,仍能維持運作,不過如果任一組RAID 5中出現2顆或2顆以上硬碟損毀,整組RAID 50就會失效。

RAID 50由於在上層把多組RAID 5構成Stripe,效能比起單純的RAID 5高,容量利用率比RAID5要低。比如同樣使用9顆硬碟,由各3顆RAID 5再組成RAID 0的RAID 50,每組RAID 5浪費一顆硬碟,利用率為(1-3/9),RAID 5則為(1-1/9)。

RAID 知識普及

RAID 60

RAID 6與RAID 0的組合:先作RAID 6,再作RAID 0。換句話說,就是對兩組以上的RAID 6作Stripe訪問。RAID 6至少需具備4顆硬碟,所以RAID 60的最小需求是8顆硬碟。

由於底層是以RAID 6組成,所以RAID 60可以容許任一組RAID 6中損毀最多2顆硬碟,而系統仍能維持運作;不過只要底層任一組RAID 6中損毀3顆硬碟,整組RAID 60就會失效,當然這種情況的概率相當低。

比起單純的RAID 6,RAID 60的上層通過結合多組RAID 6構成Stripe訪問,因此效能較高。不過使用門檻高,而且容量利用率低是較大的問題。

RAID 知識普及

理解 RAID 2.0 和 RAID 2.0+

RAID 2.0(獨立磁碟冗餘陣列2.0, Redundant Array of Independent Disks Version 2.0),為增強型RAID技術,有效解決了機械硬碟容量越來越大,重構一塊機械硬碟所需時間越來越長,傳統RAID組重構視窗越來越大而導致重構期間又故障一塊硬碟而徹底丟失資料風險的問題。其基本思想就是把大容量機械硬碟先按照固定的容量切割成多個更小的分塊(Chunk,通常為64MB),RAID組建立在這些小分塊上,而不是某些硬碟上,我們稱為分塊組(Chunk Group)。此時硬碟間不再組成傳統的RAID關係,而是組成更大硬碟數量的硬碟組(建議最大硬碟數量為96-120,不建議超過120塊盤),每個硬碟上不同的分塊可與此硬碟組上不同硬碟上的分塊組成不同RAID型別的分塊組,這樣一個硬碟上的分塊可以屬於多個RAID型別的多個分塊組。以這樣的組織形式,基於 RAID2.0 技術的儲存系統能夠做到在一塊硬碟故障後,在硬碟組上的所有硬碟上併發進行重構,而不再是傳統 RAID 的單個熱備盤上進行重構,從而大大降低重構時間,減少重構視窗擴大導致的資料丟失風險,在硬碟容量大幅增加的同時確儲存儲系統的效能和可靠性。RAID 2.0 並沒有改變傳統的各種RAID型別的演算法,而是把RAID範圍縮小到分塊組上。

因此,RAID2.0技術具備以下技術特徵:

幾個、幾十個甚至上百個機械硬碟組成硬碟組;

硬碟組中的硬碟被分割成幾十兆、上百兆的分塊,不同硬碟上的分塊組成的分塊組 (Chunk Group);

RAID 計算在分塊組 (Chunk Group) 內進行,系統不再有熱備盤,而是被同一分塊組內保留的熱備塊所代替。

RAID 知識普及

基於傳統RAID技術的儲存陣列故障恢復機制

RAID 知識普及

基於RAID 2.0技術的儲存陣列故障恢復機制

由於RAID 2.0系統中一塊硬碟故障後,重構可以在同一硬碟組內其他所有硬碟保留的熱備空間上併發進行,使用RAID 2.0技術的儲存系統具備以下優勢:

快速重構:儲存池內所有硬碟參與重構,相對於傳統RAID重構速度大幅提;

自動負載均衡:RAID 2.0使得各硬碟均衡分擔負載,不再有熱點硬碟,提升了系統的效能和硬碟可靠性;

系統效能提升:LUN基於分塊組建立,可以不受傳統RAID硬碟數量的限制分佈在更多的物理硬碟上,因而系統效能隨硬碟IO頻寬增加得以有效提升;

自癒合:當出現硬碟預警時,無需熱備盤,無需立即更換故障盤,系統可快速重構,實現自癒合。

RAID2.0+(獨立磁碟冗餘陣列2.0, Redundant Array of Independent Disks Version 2.0+)在 RAID 2.0 的基礎上提供了更細粒度 (可以達幾十KB粒度) 的資源顆粒,形成儲存資源的標準分配及回收單位,類似計算虛擬化中的虛擬機器,我們稱之為虛擬塊。這些容量單位一致的虛擬塊構成了一個統一的儲存資源池,所有應用、中介軟體、虛擬機器、作業系統所需的資源可以在這個資源池中按需分配及回收。相對傳統 RAID 系統,RAID2.0+ 技術實現了儲存資源的虛擬化及預配置,儲存資源的申請及釋放完全自動化的通過儲存池實現,而不再需要傳統 RAID 陣列的RAID組建立,LUN建立,LUN格式化等耗時而容易出錯的手工配置過程。因此,RAID 2.0+ 技術解決了虛擬機器環境下,儲存資源必須動態按需分配及釋放的問題。

在 RAID 2.0 基礎上,RAID2.0+技術具備以下技術特徵:

在 RAID 2.0 基礎上,分塊組(Chunk Group)被切分為容量從256KB到64MB的虛擬化儲存顆粒(Extent);

儲存資源以以上顆粒為單位自動分配及釋放;

可以以以上顆粒度為單位在儲存池內或不同儲存池間進行細粒度分級儲存;

在系統通過擴充套件控制器擴充套件效能或容量後,可以通過自動化的遷移這些標準顆粒來達到負載均衡的目的。

RAID 知識普及

基於RAID 2.0+技術的儲存陣列

技術優點

RAID2.0+技術主要用於實現系統資源的智慧分配,滿足虛擬機器環境對儲存的需求:

儲存資源按需自動化分配及釋放,滿足了虛擬機器對儲存最本質的需求;

RAID 知識普及

基於RAID 2.0+技術的儲存容量虛擬化

可根據業務實時情況,將不同資料分級儲存,通過靈活調配SSD等高效能儲存資源滿足高效能業務需求;

RAID 知識普及

基於RAID 2.0+技術的實時資源調配

根據業務特點自動遷移資料,提高儲存利用效率;

RAID 知識普及

基於RAID 2.0+技術的自動資料遷移

RAID 2.0與傳統RAID的對比

RAID 知識普及

傳統 RAID 和 RAID2.0+兩種技術重構原理的對比

RAID 知識普及

傳統 RAID 和 RAID2.0+兩種技術重構效能的對比

不適合使用RAID的場景

Hadoop叢集中為何不使用RAID?

儘管建議採用RAID (Redundant Array of Independent Disk,即磁碟陣列) 作為 namenode 的儲存器以保護後設資料,但是若將 RAID 作為 datanode 的儲存裝置則不會給 HDFS 帶來益處。HDFS 所提供的節點間資料複製技術已可滿足資料備份需求,無需使用 RAID 的冗餘機制。

此外,儘管 RAID 條帶化技術 (RAID 0) 被廣泛使用者提升效能,但是其速度仍然比用在 HDFS 裡的 JBOD (Just a Bunch Of Disks) 配置慢。JBOD 在所有磁碟之間迴圈排程 HDFS 塊。RAID 0 的讀寫操作受限於磁碟陣列中最慢碟片的速度,而 JBOD 的磁碟操作均獨立,因而平均讀寫速度高於最慢碟片的讀寫速度。需要強調的是,各個磁碟的效能在實際使用中總存在相當大的差異,即使對於相同型號的磁碟。針對某一雅虎叢集的評測報告(http://markmail.org/message/xmzc45zi25htr7ry)表明,在一個測試(Gridmix)中,JBOD 比 RAID 0 快10%;在另一測試(HDFS寫吞吐量)中,JBOD 比 RAID 0 快30%。

最後,若 JBOD 配置的某一磁碟出現故障,HDFS 可以忽略該磁碟,繼續工作。而 RAID 的某一碟片故障會導致整個磁碟陣列不可用,進而使相應節點失效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2644289/,如需轉載,請註明出處,否則將追究法律責任。

相關文章