raid各級別簡介

一. raid 是什么

      RAID:(Redundant Array of indenpensive Disk) 獨立磁盤冗余陣列: 磁盤陣列是把多個磁盤組成一個陣列,當作單一磁盤使用,它將數據以分段(striping)的方式儲存在不同的磁盤中,存取數據時,陣列中的相關磁盤一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。磁盤陣列利用的不同的技術,稱為RAID level,不同的level針對不同的系統及應用,以解決數據安全的問題。簡單來說,RAID把多個硬盤組合成為一個邏輯扇區,因此,操作系統只會把它當作一個硬盤。
   
  一般高性能的磁盤陣列都是以硬件的形式來達成,進一步的把磁盤存取控制及磁盤陣列結合在一個控制器(RAID controler)或控制卡上,針對不同的用戶解決人們對磁盤輸輸入輸出系統的四大要求:
  (1)增加存取速度,
  (2)容錯(fault tolerance),即安全性
  (3)有效的利用磁盤利用率;
  (4)盡量的平衡CPU,內存及磁盤的性能差異,提高主機的整體工作性能。

.可提供的功能:

   1.冗余(容錯) 

   2.性能提升

RAID分類:
 1. 硬件RAID:用RAId接口卡來實現;需要內核支持其驅動,并且該類設備設備顯示為SCSI設備,代號為/dev/sd*
 2. 軟件RAID:用內核中的MD(multiple devices)模塊實現,該類設備在/etc/下表示為:md*;在現在的RH 5版本中使用mdadm工具管理軟RAID;(雖然來說可以用軟件模擬實現raid,但是相對對磁盤控制的功能及性能不如硬件實現的好,生產環境中最好使用硬件raid

     設置軟件RAID,首先需要查看linux系統中是否有raid軟件工具包??梢杂?/p>

    rpm -qil raidtools   或 rpm -qifl /sbin/mdadm

    命令查看相關raid命令。如果沒有,可以從http://people.redhat.com/mingo/raidtools/ 中下載,然后解壓安裝:

     #tar –zxvf raidtools-1.00.3.tar.gz
    #cd raidtools-1.00.3
    #./configure
    # make
    # make install

    這樣raidtools-1.00.3就安裝好了,從而可以隨時安裝使用RAID

三.常見的raid level

     1. RAID-0 :striping(條帶模式),至少需要兩塊磁盤,做RAID分區的大小最好是相同的(可以充分發揮并優勢);而數據分散存儲于不同的磁盤上,在讀寫的時候可以實現并發,所以相對其讀寫性能最好;但是沒有容錯功能,任何一個磁盤的損壞將損壞全部數據;

     2. RAID-1:mirroring(鏡像卷),至少需要兩塊硬盤,raid大小等于兩個raid分區中最小的容量(最好將分區大小分為一樣),可增加熱備盤提供一定的備份能力;數據有冗余,在存儲時同時寫入兩塊硬盤,實現了數據備份;但相對降低了寫入性能,但是讀取數據時可以并發,幾乎類似于raid-0的讀取效率;

     3. RAID-2:RAID 2是RAID 0的改良版,以漢明碼(Hamming Code)的方式將數據進行編碼后分割為獨立的位元,并將數據分別寫入硬盤中。因為在數據中加入了錯誤修正碼(ECC,Error Correction Code),所以數據整體的容量會比原始數據大一些。

        在寫入時,RAID 2在寫入數據位同時還要計算出它們的漢明碼并寫入校驗陣列,讀取時也要對數據即時地進行校驗,最后再發向系統。漢明碼只能糾正一個位的錯誤,所以RAID 2也只能允許一個硬盤出問題,如果兩個或以上的硬盤出問題,RAID 2的數據就將受到破壞。但由于數據是以位為單位并行傳輸,所以傳輸率也相當快。RAID 2是早期為了能進行即時的數據校驗而研制的一種技術,主要為了即時校驗以保證數據安全,如果數據位寬越大,用于校驗陣列的相對投資就會越小,成本昂貴。

    4. RAID-3:RAID3的數據存取方式和RAID2一樣,把數據以位為單位來分割并且存儲到各個硬盤上,并且在數據安全方面以奇偶校驗取代海明碼做錯誤校正及檢測,所以只需要一個額外的校驗盤。奇偶校驗值的計算是以各個硬盤的相對應位進行異或的邏輯運算,然后將結果寫入奇偶校驗硬盤。

       RAID 3是在RAID 2基礎上發展而來的,主要的變化是用相對簡單的異或邏輯運算(XOR,eXclusive OR)校驗代替了相對復雜的漢明碼校驗,從而也大幅降低了成本。RAID3具有容錯能力,但是系統會受到影響。當一塊硬盤失效時,該硬盤上的所以數據塊必須使用校驗信息重新建立。如果是從好盤中讀取數據塊,不會有任何變化;但是如果要讀取的數據塊正好位于已經損壞的硬盤上,則必須同時讀取同一帶區中的所有其它數據塊,并根據校驗值重建丟失的數據。

    5. RAID-4:RAID4和RAID3很象,數據都是依次存儲在多個硬盤之上,奇偶校驗碼存放在獨立的奇偶校驗盤上,唯一不同的是,在數據分割上RAID3對數據的訪問是按位進行的,RAID4是以數據塊為單位。即RAID 4是按數據塊為單位存儲的,那么數據塊應該怎么理解呢?簡單的話,一個數據塊是一個完整的數據集合,比如一個文件就是一個典型的數據塊。當然,對于硬盤的讀取,一個數據塊并不是一個文件,而是由操作系統所決定的,這就是我們熟悉的簇(Cluster)。RAID 4這樣按塊存儲可以保證塊的完整,不受因分條帶存儲在其他硬盤上而可能產生的不利影響(比如當其他多個硬盤損壞時,數據就完了)。

       不過,在不同硬盤上的同級數據塊也都通過XOR進行校驗,結果保存在單獨的校驗盤。所謂同級的概念就是指在每個硬盤中同一柱面同一扇區位置的數據算是同級。在寫入時,RAID就是按這個方法把各硬盤上同級數據的校驗統一寫入校驗盤,等讀取時再即時進行校驗。因此即使是當前硬盤上的數據塊損壞,也可以通過XOR校驗值和其他硬盤上的同級數據進行恢復。由于RAID 4在寫入時要等一個硬盤寫完后才能寫一下個,并且還要寫入校驗數據所以寫入效率比較差,讀取時也是一個硬盤一個硬盤的讀,但校驗迅速,所以相對速度更快。

   6. RAID-5:至少需要3塊硬盤,RAID5把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上,其中任意N-1塊磁盤上都存儲完整的數據,也就是說有相當于一塊磁盤容量的空間用于存儲奇偶校驗信息。因此當RAID5的一個磁盤發生損壞后,不會影響數據的完整性,從而保證了數據安全。當損壞的磁盤被替換后,RAID還會自動利用剩下奇偶校驗信息去重建此磁盤上的數據,來保持RAID5的高可靠性。

①空間利用率:1 – 1/n

②性能:讀性能接近RAID0,寫性能相比RAID0要弱一些

③冗余能力:可以接受1塊硬盤的損壞

(做raid 5陣列所有磁盤容量必須一樣大,當容量不同時,會以最小的容量為準。 最好硬盤轉速一樣,否則會影響性能,而且可用空間=磁盤數n-1,其中有一塊是專門用來校驗的,在存儲數據的時候,校驗盤里面是不會被存入數據的)

(Raid 5 沒有獨立的奇偶校驗盤,所有校驗信息分散放在所有磁盤上,只是在存儲空間上為N-1)

    7. RAID-6:RAID6至少需要4塊硬盤,RAID6與RAID5相類似,讀寫數據的時候會將數據分布的讀寫到所有硬盤上。在寫數據的時候RAID5會對數據進行奇偶校驗運算,并將校驗信息也保存在了硬盤上,但是RAID6會比RAID5多保存一份校驗信息,所以RAID6的冗余性比RAID5就有所提升,可以允許2塊硬盤發生損壞。

①空間利用率:1 – 2/n

②性能:讀性能接近RAID5,寫性能相比RAID5還要弱一些

③冗余能力:可以接受2塊硬盤的損壞

    8. RAID-10:RAID10又稱為RAID1+0,先進行鏡像(RAID1),再進行條帶存放(RAID0)。Raid 10是一個Raid 0與Raid1的組合體,它是利用奇偶校驗實現條帶集鏡像,所以它繼承了Raid0的快速和Raid1的安全。我們知道,RAID 1在這里就是一個冗余的備份陣列,而RAID 0則負責數據的讀寫陣列。由于利用了RAID 0極高的讀寫效率和RAID 1較高的數據保護、恢復能力,使RAID 10成為了一種性價比較高的等級,目前幾乎所有的RAID控制卡都支持這一等級。但是,RAID 10對存儲容量的利用率和RAID 1一樣低,只有50%。因此,RAID10高可靠性與高效磁盤結構是一個帶區結構加一個鏡象結構,可以達到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。

     9. RAID-01:RAID 01是將條帶(RAID 0)進行鏡像(RAID 1)。Raid 0+需要的驅動器數量(至少):4(要求驅動器的數量為偶數)優點:RAID 0+1陣列從理論上來說,能夠經受住RAID 0陣列中任何一塊硬盤的故障,因為該硬盤上所有的數據都被備份在RAID 1陣列中。在絕大部分情況下,如果兩塊硬盤出現故障就會影響整個陣列,因為很多RAID控制器會在RAID陣列中的某一塊硬盤出現故障之后讓RAID 0鏡像離線(畢竟,RAID 0陣列不提供任何冗余),因此只有剩下的RAID 0陣列在工作,這樣系統就沒有冗余了。簡而言之,如果每個RAID 0陣列中都有一塊磁盤出現故障,那么整個磁盤陣列就不能工作了。這種模式提供了非常好的順序或任意讀寫的性能。
  缺點:只能使用磁盤陣列總體存儲容量的50%。容錯性不如RAID 1。對于絕大部分控制器來說,這種模式能夠應對一塊磁盤出現故障的情況。擴展方面受到限制,而且擴展的費用很高。

        

        4個常用的RAID級別各自的優缺點:

  RAID級別           速度   冗余性     磁盤利用率  
  RAID 0       讀寫速度均有提升   0   所有磁盤之和
  RAID 1     讀速度有提升   n   一個磁盤大小
  RAID 5     讀寫速度均有提升       1   1-1/n
  RAID 6     讀寫速度均有提升   2   1-2/n

原創文章,作者:血刀老祖,如若轉載,請注明出處:http://www.www58058.com/11411

(0)
血刀老祖血刀老祖
上一篇 2016-02-14 09:54
下一篇 2016-02-14 09:55

相關推薦

  • 馬哥教育網絡班21期+第五周課程練習

    第五周作業 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; cat /boot/grub/grub.conf  | grep "^[[:space:]]\+" 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至…

    Linux干貨 2016-10-17
  • Linux基礎指令(2)

    4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?  元數據定義:      數據(Metadata),又稱中介數據、中繼數據,為描述 數據的數據(data about data),主要是描述數據屬性(property)的信息,用來支持如…

    Linux干貨 2016-11-09
  • 壓縮與解壓

        compress 命令使用“Lempress-Ziv”編碼壓縮數據文件。compress是個歷史悠久的壓縮程序,文件經它壓縮后,其名稱后面會多出”.Z”的擴展名。當要解壓縮時,可執         &nbsp…

    2017-08-14
  • LVS:三種模式的原理、調度算法、及應用介紹

    LVS三種模式原理(nat/dr/tun) LVS/NAT:   如上圖,客戶通過virtual IP (虛擬服務的IP地址,公網地址),訪問網絡服務時,請求報文到達調度器,調度器根據連接調度算法從一組真實服務器中選出一臺服務器,將報文的目標地址VIP,改寫成選定服務器的地址(RIP),報文的目標端口改寫成選定服務器的相應端口,最后將修改…

    Linux干貨 2016-10-30
  • iptables的一個小文檔

    iptables:    iptables五表五鏈        felter表            INPUT   …

    Linux干貨 2017-04-30
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@centos ~]# mke2fs -t ext4 -b 2048 -m 2&…

    Linux干貨 2016-08-01

評論列表(1條)

  • stanley
    stanley 2016-02-14 09:54

    有圖更顯豐滿

欧美性久久久久