RAID磁盤陣列

什么是RAID?

   RIAD(Redundant Array of Independent Disk,獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大型存儲設備出現。RAID可以充分發揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會受到損壞硬盤的影響。

RAID的實現方式:

  RAID的實現方式有三種:

    1、外接式磁盤陣列:通過擴展卡提供適配能力
    2、內接式RAID:主板集成RAID控制器
    3、利用軟件方式實現RAID功能

幾種常用的RAID

1、RAID0

    即條帶卷,RAID0可以把多塊硬盤連成一個容量更大的硬盤群,可以提高磁盤的性能和吞吐量。
特點:
    容錯能力:                 無 
    數據冗余:                 無
    寫 性 能:                提升                             
    讀 性 能:                提升
    需要的磁盤數:           2,2+                                    
    可用容量:              總的磁盤的容量
2.png
如圖所示條帶化有很好的性能。在RAID0(條帶化)中數據將使用切片的方式被寫入到磁盤。一半的內容放在一個磁盤上,另一半內容將被寫入到另一個磁盤。在這種情況下,如果驅動器中的任何一個發生故障,我們就會丟失數據,因為一個盤中只有一半的數據,不能用于重建 RAID。

2、RAID1

    即鏡像卷,把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗余能力。
特點:
    容錯能力:                   有
    數據冗余:                   有
    寫性能:                    下降
    讀性能:                    提升
    需要的磁盤數:               2,2+
    可用容量:                  總磁盤容量的50%
3.png
如圖所示,鏡像可以對我們的數據做一份相同的副本。假設我們有兩個2TB的硬盤驅動器,我們總共有4TB,但在鏡像中,放在RAID控制器后面的驅動器形成了一個邏輯驅動器,我們只能看到這個邏輯驅動器有2TB。當我們保存數據時,它將同時寫入這兩個2TB驅動器中。創建RAID1(鏡像化)最少需要兩個驅動器。如果發生磁盤故障,我們可以通過更換一個新的磁盤恢復RAID。如果在RAID1中任何一個磁盤發生故障,我們可以從另一個磁盤中獲取相同的數據,因為另外的磁盤中也有相同的數據。所以是零數據丟失。由于對存儲的數據進行百分之百的備份,在所有RAID級別中,RAID 1提供最高的數據安全保障。同樣,由于數據的百分之百備份,備份數據占了總存儲空間的一半,因而鏡像盤的磁盤空間利用率低,存儲成本高。 RAID1雖不能提高存儲性能,但由于其具有的高數據安全性,使其尤其適用于存放重要數據,如服務器和數據庫存儲等領域。

3、RAID 5

    即分布式奇偶校驗,RAID5可以理解為是RAID0和RAID1的折衷方案,但沒有完全使用RAID1鏡像理念,而是使用了“奇偶校驗信息”來作為數據恢復的方式。
特點:
    容錯能力:                   有
    數據冗余:                   有
    寫性能:                    提升
    讀性能:                    提升
    需要的磁盤數:               3,3+
    可用容量:                  (n-1)/n的總磁盤容量(n為磁盤數)
4.png
RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的RAID5為例,其數據存儲方式如圖所示:圖中,Ap為A1,A2和A3的奇偶校驗信息,其它以此類推。由圖中可以看出,RAID5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID5的一個磁盤數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據,但是如果驅動器損壞個數超過1個會導致數據的丟失。RAID5可以為系統提供數據安全保障,但保障程度要比RAID1低而磁盤空間利用率要比RAID1高。RAID5具有和RAID0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個奇偶校驗信息,RAID5的磁盤空間利用率要比RAID1高,存儲成本相對較低。

4、RAID6

    即雙分布式奇偶校驗,RAID6和RAID5相似但它有兩個分布式奇偶校驗。
特點:
    容錯能力:                   有
    數據冗余:                   有
    寫性能:                    提升
    讀性能:                    提升
    需要的磁盤數:               4,4+
    可用容量:                  (n-2)/n的總磁盤容量(n為磁盤數)
5.png
RAID6技術是在RAID5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID5等級。與RAID5的不同之處于除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的,具體形式見圖。這樣一來,等于每個數據塊有了兩個校驗保護屏障(一個分層校驗,一個是總體校驗),因此RAID 6的數據冗余性能相當好,即使有2個驅動器發生故障,依然可以更換新的驅動器后重建數據。但是,由于增加了一個校驗,所以寫入的效率較RAID 5還差,而且控制系統的設計也更為復雜,第二塊的校驗區也減少了有效存儲空間.

5、RAID10

    RAID10可以被稱為1+0或0+1。它將做鏡像+條帶兩個工作。在RAID10中首先做鏡像然后做條帶。在RAID01上首先做條帶,然后做鏡像。
特點:
    容錯能力:                   有
    數據冗余:                   有
    寫性能:                    提升
    讀性能:                    提升
    需要的磁盤數:               4,4+
    可用容量:                  總磁盤容量的50%

1481211841889976.jpg          

8.png

                                                            

RAID01和RAID10非常相似,二者在讀寫性能上沒有什么差別。但是在安全性上RAID10要好于 RAID01。如圖中所示,假設DISK0損壞,在RAID10中,在剩下的3塊盤中,只有當DISK1故障, 整個RAID才會失效。但在RAID01中,DISK0損壞后,左邊的條帶將無法讀取,在剩下的3快盤 中,只要DISK2或DISK3兩個盤中任何一個損壞,都會導致RAID失效。

 

軟RAID創建示例:

創建一個大小為10G的RAID1,要求有空閑盤,而且CHUNK大小為128k。

第一步:先創建三個大小為10G的分區,分區類型修改為Linux raid autodetect
    [root@localhost ~]# fdisk -l /dev/sdb

    Disk /dev/sdb: 37.6 GB, 37580963840 bytes
    255 heads, 63 sectors/track, 4568 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xfeadeb63

       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1306    10490413+  fd  Linux raid autodetect
    /dev/sdb2            1307        2612    10490445   fd  Linux raid autodetect
    /dev/sdb3            2613        3918    10490445   fd  Linux raid autodetect

第二步:創建RAID1并指明CHUNK大小為128KB
    [root@localhost ~]# mdadm -C /dev/md0 -a yes -n 2 -x 1 -l 1 -c 128 /dev/sdb{1,2,3}
        \* -a 是否自動創建目標RAID設備的設備文件
           -n 指明RAID磁盤個數
           -x 指明空閑盤的個數
           -l 指明要創建的RAID級別
           -c 指明CHUNK大小
        */
    [root@localhost ~]# cat /proc/mdstat   \*查詢md0狀態*\
    Personalities : [raid1] 
    md0 : active raid1 sdb3[2](S) sdb2[1] sdb1[0]
          10482112 blocks super 1.2 [2/2] [UU]

    unused devices: <none>

 

創建一個大小為4G的RAID5設備,chunk大小為256k,格式化為ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能。

第一步:創建五個大小為1G的分區,分區類型修改為Linux raid autodetect
    [root@localhost ~]# fdisk -l /dev/sdb
        Device Boot      Start         End      Blocks   Id  System
    /dev/sdb5             397         528     1060258+  fd  Linux raid autodetect
    /dev/sdb6             529         660     1060258+  fd  Linux raid autodetect
    /dev/sdb7             661         792     1060258+  fd  Linux raid autodetect
    /dev/sdb8             793         924     1060258+  fd  Linux raid autodetect
    /dev/sdb9             925        1056     1060258+  fd  Linux raid autodetect
第二步:創建RAID5并指明CHUNK大小為256KB
    [root@localhost ~]# mdadm -C /dev/md0 -a yes -n 5 -l 5 -c 256 /dev/sdb{5,6,7,8,9}

    [root@localhost ~]# cat /proc/mdstat 
    Personalities : [raid6] [raid5] [raid4] 
    md0 : active (auto-read-only) raid5 sdb9[5] sdb8[3] sdb7[2] sdb6[1]
          4236288 blocks super 1.2 level 5, 256k chunk, algorithm 2 [5/4] [_UUUU]

    unused devices: <none>
第三步:格式化為ext4文件系統
    [root@localhost ~]# mke2fs -t ext4 -L myraid5 /dev/md0

第四步:設置開機自動掛載
    [root@localhost ~]# echo "UUID=a4ed7b82-223f-bd1c-1b39-316a2c92d2bb /backup  ext4 acl,noatime 0 0" >> /etc/fstab

 

原創文章,作者:641348038@qq.com,如若轉載,請注明出處:http://www.www58058.com/63040

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-13 07:56
下一篇 2016-12-13 10:12

相關推薦

  • DNS常用配置解析反向解析

    什么是域名解析庫文件?     是指將我們訪問的域名解析成IP返回給本主機,然后本機拿著解析后IP去訪問服務器,而解析格式就放在域名解析庫文件中。DNS解析分為正向解析和反向解析    正向解析就是將域或域名解析成對應的IP地址,反之則相反,通過IP解析成域名 &nbs…

    Linux干貨 2017-05-31
  • Linux系統命令格式及基礎命令、幫助信息。

    一、Linux系統上的命令使用格式 命令的語法通用格式:                 # COMMAND OPTIONS ARGUMENTS     &nb…

    Linux干貨 2016-10-30
  • LVM 邏輯卷管理

    一、概述: LVM: logical Volumn Manager  LVM是建立在硬盤和分區之上的一個邏輯層??梢詫⒍鄠€物理分區整合起來,無需停機,可以對文件系統的大小進行調整。同時,還提供快照功能 二、概念及實現過程: PE :每一個物理卷PV被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的…

    Linux干貨 2015-10-05
  • 計算機的組成及其功能

    計算機由運算器,控制器、存儲器及輸入、輸出裝置五部分組成。 第一,運算器(Arithmetical and Logical Unit),也稱作算術邏輯單元,主要是對數據進行各種運算。 第二,控制器(Control Unit)是計算機的控制中心,協調各計算機各部分按照預先的目標和步驟有序的工作。控制器從存儲器中逐條取出指令,分析每條指令規定的操作和所需數據的存…

    Linux干貨 2016-09-17
  • NFS,samba,vsftpd的基本使用

    一.NFS介紹 NFS(Network File System),全名叫做網絡文件系統,是由SUN公司研發的。顧名思義,簡單理解就是通過網絡互聯,將本地的文件系統共享出去,從而實現資源的共享,NFS監聽在TCP的2049端口上。當涉及到主機之間的通信時,就會存在安全問題,于是為了安全考慮,主動提出請求的一方(客戶端)需要提供一些基本信息來認證,這些信息是需要…

    Linux干貨 2017-01-04
  • 筆記四、Linux基礎入門-上半部

    前言 直接已經教大家如何創建虛擬機和安裝CentOS 操作系統了,那么今天就來開始入門吧。linux對于新手來說并不難,linux的構造 http://www.www58058.com/68853 這篇博客里我已經講解了,有興趣最好看一下llinux下每個目錄的作用。還有Linux的哲學思想。 這里我就開始介紹了。 一、用戶登陸   &n…

    2017-02-23

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:28

    贊~能很好的了解各raid模式和使用場景會更好~繼續加油~

欧美性久久久久