什麼是RAID?
獨立磁碟冗餘陣列(本來價錢不貴)磁碟(RAID)儲存技術在企業數據作出革命性創舉,建立了令客戶放心的冗餘(RAID 1 或以上)技術,它能大大縮減因個別驅動器發生故障而引致的停機時間。
但不幸地,RAID儲存不是一個完美的科技,所以數據遺失仍然會發生。
RAID的定義是系統的自身名字,代表獨立磁碟冗餘陣列,字面意思是獨立磁碟的冗餘捆扎– 結集多個硬碟以獲得一個單獨邏輯分區。 視乎目的而定,RAID提升了存取和書寫數據的性能,同時改善資料保護措施。
RAID是一項支援在不同配置中使用2個或以上硬碟的技術。通過使用合拼磁碟資源和奇偶計算,RAID旨在達至更好的性能和可靠性及更大的容量。
RAID中設計了很多標準配置,它們被稱為各個級別。RAID原本只創造了5個級別,但後來演變了更多不同級別,特別是多個嵌套級別和很多非標準級別(大多是專屬的)。
所以,RAID級別到底是什麼意思?那些數字只不過是指RAID的配置。要知道所有RAID系統都有效率地儲存數據,要選擇哪個系統會基於您自身的個人需求。例如,RAID 1 符合性能和可靠性的需求。若您尋求的是性能和容錯兩個選項,RAID 5是個很好的選擇。
RAID系統概述
RAID 是用於電腦數據存儲方案的術語,它在多個硬碟驅動器之間傳播及/或複制數據。設計RAID時有兩個主要目標:提升數據可靠性和提升I/O(輸入/輸出)性能。
RAID通過使用特殊的硬件或軟件,將實體硬碟合拼成一個單獨邏輯單元。硬件RAID方案可以有很多種風格,從建立在內置於主機板或加到卡中,到大型企業的 NAS 或 SAN 伺服器。有了這些設定,操作系統便不會察覺到技術工作或 RAID。而軟件方案一般是實施在操作系統中。
RAID當中有3個主要概念:
- 鏡像,把數據複製到超過一個磁碟中
- 分條,把數據拆分到超過一個磁碟中
- 錯誤糾正,存儲了冗餘數據,以容許檢測並可能修正的問題 (被稱為容錯性)
不同RAID級別會視乎系統的要求,使用一個或更多的上述技術。
傳統上,RAID是應用在伺服器上,但也可以用於工作站上。後者對須作大量儲存的電腦而言(如用作剪輯視頻和音頻編輯的電腦)尤其真確。
RAID系統的歷史
RAID是廉價磁碟冗餘陣列(獨立磁碟的冗餘陣列)的首字母縮略詞。這個概念誕生於加州大學伯克萊分校,由大衛·帕特森, 加斯·吉布森和蘭迪·卡茨合作製造RAID 存儲系統的五個級別的操作原型。他們的研究成果組成了當今存在、較為複雜的 RAID 存儲系統的基礎。時至今天,IBM持有RAID 5的知識產權。
RAID 存儲系統的設計旨在改善存儲的性能、恢復、可靠性和可擴展性。成果是個獨特的冗餘概念,在系統中驅動器發生故障時提供數據恢復功能。事實上,RAID控制器卡即使在磁碟“離線”時也能繼續讀取和寫入數據。
不同種類的RAID
Ontrack 為所有主要RAID體系結構提供數據恢復服務。這包括RAID級別0、00、 1、10、1E、1E0、2、3、4、5、50、5E、5EE、6 及 60。我們也恢復大量專屬RAID陣列。
我們持續發展軟件工具,以確保我們使用最新、最先進和專屬的技術達至最好的數據恢復服務。此外,當我們的工程師們面臨不尋常的專屬RAID陣列時,研究及發展團隊便會使用特別發明的訂制工具來協助工程師。
大部分RAID供應商都推薦我們,例如HP、Dell、Adaptec、IBM、Intel、Promise、EMC、NetApp,及LSI Logic。
RAID的配置決定了它的類型,包括所需的磁碟數量。作為一個提示,RAID代表獨立磁碟冗餘陣列(Redundant Array of Independent Disks),是一種針對儲存的解決方法,通過將數據分配到數個小磁碟使其組成單一的系統。這項設備除了價格不會太昂貴外,由於RAID更能容忍故障,因此它的效能和數據安全程度也較高。
現今至少有將近20種RAID,包括有時被認為是過時的配置,其中便有RAID 2。 在所有RAID配置中,最普遍的為RAID 0, RAID 1, RAID 10, RAID 5 或 RAID 6。
RAID 0 使用兩個或以上的磁碟,並提供快速的數據存取且沒有冗餘。 RAID 1 同樣使用兩個磁碟,它能將複製資料寫入各個驅動器中。即便其中一個磁碟損壞,你也能在其他磁碟中找到你的數據。為了從RAID 0 的效能及從RAID 1 所提供的安全性中獲益,RAID 5 便被創造出來。RAID 5 擁有良好的數據分配能力,並將速度與容錯功能兩者結合。RAID 6 雖然擁有與RAID 5相同的優點,卻能容忍二個而非一個驅動器故障的額外優點。
RAID 0
|
RAID 0 是經典的數據條分條配置,透過將數據寫入所有驅動器當中,以達至更快的存取速度。然而這個做法具有風險,若一個或多個磁碟在RAID 0中造成災害性故障 ,則會嚴重造成數據遺失。 一個數據恢復的例子:一個包括1-4個數據磁條的檔案被創建,若2號驅動器發生故障且第二個磁條遺失,該檔案便極有可能損壞。從另一個角度來看,若其中一個驅動器發生故障,最大的未損壞檔案應小於餘下磁條總和的數目。
|
RAID 1
|
這是設立磁碟鏡像的RAID等級,即主磁碟的數據被複製至其他磁碟。雖然這種RAID沒有效能增益,但是當其中一個驅動器出現故障時,你也能在第二個驅動器中取得備份。
|
RAID 2
|
RAID 2包含在位元等級的數據分條連專用奇偶驅動器。這個等級使用漢明錯誤校正碼,供沒有內置錯誤校正的驅動器使用。因為這個原因,RAID不再被普遍使用。
|
RAID 3 和 4
|
RAID 3 和4 同樣使用具專用奇偶驅動器的分條,兩者的分別在於RAID 3是在字節等級進行分條,而RAID 4則在區塊等級進行分條。由於RAID 3在字節級的分條效能不佳, 因此現時已很少被使用。RAID 4雖然在區塊等級的分條效能較佳,但由於奇偶需要在每次寫入時更新,它的寫入效能仍然屬於緩慢。
|
RAID 5 |
RAID 5 普遍被認為是在容錯,速度和成本之間的最佳折衷選擇。該系統使用與RAID 0相同的方法分割數據,但同時亦將奇偶數據分配在組成該系統的硬碟中。雖然每個供應商均有一套特定的方法將奇偶資料分配至驅動器,但普遍離不開以下四種方法之一:左不對稱、左對稱、右不對稱、右對稱。 由於能看見奇偶向右和左「移動」,因此你可以簡單識別它的方向。在不對稱的RAID中,數據分條會無視奇偶,在到達下一個可用空間前將持續跳過它。而對稱的RAID在處理數據分條時會採用較為複雜的方法,一旦數據遇上奇偶區塊,它們將向旁邊及下方移動至下一個磁條集。
|
RAID 6 |
RAID 6 系統是RAID 5 的延伸:雖然它使用同樣的數據分配,並採用相似的奇偶分割,不同的是它能為每個磁條創造額外的數據區塊。這樣一來即使兩個驅動器同時發生故障,也不會令RAID遺失數據。對於較小的RAID,雖然該系統能使兩個硬驅動器同時故障的機率下降,但隨著RAID陣列的規模增加,它的故障的機率隨之而增加。 在效能方面,它們與RAID 5的系統十分相似:由於數據和奇偶區塊能寫入所有磁碟中,因此它的寫入速度很快,而由於兩個奇偶系列的轉移產生延遲,因此該系統的讀取速度緩慢。
|
RAID 0+1 and 1+0 |
為了增強效能和/或額外冗餘,RAID的標準等級可以合併以建立混合或嵌套RAID等級。RAID種類能提供冗餘往往會與RAID合併以加強效能。 當在0等級陣列的一個驅動器出現故障時的好處是,遺失的數據能被傳送至其他陣列。然而,若要在一個磁條中添加額外的硬驅動器,您則需要在其他磁條中添加一個額外的硬驅動器,以平衡陣列中的儲存空間。 除非那些驅動器皆出自同一個數據磁條,這個配置的缺點在於它無法就兩個同時故障的驅動器進行恢復。在圖表中,RAID能夠針對1號和5號驅動器的故障進行重建,但若1號和4號發生故障,則會造成數據遺失。
|
RAID 10 |
RAID 10 已進行配置,以便RAID 0在兩個RAID 1陣列中分裂。 RAID 10的一大優點是在每個RAID 1陣列中,只有一個驅動器可能發生故障而不會造成任何數據掉失。然而,若故障的驅動器沒有更換,而在陣列中所有數據進出的最後一個驅動器發生故障,在該陣列的單個工作驅動器變為整個系統的故障單點。 RAID嵌套技術同樣能運用在其他RAID等級,最普遍的為RAID 5, 但亦可以應用在其他如3和6的等級,以及可生產如50, 51, 60, 61, 30 和 03的等級。
|
RAID 50
|
RAID 50也可以稱為RAID 5+0,它結合RAID 0 直線的區塊等級分條連RAID 5 的分配奇偶。由於一個RAID陣列是在RAID 5 元素中進行分條,最小的RAID 50 配置需要使用6個驅動器。每個RAID 5套裝中的一個驅動器能在不遺失數據的情況下發生故障。例如一個RAID 50配置,當中包括3個RAID 5套裝,能容忍最多3個潛在驅動器同時發生故障(但是一個RAID 5 套裝只有一個)。因為系統的可靠性取決於是否能快速替換壞的驅動器以令陣列重建。普遍來說,當中會包含能在陣列故障前立即進行更換的熱備用。
|
RAID 51
|
RAID 51 的執行是透過鏡像,又或除了奇偶資料外,在整個RAID 5陣列上執行RAID1來進行。普遍來說,它是以軟件和基於硬件的RAID 技術來進行創建,當中以RAID 1為基礎的鏡像是透過以硬件為基礎的RAID 5陣列上的操作系統來執行。RAID 51 是特別為加強備份的可用性和容錯能力而設計。RAID 51被認為是鏡像磁碟的奇偶集,即使最低限度的6個已配置磁碟中的4個已遺失,它仍能繼續運作或保護數據不會遺失。
|
常用的RAID詞彙
RAID: RAID 是一項在不同配置中,能夠支援兩個或以上的硬驅動器的技術,從而透過使用整合的磁碟資源和奇偶計算以達至更高效能、可靠性及更大容量。
奇偶: 一項數學計算,指在沒有遺失數據的·情況下容許一個RAID陣列中的驅動器發生故障。這項方程式最簡單表現方式為:A + B = C。您可以移除上述任何一個字母,並用餘下兩個字母計算出數值。即是B被移除後,方程式便會呈現A + ? = C,接著可以透過移動A得出B的數值,即B = C – A。這個顯然是對此方程式的一種簡單描述,若要以RAID的常識基礎上完全了解它,對二進制的知識和對XOR的邏輯表達是必須要的。
鏡像: 1個或多個硬驅動器中的數據被複製至另一個(或多個)實體磁碟上。
分條: 能讓數據和奇偶寫入多個磁碟的方法。數據是順次序寫入驅動器中,直至到最後一個驅動器時,則會跳至第一個驅動器,並開啟第二個磁條。
區塊:區塊是將數據寫入每個磁碟上的邏輯空間,空間的大小由RAID控制器所設定,而常見的大小為16KB 至256KB。在數據將空間填滿至上限後,便會轉移至下一個驅動器繼續填注,直至最後的驅動器空間被填滿,則會跳至下一個磁條的開端。
左/右對稱: RAID的對稱控制數據和奇偶在不同驅動器上的分配。其中主要有4種類型的對稱,需要使用的種類取決於RAID供應商。有些公司也會按照自己的業務需要製造專屬的風格。
熱備用:在處理RAID的故障時會用到幾種不同的方法,其中一個方法便需要使用熱備用。它代替故障驅動器的後備磁碟。
降級模式:當RAID的一個驅動器無法再被讀取時,此情況便會發生,而該驅動器便會被視為不達標並從RAID中退出。若在故障驅動器中所需的任何數據能與奇偶成功解決讀取問題,新的數據及奇偶將會被寫入RAID內的餘下驅動器中。這會使RAID的效能下降,導致產生降級模式。