1. 程式人生 > 實用技巧 >RAID磁碟陣列的原理和搭建

RAID磁碟陣列的原理和搭建

RAID:磁碟陣列

磁碟陣列是由很多價格比較便宜的磁碟以硬體(raid卡)或軟體MDADM形成組合成一個容量巨大的磁碟組。

RAID可以預防資料丟失,但它不能保證你的資料不丟失。

軟RAID:linux核心中有一個md模組在底層管理RAID裝置。它會在應用層給我們提供一個應用程式工具mdadm

引數:

-C:--creat 建立一個新陣列

-A 啟用磁碟陣列

-D --detail 列印陣列裝置的詳細資訊

-s 或--scan 掃描配置檔案或/proc/mdstat

-r 將裝置狀態定為故障

-a或--add 新增裝置陣列

-v 或 --verbose顯示詳細資訊

-r 移除裝置

-l 或--level= 設定磁碟陣列的等級

-n或--raid-devices= 指定陣列成員(分割槽/磁碟)的數量

-x或--spare-devices= 指定陣列中備用盤的數量

-c或--chunk= 設定陣列的塊大小

-G 或--grow 改變陣列大小或者環境

-S 停止陣列

硬Raid

raid1 raid5 raid10

RAID型別最低磁碟個數空間利用率各自的優缺點
級別說明
RAID0條帶卷2+100%讀寫速度快,不容錯
RAID1映象卷250%讀寫速度一般,容錯
RAID5帶奇偶校驗的條帶卷3+(n-1)/n讀寫速度快,容錯,允許壞一塊盤
RAID6帶奇偶校驗的條帶集,雙校驗4+(n-2)/n讀寫快,容錯,允許壞兩塊
RAID10RAID1和RAID0的高速450%讀寫速度快,容錯
RAID50RAID5和RAID10的高速6(n-2)/n讀寫速度快,容錯

RAID5圖示

實驗環境:

raid種類磁碟熱備盤
raid0sdb,sdc
raid1sdd,sdesdf
raid5sdg,sdh,sdisdj
raid10分割槽:sdk1,sdk2,sdk3,sdk4

建立raid0

mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
mdadm -Dsv   #檢視raid資訊
mdadm -D /dev/md0  #檢視詳細資訊
mdadm -Dsv >> /etc/mdadm.conf #生成配置資訊
mkfs.xfs /dev/md0   #格式化
mkdir /raid0  
mount /dev/md0 /raid0/ # 掛載
blkid /dev/md1     # 檢視分割槽
echo "UUID=XXXX /raid0 xfs defaults 0 0" >>/etc/fstab #開機啟動
umount /raid0/ #解除安裝
mount -a
df -h #檢視分割槽資訊
​
​

建立raid1

新增一個熱備盤

模擬磁碟故障,自動頂替故障盤

解除安裝陣列

從raid1中刪除故障盤

mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdd /dev/sde
#或者 mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd{d,e,f}
mdadm -Dsv >> /etc/mdadm.conf
mdadm -D /dev/md1  
mkfs.xfs /dev/md1  #格式化
mkdir raid2   #建立掛載點
mount /dev/md1 /raid1  #掛載
cp /etc/passwd /raid1/  #複製
cp -r /boot/grub /raid1/ 
df -h  #檢視分割槽
#模擬raid1中資料盤/dev/sde出現故障,觀察/dev/sdf備用盤能否自動頂替故障盤
mdadm /dev/md1 -f /dev/sde
mdadm -D /dev/md1 #檢視狀態
 

建立RAID5

1.建立RAID5,新增一個熱備盤,指定chunk大小為32k

-k 或--spare-devicds= 指定陣列中備份的數量

-c 或--chunk設定陣列塊chunk塊大小,單位為kb

2.停止陣列,重新啟用陣列

3.使用熱備盤,擴充套件陣列容量,從三個磁碟擴充套件到4個

4.硬碟損壞,恢復新增

raid種類磁碟熱備盤
raid5sdg,sdh,sdisdj
mdadm -D  #檢視磁碟使用資訊
mdadm -C -v /dev/md5 -l 5 -n 3 -x 1-c 32 /dev/sd{g,h,i,j} #建立raid
mdadm -D /dev/md5  #檢視磁碟使用情況
mdadm -Dsv >> /etc/mdadm.conf  #儲存配置檔案
mdadm -S /dev/md5  #停止前,請確認資料已經同步完畢
cat -Dsv > /etc/mdadm.conf  #檢視配置資訊
mdadm -As  #掃描檔案並激活
mdadm -G /dev/md5 -n 4 -c 32 #重新分配磁碟
cat /dev/sd*  #檢視磁碟
​
​

建立RAID10

f磁碟分割槽:sdk1,sdk2,sdk3,sdk4

fdisk /dev/sdk
n
p #
n
p #
n
p #
n
p
ls /dev/sdk*
mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdk[1-4] #建立RAID10
mdadm -D /dev/md10   #檢視raid10詳細資訊
cat /proc/mdstat    #檢視配置資訊
刪除出RAID所有資訊及注意事項
umount /dev/md11  #解除安裝md11
df -h  #檢視
umount /raid0 #解除安裝
mdadm -Ss  #掃描資訊暫停裝置
rm -rf /etc/mdadm.conf  #刪除配置檔案
mdadm --zero-superblock /dev/sdb  #清空