RAID磁碟陣列的原理和搭建
阿新 • • 發佈:2020-10-14
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 | 映象卷 | 2 | 50% | 讀寫速度一般,容錯 |
RAID5 | 帶奇偶校驗的條帶卷 | 3+ | (n-1)/n | 讀寫速度快,容錯,允許壞一塊盤 |
RAID6 | 帶奇偶校驗的條帶集,雙校驗 | 4+ | (n-2)/n | 讀寫快,容錯,允許壞兩塊 |
RAID10 | RAID1和RAID0的高速 | 4 | 50% | 讀寫速度快,容錯 |
RAID50 | RAID5和RAID10的高速 | 6 | (n-2)/n | 讀寫速度快,容錯 |
RAID5圖示
實驗環境:
raid種類 | 磁碟 | 熱備盤 |
---|---|---|
raid0 | sdb,sdc | |
raid1 | sdd,sde | sdf |
raid5 | sdg,sdh,sdi | sdj |
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種類 | 磁碟 | 熱備盤 |
---|---|---|
raid5 | sdg,sdh,sdi | sdj |
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 #清空