RAID級別介紹
RAID的定義
RAID:獨立硬盤冗余陣列 (Redundant Arrays of Inexpensive Disks)
把多個硬盤組合起來,成為一個硬盤陣列組,將其作為一個磁盤。
RAID的作用
-
增強數據集成度
-
增強容錯功能,即耐用性
-
增加處理量或容量,即提高IO能力
實現RAID的方式
-
外接磁盤陣列:通過擴展卡提高適配能力
-
內接式RAID:主板集成RAID控制器
-
Software RAID
我們在使用中比較常用的RAID的級別分別有:
-
RAID-0:
-
RAID-1:
-
RAID-2:
-
RAID-3:
-
RAID-4:
-
RAID-5:
-
RAID-6:
其組合形式主要有:
-
RAID-10
-
RAID-50
-
RAID-60
我們主要介紹RAID-0,RAID-1,RAID-5,RAID-10,RAID-5這四種方式。
1.RAID-0
條帶卷,即將數據流分成塊(chunk)輪流存儲到兩個即兩個以上的磁盤中。 因為讀寫都可并行處理,所以在所有的級別中,RAID-0的速度是最快的,但不具備容錯能力。即如果一個磁盤損壞,則所有數據都會丟失。它的可用空間為N*min(S1,S2,…)。
2.RAID-1
鏡像卷(mirror),即將數據各向兩個及兩個以上的磁盤存一份。讀性能提升,但寫性能略有下降,因為寫性能是以最慢的寫速度作為標準。有容錯能力,如果主硬盤損壞時,鏡像硬盤則替代主硬盤工作??傮w來說,RAID-1的數據安全性是最高的,但磁盤利用率是最低的。它的可用空間為min(S1,S2,…)。
3.RAID-5
RAID-5是RAID-0和RAID-1之間的這種方法,它的數據安全性比RAID-0高,磁盤利用率比RAID-1高。
RAID的工作方式是:在RAID-0的基礎上在增加一個磁盤,即最少使用3個磁盤,除了需要存放數據,還需存放對應的多位數據的異或值,即利用奇偶校驗法,要注意的是,數據塊(chunks)和校驗位必須要按順序即默認為左對稱的方式排放。
RAID-5有容錯能力,但只能允許一個磁盤損害,出現損害后可利用校驗位可求出損害磁盤中所對應的數據來進行讀操作。 可用空間(N-1)*min(S1,S2…)
4.RAID-10
RAID 10是先像射再分區數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然后將這兩組各自視為RAID 1運作。讀寫性能提升,有容錯能力,只要一組鏡像不同時損害,數據就是安全的。最少需要4塊磁盤。可用空間是N*min(S1,S2…)/2
5.JBOD: Just a Bunch Of Disks
將多塊磁盤的空間合并一個大的連續空間使用,任意一塊磁盤損壞,數據及損壞。 可用空間:sum(S1,S2,…)
RAID的創建
創建RAID的前提是要創建好足夠多的分區,并將分區設置為 Linux raid形式。
下面我們來講講具體的操作:
[root@localhost ~]# mdadm -C /dev/md0 -l 1 -a yes -c 256 -n 2 -x 1 /dev/sda{5,6,7} -C: 創建模式 /dev/md0: RAID設備文件 -l #:指明要創建的RAID的級別 -a {yes|no}:自動創建目標RAID設備的設備文件 -c CHUNK_SIZE: 指明塊大小 -n #: 使用#個塊設備來創建此RAID; -x #: 指明空閑盤的個數
下面來創建文件系統,我們選擇ext4, [root@localhost ~]# mkfs.ext4 -L 'mydata' /dev/md0 #指明卷標為mydata,還有一些其他的選項見上一篇文件系統整理。
下面掛載設備文件
mount /dev/md0 /testing/ #將剛創建的RAID掛載到/testing目錄上。
以上RAID就全部完成了
下面是一些測試
[root@localhost ~]# mdadm /dev/md0 -f /dev/sda5 mdadm: set /dev/sda5 faulty in /dev/md0 # 將/dev/sda5標記為損壞 [root@localhost ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Jul 13 08:59:42 2016 Raid Level : raid1 Array Size : 5243712 (5.00 GiB 5.37 GB) Used Dev Size : 5243712 (5.00 GiB 5.37 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Jul 13 09:12:55 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 1 Spare Devices : 0 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : 5200617c:c8fb16ca:3b7de280:0d56f967 Events : 36 Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6 0 8 5 - faulty /dev/sda5 #顯示raid的詳細信息,可以看到此時備用磁盤/dev/sda7已自動成為主磁盤里。數據未遭到損壞。 [root@localhost ~]# mdadm /dev/md0 -r /dev/sda5 # 移除磁盤/dev/sda5
此時raid的信息是
Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6
下面我們再來添加/dev/sda5
mdadm /dev/md0 -a /dev/sda5 #添加磁盤/dev/sda5
可看到信息:
Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6 3 8 5 - spare /dev/sda5
如果想停止md設備
[root@localhost ~]# umount /testing/ [root@localhost ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0 #注意:一定要先卸載設備,才能停止
原創文章,作者:21期-揚州-藍,如若轉載,請注明出處:http://www.www58058.com/24176
寫的很好,排版也很漂亮,加油