1. 程式人生 > >Linux軟件RAID(磁盤冗余陣列)

Linux軟件RAID(磁盤冗余陣列)

導入 verbose 時也 等級 磁盤容量 追加 add fff BE

一、LVM與RAID特點對比
LVM RAID
LVM實現動態擴容 RAID支持動態擴容
LVM不支持磁盤加速 RAID支持磁盤加速
LVM不支持冗余(數據備份) RAID支持冗余

二、RAID(磁盤冗余陣列)

(1)硬件:磁盤陣列卡、磁盤陣列櫃

(2)軟件:mdadm

三、RAID級別

(1)RAID 0:需兩塊硬盤以上,一般為偶數磁盤數量,磁盤容量為多塊磁盤的和(致命缺點:數據無冗余效果),提升磁盤I/O(讀取、寫入)、不允許磁盤損壞

(2)RAID 1:需兩塊硬盤以上,一般為偶數磁盤數量,磁盤容量為多塊磁盤的一半,提升數據的可靠性(致命缺點:磁盤浪費嚴重)、允許磁盤壞掉一半

(3)RAID 5:需三塊硬盤以上,一般為奇數磁盤數量,磁盤容量為多塊磁盤-1,提升部分磁盤速度及冗余效果(致命缺點:生成校驗和時占用額外計算資源)、允許損壞一塊硬盤

(4)RAID 6:需四塊硬盤以上,一般為偶數磁盤,磁盤容量為多塊磁盤-2,相當於RAID 5提升了磁盤速度及冗余效果(允許損壞兩塊磁盤)

(5)RAID 1+0:需四塊硬盤以上,一般為偶數磁盤,磁盤容量為多塊磁盤的一半,綜合了RAID 0+RAID 1的特性

(6)RAID 5+0:需六塊磁盤以上,一般為偶數磁盤,磁盤容量為每三塊磁盤-1,綜合了RAID 5+RAID 0的特性

(7)RAID 6+0:需八塊磁盤以上,一般為偶數磁盤,磁盤容量為每四塊磁盤-2,綜合了RAID 6+RAID 0的特性

組成RAID時,一般磁盤容量相等

四、RAID 5案例:

1.查看系統中的磁盤設備fdisk -l

技術分享圖片

2.使用命令mdadm創建raid

如果沒有請先安裝mdadm軟件包(rpm -qa |grep mdadm
技術分享圖片
命令參數

-A  =  --assemble      //激活
-S  =  --stop           //停止
-D  =  --detail          //查看raid詳細信息
-C  =  -- create         //建立raid設備
-v  =  --verbose        //顯示建立過程的詳細信息
-l  =  --level            //raid的級別
-n  =  --raid-devices    //raid設備數
-s  =  --scan            //掃描raid設備
-f  =  --fail              //標示壞的硬盤
-a  =  --add             //添加硬盤
-r  =  -remove           //移除壞的硬盤

:RHEL 的光盤中有這個包

3.創建raid5陣列

mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]
可以縮寫為:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]

技術分享圖片
參數解釋

-create               //表示要創建raid
--auto=yes /dev/md0    //是否自動檢測,新建立的軟件磁盤陳列設備為md0,md序號可以為0-9
--level=5               //磁盤陣列的等級,這裏是raid5
-raid-devices           //所需使用的磁盤數量
--spare-devices          //添加作為預備(spare)磁盤的塊數
/dev/sd[b-e]           //磁盤陣列所使用的設備,還可以寫成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”

4.查看RAID是否成功的創建是否運行的正常

(1)查看詳細信息:mdadm  - -detail  /dev/md0命令查看RAID的詳細信息

技術分享圖片
技術分享圖片

(2)較為簡單的查看:可以直接查看cat  /proc/mdstat的文件看到RAID運行的情況

技術分享圖片

**註**:U代表沒有問題、_則表示不正常;磁盤後面的(S)表示作為預備

5.格式化並且掛載和使用創建的RAID

mkfs.exe4  /dev/md0             //格式化   raid5磁盤為 md0

技術分享圖片

mkdir  /raid

技術分享圖片

mount  /dev/md0  /raid      //將md0 掛載到/raid目錄下查看一下掛載情況
df  –hT

技術分享圖片
試一下新加上的RAID是不是可以使用,向裏面寫入文件
技術分享圖片

6.設置開機自動啟動RAID以及自動掛載

讓RAID開機自啟動,RIAD配置文件名字為mdadm.conf 這個文件默認是不存在的,要自己建立.該配置文件存在的主要作用是系統啟動的時候能夠自動加載軟RAID,同時也方便日後管理. 說明下mdadm.conf文件主要由以下部分組成

DEVICES選項制定組成RAID所有設備,
ARRAY選項指定陣列的設備名、RAID級別、陣列中活動設備的數目以及設備的UUID號

註意此文件如果不創建下次開機重啟後/dev/md0將會被系統自動識別為其他非/dev/md0名稱的設備,對於實現開機掛載和使用都不方便
(1)先建立/etc/mdadm.conf 這個文件

mdadm  --detail  --scan > /etc/mdadm.conf  //將raid信息導入配置文件

技術分享圖片
(2)要對這個文件做一下改動:將組成RAID5的設備名全部追加到配置文件中
技術分享圖片
(3)在設置RAID的自動掛載

vim  /etc/fstab     //修改掛載文件
/dev/md0   /raid     ext4     defaults    0   0     //在文件中添加

技術分享圖片

7.模擬RAID5中的磁盤損壞

(1)驗證spare磁盤的功能(在raid5中允許一塊磁盤的損壞,也就是我們設置的spare磁盤會立即的替換壞掉的磁盤進行raid的重建,保障數據的安全性)

mdadm  --manage  /dev/md0  --fail /dev/sdd  //使用此命令設置sdd成為出錯的狀態(或可簡寫為mdadm  /dev/md0  -f  /dev/sdd)

技術分享圖片
(2)查看一下磁盤的信息:mdadm --detail /dev/md0
技術分享圖片
技術分享圖片
(3)簡單的查看一下RAID的情況
技術分享圖片
(4)創建完成也就是說明raid5 已經自動的恢復了!查看一下raid5是不是可以正常使用!
往裏面新建文件寫入數據,這時可以發現,RAID5還可正常使用,對數據不造成任何影響

技術分享圖片

Active  sync  /dev/sdb1   # raid的真成員
spare  /dev/sdc1            #raid備用成員

(5)重新添加/dev/sdd進RAID5,可做以下操作:

mdadm  /dev/md0  --remove  /dev/sdd      //將壞掉的磁盤sdd從raid中移除

技術分享圖片

mdadm  /dev/md0  -a  /dev/sdd             //將/dev/sdd加入陣列

技術分享圖片
(6)查看狀態
技術分享圖片
技術分享圖片

mdadm  --zero-superblock  --force  /dev/sdd(可選)    //可修復硬盤將模
擬損壞的硬盤重新添加

技術分享圖片
(7)再模擬損壞掉一塊硬盤,驗證硬盤是否還可正常工作
技術分享圖片
(8)再次查看硬盤狀態
技術分享圖片
技術分享圖片
技術分享圖片

8.關閉RAID的方法

直接卸載/dev/md0,並且註釋掉/etc/fstab文件中的配置

umount  /dev/md0                  //解除掛接

技術分享圖片

vim  /etc/fstab                     //將fstab裏面的開機自動掛載註釋掉
#/dev/md0     /var/www/html     ext4     defaults         0   0

技術分享圖片

mdadm --stop /dev/md0           //停止md0磁盤服務

技術分享圖片

Linux軟件RAID(磁盤冗余陣列)