RAID

大綱

一、簡介

二、解決方案

三、linux下軟RAID的使用

 

一、簡介(這一部分主要摘自百度百科RAID_百度百科

磁盤陣列(Redundant Arrays of Inexpensive Disks,RAID),有“價格便宜具有冗餘能力的磁盤陣列”之意。原理是利用數組方式來作磁盤組,配合數據分散排列的設計,提升數據的安全性。磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任一顆硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算後重新置入新硬盤中。

 

二、解決方案 (這一部分主要摘自百度百科RAID_百度百科

RAID技術主要包含RAID 0~RAID 50等數個規範,它們的側重點各不相同,常見的規範有如下幾種:

RAID 0:RAID 0連續以位或字節爲單位分割數據,並行讀/寫於多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗餘,因此並不能算是真正的RAID結構。RAID 0只是單純地提高性能,並沒有爲數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,RAID 0不能應用於數據安全性要求高的場合。

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

RAID 01/10:根據組合分爲RAID 10和RAID 01,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位或字節爲單位分割數據並且並行讀/寫多個磁盤的同時,爲每一塊磁盤作磁盤鏡像進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,但是CPU佔用率同樣也更高,而且磁盤的利用率比較低。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,但不支持RAID 01。

 

                    

RAID 2:將數據條塊化地分佈於不同的硬盤上,條塊單位爲位或字節,並使用稱爲“加重平均糾錯碼(漢明碼)”的編碼技術來提供錯誤檢查及恢復。

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

RAID 4:RAID 4同樣也將數據條塊化並分佈於不同的磁盤上,但條塊單位爲塊或記錄。RAID 4使用一塊磁盤作爲奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成爲寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。

      

RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID 5更適合於小數據塊和隨機讀寫的數據。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次數據傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分數據傳輸只對一塊磁盤操作,並可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。

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

RAID 7:這是一種新的RAID標準,其自身帶有智能化實時操作系統和用於存儲管理的軟件工具,可完全獨立於主機運行,不佔用主機CPU資源。RAID 7可以看作是一種存儲計算機(Storage Computer),它與其他RAID標準有明顯區別。除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較爲廣泛的陣列形式。用戶一般可以通過靈活配置磁盤陣列來獲得更加符合其要求的磁盤存儲系統。

 

三、linux下軟RAID的使用

        模擬軟RAID主要是用到mdadm這個命令

        準備工作:在虛擬機中可以先添加一個新的硬盤作爲測試,假設爲sdb,首先用fdisk命令劃分幾個新分區sdb[1-8],注意的是,在劃分完分區後需要在fdisk裏面用t命令調整分區的系統id爲fd(Linux raid auto),最終結果應該如圖所示:

        image_thumb1

        然後接下來進行一系列工作:

        1.創建raid

        使用方法:使用/dev/sdb1和/dev/sdb2創建raid0

        image3_thumb

        創建結果:

        image6_thumb

        參數說明:

        -a  {yes|no},--auto={yes|no}  /dev/sdb#:是否爲新建的raid設備自動創建設備文件/dev/md#;

        -l #,--level=#:指定raid級別

        -n #,--raid-devices=#:指定用於raid的塊設備的個數,不包括備用盤

        -x #,--spare-devices=#:指定用於備用盤的塊設備的個數

        最後接要用的盤

 

        2.查看狀態:

        image10_thumb

        image13_thumb

        image16_thumb

        查看md設備的映射關係:

       image19_thumb

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