一、RAID介紹
RAID即廉價備援磁盤陣列(Redundant Array of Inexpensive Disks),從Linux 2.4核心開始,Linux就提供軟體RAID,不必購買昂貴的硬體RAID控制器和附件(一般中、高擋伺服器都提供這樣的裝置和熱插拔硬碟),就可以通過并行處理多個獨立的I/O 請求提高讀寫性能,而且能通過增加備援資訊來提高資料存儲的可靠性。
二、幾種RAID類型
RAID 0
非備援,讀寫性能好,資料可靠性低于單個磁盤。
RAID 1
鏡像,讀性能好,寫性能與單個磁盤相當,資料可靠性高,成本高。
RAID 2
并行通路,通過海明碼實作備援,讀寫性能好,磁盤同步旋轉,帶檢錯糾錯功能,可靠性高,讀寫性能好,但一次隻能執行一個I/O 請求。
RAID 3
并性通路,通過奇偶校驗實作備援,讀寫性能好,磁盤同步旋轉,帶檢錯功能,可靠性高,讀寫性能好,但一次隻能執行一個I/O 請求。
RAID 4
獨立通路,以塊為機關計算奇偶校驗塊并存放與校驗盤,資料可靠性高,讀性能好,寫性能差(因為每次寫都要更新校驗盤資料),校驗盤成為性能瓶頸。
RAID 5
在RAID 4 基礎上,把奇偶校驗塊循環分布在所有磁盤上,進而減輕單個校驗盤的性能瓶頸問題,讀寫性能和可靠性類似于RAID 4。
三、硬體RAID 和軟體RAID
硬體RAID
(1)利用硬體RAID 控制器來實作, 由內建或專用的陣列卡來控制硬碟驅動器。
(2)存取性能和資料保護能力高, 但成本也高。
(3)Linux 将硬體磁盤陣列看作一塊實際的硬碟, 其裝置名為/dev/sd[a-p]。
軟體RAID
(1)利用作業系統提供的軟體RAID 功能來實作。
(2)适用于要求不高的場合, 成本低。
(3)Linux 将軟體磁盤陣列看作多重磁盤裝置(MD), 其裝置名為/dev/md0、/dev/md1 等。
四、linux中RAID配置
在Linux系統中,主要提供RAID 0、RAID 1、RAID 5三種級别的RAID。mdadm是 linux下标準的的軟raid管理工具,是一個模式化工具(在不同的模式下);程式工作在記憶體使用者程式區,為使用者提供RAID接口來操作核心的子產品,實作各種功能。
1、RAID 1 配置
(1)建立兩個相同大小的RAID 分區,設定分區id 為fd。
(2)建立RAID 裝置
mdadm --create /dev/md0 --level 1 --raid-devices=2 /dev/sdb1 /dev/sdc1
(3)設定mdadm 配置檔案/etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
(4)建立檔案系統
mkfs -t ext3 /dev/md0
(5)挂載RAID 1 裝置
mkdir /mnt/raid1
mount /dev/md0 /mnt/raid1
(6)管理RAID 1陣列
# 模拟某成員磁盤發生故障
mdadm /dev/md0 --fail /dev/sdc1
# 從RAID 1 陣列中移除故障成員
mdadm /dev/md0 --remove /dev/sdc1
# 準備一塊要替換的磁盤,并将新磁盤加入到陣列中
mdadm /dev/md0 --add /dev/sdd1
# 檢視陣列實時資訊
cat /proc/mdstat
mdadm --detail /dev/md0
2、RAID 5配置
(1)準備4 個陣列成員(建立RAID 分區)
(2)建立RAID 裝置:系統預設隻有md0 裝置,其他需自行建立。
ls –l /dev/md0 # 檢視md 裝置的類型和主次裝置号
mknod /dev/md1 b 9 1 # 建立裝置檔案
(3)建立RAID 5 裝置
mdadm --create /dev/md1 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdd[5-8] mdadm --detail /dev/md1
(4)設定mdadm 配置檔案/etc/mdadm.conf
DEVICE /dev/sdd5 /dev/sdd6 /dev/sdd7 /dev/sdd8
ARRAY /dev/md1 devices=/dev/sdd5,/dev/sdd6,/dev/sdd7,/dev/sdd8
(5)建立檔案系統
mkfs.ext3 /dev/md1
(6)挂載RAID 5 裝置
mkdir /mnt/raid5
mount /dev/md1 /mnt/raid5
(7)管理RAID 5 陣列
# 利用備用盤重建RAID 5
mdadm /dev/md1 --fail /dev/sdd6
mdadm --detail /dev/md1
# 可看到備用盤自動參與重建陣列, 而故障盤成為備用磁盤, 而且# 注意: 要等待RAID 重建完畢, 再替換故障磁盤
# 将故障磁盤移除并加入新磁
mdadm /dev/md1 --remove /dev/sdd6
mdadm /dev/md1 --add /dev/sde1
mdadm --detail /dev/md1
(8)啟用/停用/監控RAID 裝置
# 停止RAID 裝置(停止前要先解除安裝)
mdadm --stop /dev/md0
# 啟動RAID 裝置
mdadm --assemble --scan /dev/md0
# 監控RAID 裝置
mdadm --monitor [email protected] --delay=180 /dev/md0
# 将監控任務轉入背景執行
nohup mdadm --monitor [email protected] --delay=180 /dev/md0
(9)如果要删除RAID 多重磁盤裝置(可選)
每個md 裝置隻能被建立一次,如果建立指令(mdadm–create) 出錯,将造成該md 裝置無法使用,這時需要按以下步驟先删除該錯誤的md 裝置,然後才能重新建立它。
#1. 停用RAID 裝置
mdadm --stop /dev/md0
#2. 清空每個組成分區的超級塊
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdc1
轉載于:https://blog.51cto.com/wang3781/1795382