Linux學習—磁盤陣列RAID
RAID有不同的常用等級,使得整合後的磁盤具有不同的功能:
==========================================================================================================================================
RAID 0(等量模式)
這種模式下的RAID每個磁盤的型號和容量相同時性能最佳。
上圖的意思:將每個磁盤分成大小相同的chunk塊,並且每個磁盤的chunk塊也都相等,當數據存儲時,數據先被切割成chunk塊大小的小數據,然後依次交錯
當每個磁盤的容量不相等時,剛開始數據依次交錯存放在每個磁盤chunk中,當最小的磁盤空間用完之後,剩下的數據則全部放在最大的磁盤中。
這時候的性能就會變差。
但是RAID 0的危害還是很大的,假如有一個磁盤壞掉,則整個RAID 0將不能使用。
==========================================================================================================================================
RAID 1(映像模式)
RAID 1中的每個磁盤的容量相同時最佳,但是當磁盤容量不同時,則以最小的磁盤為主。
RAID 1模式下,一份數據完整的備份到兩個磁盤上,這樣整個RAID的容量將會降低50%。
當數據大量寫入RAID時,由於一份數據會多次備份,因此寫入的效率會變得非常差,優點在於當一塊磁盤的數據壞掉之後,另一塊的備份數據會起作用,增強了數據的安全性呢
==========================================================================================================================================
RAID 1+0
將RAID 0的高效性和RAID 1的安全性綜合考慮就產生了RAID 1+0
如圖:磁盤1和磁盤2組合成一組RAID 1,磁盤3和磁盤4也組合成一組RAID 1,最後這兩組RAID 1組合成RAID 0,當200M數據寫入RAID 1+0時,
RAID 0會將數據分成100M分別寫進兩個RAID 1中,又經過RAID 1使得每個磁盤備份100M的數據。
這種模式不論數據讀寫速度和數據安全都得到了極大的提升。
==========================================================================================================================================
RAID 5
這種模式至少需要3個磁盤才能組成這樣的磁盤陣列,這種模式和RAID 0類似,也是依次交錯寫入塊,不同的是每一個循環寫入過程中會在不同的磁盤寫入一個檢查數據(partity),它記錄著其他磁盤的備份數據,當其中一個磁盤損壞時,可以根據這個檢查數據進行恢復。
如上圖所示,每一個循環寫入過程都會記錄一個parity,並且在不同的磁盤,同時由於parity的關系,RAID 5的容量是總磁盤數-1的容量,例如圖中就是3-1=2的容量。
RAID 5的另一個問題是允許損壞的磁盤數僅為一個,如果損害的磁盤數大於等於2,則整個RAID失效。
這種模式下讀取數據的能力很強,但是在寫入數據方面,由於parity的關系,寫入數據的時候會計算parity,因此寫入數據的效能還另需討論。
RAID 6和RAID 5的原理上類似,RAID 6增加兩個磁盤作為parity的寫入,因此RAID 6最多允許兩個磁盤的損壞。
==========================================================================================================================================
常見的幾種磁盤陣列模式對比:
Linux學習—磁盤陣列RAID