Raid
獨立磁盤冗餘數組(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗餘數組(RAID, Redundant Array of Inexpensive Disks),簡稱硬盤陣列。由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任一顆硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算後重新置入新硬盤中。
簡單來說,RAID把多個硬盤組合成爲一個邏輯扇區,因此,操作系統只會把它當作一個硬盤。RAID常被用在服務器電腦上,並且常使用完全相同的硬盤作爲組合。
樣式:
磁盤陣列其樣式有三種,一是外接式磁盤陣列櫃、二是內接式磁盤陣列卡,三是利用軟件來仿真。
外接式磁盤陣列櫃最常被使用大型服務器上,具可熱抽換(Hot Swap)的特性,不過這類產品的價格都很貴。
內接式磁盤陣列卡,因爲價格便宜,但需要較高的安裝技術,適合技術人員使用操作。
利用軟件仿真的方式,由於會拖累機器的速度,不適合大數據流量的服務器。
實現方式:
磁盤陣列有兩種方式可以實現,即“軟件陣列”與“硬件陣列”。
Raid技術
Raid 0
將多個磁盤合併成一個大的磁盤,不具有冗餘,並行I/O,速度最快。它是將多個磁盤並列起來,成爲一個大磁盤。在存放數據時,其將數據按磁盤的個數來進行分段,然後同時將這些數據寫進這些盤中,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗餘功能,如果一個磁盤(物理)損壞,則所有的數據都會丟失。理論上越多的磁盤性能就等於“單一磁盤性能”ד磁盤數”,但實際上受限於總線I/O瓶頸及其它因素的影響,RAID性能會隨邊際遞減,也就是說,假設一個磁盤的性能是50MB每秒,兩個磁盤的RAID 0性能約96MB每秒,三個磁盤的RAID 0也許是130MB每秒而不是150MB每秒,所以兩個磁盤的RAID 0最能明顯感受到性能的提升。但如果是以軟件方式來實現RAID,則磁盤的空間則不見得受限於此(例如Linux Software RAID),通過軟件實現可以經由不同的組合而善用所有的磁盤空間。 |
Raid 1
RAID 1就是鏡像。其原理是在主硬盤上存放數據的同時也在鏡像硬盤上寫同樣的數據。當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因爲有鏡像硬盤做數據備份,所以RAID 1的數據安全性在所有的RAID級別上來說是最好的。但無論用多少磁盤做RAID 1,僅算一個磁盤的容量,是所有RAID上磁盤利用率最低的一個級別。 它是通過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。 |
Raid 5
RAID 5 是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案。RAID 5 至少需要三顆硬盤,RAID 5是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。raid5這種存儲方式只允許有一塊硬盤出現故障,出現故障時需要儘快更換。 RAID 5可以爲系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因爲多了一個奇偶校驗信息,寫入數據的速度相當的慢,若使用“回寫高速緩存”可以讓性能改善不少。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較便宜。 |
Raid 1+0
RAID 1+0是先鏡射再分區數據,再將所有硬盤分爲兩組,視爲是RAID 0的最低組合,然後將這兩組各自視爲RAID 1運作。 RAID 0+1則是跟RAID 1+0的程序相反,是先分區再將數據鏡射到兩組硬盤。它將所有的硬盤分爲兩組,變成RAID 1的最低組合,而將兩組硬盤各自視爲RAID 0運作。 性能上,RAID 0+1比RAID 1+0有着更快的讀寫速度。可靠性上,當RAID 1+0有一個硬盤受損,其餘三個硬盤會繼續運作。RAID 0+1 只要有一個硬盤受損,同組RAID 0的另一隻硬盤亦會停止運作,只剩下兩個硬盤運作,可靠性較低。因此,RAID 10遠較RAID 01常用,零售主板絕大部份支持RAID 0/1/5/10。 |
總結:
類型 | 讀寫性能 | 安全性 | 磁盤利用率 | 成本 | 應用方面 |
RAID0 | 最好(因並行性而提高) | 最差(完全無安全保障) | 最高(100%) | 最低 | 個人用戶 |
RAID1 | 讀和單個磁盤無分別,寫則要寫兩邊 | 最高(提供數據的百分之百備份) | 差(50%) | 最高 | 適用於存放重要數據,如服務器和數據庫存儲等領域 |
RAID5 | 讀:RAID 5=RAID 0(相近似的數據讀取速度) 寫:RAID 5<對單個磁盤進行寫入操作(多了一個奇偶校驗信息寫入) | RAID 5<RAID 1 | RAID 5>RAID 1 | RAID 5<RAID 1 | 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 |
RAID10 | 讀:RAID10=RAID0 寫:RAID10=RAID1 | RAID10=RAID1 | RAID10=RAID1(50%) | RAID10=RAID1 | 集合了RAID0,RAID1的優點,但是空間上由於使用鏡像,而不是類似RAID5的“奇偶校驗信息”,磁盤利用率一樣是50% |