磁碟陣列(Redundant Array of Independent disks, RAID)技術可以提供系統容錯能力,當伺服器的硬碟故障時可以預防資料的遺失,磁碟機是一個機械設備,終究有可能會發生故障。RAID是採取同位元檢查技術或複製資料技術,來達成系統容錯的功能。
RIAD 1使用較簡單的資料複製技術來提供系統容錯。RAID 2架構與其他架構不同,因為他不使用複製或同位檢核資訊提供容錯,RAID 2是使用一組特別的漢明碼(Hamming Code)。RAID 3、RAID 4、RAID 5是在資料寫入磁碟陣列時,使用同位檢核資訊計算來提供容錯功能。在RAID 3、RAID 4、RAID 5陣列系統中,當一顆磁碟機故障時。可以使用同位檢核資訊和其他磁碟機上的資料,一起計算出故障磁碟機上的資料。雖然重建遺失資料速度有點慢,但磁碟子系統和網路伺服器可以持續執行其功能。
RAID的等級並不重要,雖然許多廠商提供文獻資料中都有提及。但我們將討論的是較常見使用的RAID類型。
RAID一詞最早是出現在「A Case for Redundant Arrays of Inexpensive Disks(RAID)」這篇論文裡(於1987年由柏克萊大學的David A. Patterson、Garth A. Gibson 和 Randy H. katz提出),其中清楚的定義了RAID。論文中定義了RAID2的五個層級,並[認為RAID是單一昂貴磁碟(Single Large Expensive Disk, SLED)的另一種技術解決方案。
- RAID 0
- RAID 1
而RAID 1可以透過兩種方式實做,第一種是磁碟鏡射技術,第二種是使用磁碟複製技術。在磁碟鏡射(Disk Mirroring)技術中,兩台磁碟機連接道相同控制器上。當磁碟控制器若發生故障時,將無法讀取磁碟機上的任何資料,這是採用磁碟鏡射技術的唯一缺點。為解決此一缺點,可以採用磁碟複製(Disk Duplexing)技術來取代磁碟鏡射技術。
在磁碟複製技術中,各磁碟機是連到不同的磁碟控制器上。如此一來即解決了磁碟鏡射技術的缺點。但付出的代價是額外的磁碟控制器。
- RAID 2
RAID 2是採用漢明編碼(Hamming Code),位所有保存在RAID 2磁碟陣列的資料,產生錯誤改正碼(糾錯碼)ECC。ECC可以查出並且改正單一位元錯誤,以及發現雙重位元錯誤。每當讀取磁碟中資料時,會同時讀取ECC碼並解碼。RAID 2的技術在實行上是相當昂貴和困難,同時額外負擔比例也是較高的。例如,在RAID 2中每4個資料位元就必須耗費三個同位元檢查碼。
由於RAID 2在實做上費用難度都相當高,因此並沒有商業化。此外,RAID 2必須使用至少三台磁碟機才能運作。
- RAID 3
RAID 3使用同位元級的同位元檢查,使用一台額外的一台磁碟機來提供容錯,以便克服在單一台磁碟機發生故障的情況。在RAID 3中要求在陣列中所有磁碟機必須同時運作。輸出資料時,資料位元和運算出來的檢查位元會同時存到陣列的磁碟機中。至少要三台磁碟機才能運作RAID 3磁碟陣列。可以提供容錯,也可以略為提高效能。
- RAID 4
RAID 4使用區塊層級的同位元檢查,使用額外一台位元檢查磁碟機來提供容錯,以便克服單一磁碟機發生故障的狀況。資料輸入時,資料和計算出來的同位元檢查資訊會寫到磁碟陣列中。由於磁碟機並不需要同步,所以可以單獨的存取磁碟機。至少需要三台磁碟機才能實做RAID 4磁碟陣列。還有,RAID 4在做寫入動作時,一定會用到同位元檢查磁碟機。如此一來,同位元檢查的磁碟機會很容易首先發生故障,這是缺點。可以提供容錯機制,但不能增加效能。
- RAID 5
- RAID 0/1
沒有留言:
張貼留言