BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          基本的RAID介紹

          Posted on 2009-03-10 23:24 logicgate 閱讀(209) 評論(0)  編輯  收藏

          RAID是英文Redundant Array of Independent Disks(獨立磁盤冗余陣列),簡稱磁盤陣列。下面將各個級別的RAID介紹如下。

          RAID0
          條帶化(Stripe)存儲。理論上說,有N個磁盤組成的RAID0是單個磁盤讀寫速度的N倍。RAID 0連續以位或字節為單位分割數據,并行讀/寫于多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余,因此并不能算是真正的RAID結構。



          RAID1
          鏡象(Mirror)存儲。它是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互 為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。



          RAID2
          海明碼(Hamming Code)校驗條帶存儲。將數據條塊化地分布于不同的硬盤上,條塊單位為位或字節,使用稱為海明碼來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID 2技術實施更復雜,因此在商業環境中很少使用。



          RAID3
          奇偶校驗(XOR)條帶存儲,共享校驗盤,數據條帶存儲單位為字節。它同RAID 2非常類似,都是將數據條塊化分布于不同的硬盤上,區別在于RAID 3使用簡單的奇偶校驗,并用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據;如果奇偶盤失效則不影響數據使用。RAID 3對于大量的連續數據可提供很好的傳輸率,但對于隨機數據來說,奇偶盤會成為寫操作的瓶頸。



          RAID4
          奇偶校驗(XOR)條帶存儲,共享校驗盤,數據條帶存儲單位為塊。RAID 4同樣也將數據條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。



          RAID5
          奇偶校驗(XOR)條帶存儲,校驗數據分布式存儲,數據條帶存儲單位為塊。RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID 5更適合于小數據塊和隨機讀寫的數據。RAID 3與RAID 5相比,最主要的區別在于RAID 3每進行一次數據傳輸就需涉及到所有的陣列盤;而對于RAID 5來說,大部分數據傳輸只對一塊磁盤操作,并可進行并行操作。在RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。
          當進行恢復時,比如我們需要需要恢復下圖中的A0,這里就必須需要B0、C0、D0加0 parity才能計算并得出A0,進行數據恢復。所以當有兩塊盤壞掉的時候,整個RAID的數據失效。



          RAID6
          奇偶校驗(XOR)條帶存儲,兩個分布式存儲的校驗數據,數據條帶存儲單位為塊。與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實施方式使得RAID 6很少得到實際應用。



          RAID7
          這是一種新的RAID標準,其自身帶有智能化實時操作系統和用于存儲管理的軟件工具,可完全獨立于主機運行,不占用主機CPU資源。RAID 7可以看作是一種存儲計算機(Storage Computer),它與其他RAID標準有明顯區別。

          ?

          RAID 7等級是至今為止,理論上性能最高的RAID模式,因為它從組建方式上就已經和以往的方式有了重大的不同。基本成形式見圖,以往一個硬盤是一個組成陣列的“柱子”,而在RAID 7中,多個硬盤組成一個“柱子”,它們都有各自的通道,也正因為如此,你可以把這個圖分解成一個個硬盤連接在主通道上,只是比以前的等級更為細分了。這樣做的好處就是在讀/寫某一區域的數據時,可以迅速定位,而不會因為以往因單個硬盤的限制同一時間只能訪問該數據區的一部分,在RAID 7中,以前的單個硬盤相當于分割成多個獨立的硬盤,有自己的讀寫通道。



          RAID10和RAID01的比較
          - RAID10是先做鏡象,然后再做條帶。
          - RAID01則是先做條帶,然后再做鏡象。

          比如以6個盤為例,RAID10就是先將盤分成3組鏡象,然后再對這3個RAID1做條帶。RAID01則是先利用3塊盤做RAID0,然后將另外3塊盤做為RAID0的鏡象。下面以4塊盤為例來介紹安全性方面的差別:

          ?

          1、RAID10的情況
          這種情況中,我們假設當DISK0損壞時,在剩下的3塊盤中,只有當DISK1一個盤發生故障時,才會導致整個RAID失效,我們可簡單計算故障率為1/3。


          ?

          2、RAID01的情況
          這種情況下,我們仍然假設DISK0損壞,這時左邊的條帶將無法讀取。在剩下的3塊盤中,只要DISK2,DISK3兩個盤中任何一個損壞,都會導致整個RAID失效,我們可簡單計算故障率為2/3。


          ?

          因此RAID10比RAID01在安全性方面要強。

          從數據存儲的邏輯位置來看,在正常的情況下RAID01和RAID10是完全一樣的,而且每一個讀寫操作所產生的IO數量也是一樣的,所以在讀寫性能上兩者沒什么區別。而當有磁盤出現故障時,比如前面假設的DISK0損壞時,我們也可以發現,這兩種情況下,在讀的性能上面也將不同,RAID10的讀性能將優于RAID01。



          已有 0 人發表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          主站蜘蛛池模板: 叶城县| 黎城县| 保靖县| 明星| 耿马| 云安县| 江华| 安阳市| 衡阳县| 芒康县| 赤峰市| 南京市| 宁德市| 马鞍山市| 普安县| 合山市| 灵川县| 翁源县| 五常市| 体育| 石泉县| 金寨县| 长治县| 甘德县| 高青县| 宁晋县| 临颍县| 香港 | 惠来县| 双鸭山市| 隆德县| 江孜县| 龙南县| 师宗县| 樟树市| 老河口市| 盐津县| 深水埗区| 洞头县| 长乐市| 高青县|