raid

aid磁盤陣列技術

前面講的都是磁盤內部的結構,下面我們來討論一下多個磁盤如何組合能發揮更大的作用。我們採用raid技術的優點:

  • 提升讀寫性能

  • 增加容錯能力,也就是增加硬盤的可用性

raid -0

這裏寫圖片描述

  • 要實現RAID0必須要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並不是保存在一個硬盤上,而是分成數據塊保存在不同驅動器上。因爲將數據分佈在不同驅動器上,所以數據吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的數據在不同的驅動器上效率最好。它不需要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,如果一個驅動器中的數據發生錯誤,即使其它盤上的數據正確也無濟於事了。不應該將它用於對數據穩定性要求高的場合。如果用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。

  • 同時,RAID可以提高數據傳輸速率,比如所需讀取的文件分佈在兩個硬盤上,這兩個硬盤可以同時讀取。那麼原來讀取同樣文件的時間被縮短爲1/2。在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗餘功能的,如果一個磁盤(物理)損壞,則所有的數據都無法使用。

raid -1

這裏寫圖片描述
對於使用這種RAID1結構的設備來說,RAID控制器必須能夠同時對兩個盤進行讀操作和對兩個鏡象盤進行寫操作。通過下面的結構圖您也可以看到必須有兩個驅動器。因爲是鏡象結構在一組盤出現問題時,可以使用鏡象,提高系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。因爲RAID1的校驗十分完備,因此對系統的處理能力有很大的影響,通常的RAID功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統需要極高的可靠性時,如進行數據統計,那麼使用RAID1比較合適。而且RAID1技術支持”熱替換”,即不斷電的情況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據即可。當主硬盤損壞時,鏡像硬盤就可以代替主硬盤工作。鏡像硬盤相當於一個備份盤,可想而知,這種硬盤模式的安全性是非常高的,RAID 1的數據安全性在所有的RAID級別上來說是最好的。

raid -5

這裏寫圖片描述
從它的示意圖上可以看到,它的奇偶校驗碼存在於所有磁盤上,其中的p0代表第0帶區的奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因爲奇偶校驗碼在不同的磁盤上,所以提高了可靠性,允許單個磁盤出錯。RAID5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲n-1。 但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。

raid -10 和raid -01

這裏寫圖片描述
至少需要4塊硬盤
DISK1, DISK2, DISK3, DISK4

  • RAID-01 不可以兩邊RAID0中各壞一塊硬盤,但可以在單邊同時壞掉單邊的兩塊硬盤。
    原因:假如DISK1  A1,DISK A2,DISK3  B1, DISK  B2
         A(A1,A2) B (B1,B2)
     1.A中和B中的任何一塊硬盤同進壞了,則都破壞了RAID0技術。所有整
        個硬盤數據被破壞。因此不允A和B中的任何一個塊硬盤同時損壞.
        2.當中A中所有硬盤壞了,因爲B中的RAID0的格式保持完整,因做的是  
        RAID0+1,I不影響數據的完整性.所以允許A中所有磁盤損壞.同理B也是
        這樣.

  • RAID-10可以兩邊RAID1中各壞一塊硬盤,但不能同時壞掉單邊的兩個硬盤。
    原因:
    1.A中的任何一個硬盤都可以壞,因爲做的是RAID1格式,同時B中的任何一
       個硬盤的數據也可壞,因爲也做的是RAID1的格式.所以允許A和B中的任何一塊硬盤同時損壞,即不影響數據的完整性.
        2.A中(B中)的兩塊同時硬盤損壞,從圖中可以看到,數據無法保持完整性.所
       以不允許單邊的兩塊硬盤同時損壞

但是,當硬盤的數量比較多的時候,能有一個直觀的反應就是,使用raid-10會使得服務器的穩定性能更高,具有高可用性。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章