简单来说,RAID(磁盘阵列)把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点。更多内容参考:RAID
阵列可以有阵列卡实现的硬阵列,也可以由操作系统提供支持的软阵列。linux下的软阵列用mdadm来管理。以下是针对CentOS的基本操作:
1、产生组成单元
linux中软阵列的组成单元是分区,且这个分区的系统识别码必须设置成“fd linux raid autodetect”。可以用fdisk或pareted分区工具分区。
Device Boot Start End Blocks Id System /dev/hdb1 1 195 98248+ fd Linux raid autodetect /dev/hdb2 196 390 98280 fd Linux raid autodetect
2、建立磁盘阵列
mdadm -C /dev/md0 -l 1 -n 4 /dev/hd[bd][12] #-C /dev/md0 创建名为md0的磁盘阵列设备 #-l 1 阵列等级是raid1,可以建立0,5等其他磁盘阵列 #-n 4 组成单元有4个分区 #/dev/hd[bd][12] 组成单元是/dev/hdb1、/dev/hdb2、/dev/hdd1、/dev/hdd2 #格式化该磁盘阵列 mkfs -t ext3 /dev/md0 #挂载并设置/etc/fstab mount /dev/md0 /data echo "/dev/md0 /data ext3 defaults 1 2" >> /etc/fstab
3、mdadm.conf配置
/etc/mdadm.conf是centos下mdadm的默认配置文件,系统启动时会根据此配置文件激活磁盘阵列及启动阵列监控服务。此配置文件可以参考/usr/share/doc/mdadm-2.6.9/mdadm.conf-example。配置很简单,可以根据已经建立的磁盘阵列使用以下命令建立此文件。
mdadm -Ds >> /etc/mdadm.conf echo "MAILADDR [email protected]" >> /etc/mdadm.conf #MAILADDR是管理员email,磁盘阵列出问题时会发邮件通知管理员。 cat /etc/mdadm.conf #内容如下 ARRAY /dev/md0 level=raid1 num-devices=4 metadata=0.90 UUID=40d32084:7be6bc73:071b21a9:4d8afc12 MAILADDR [email protected]
1、查看磁盘阵列信息
#直接查看/proc/mdstat cat /proc/mdstat Personalities : [raid1] md0 : active raid1 hdd2[3] hdd1[2] hdb2[1] hdb1[0] 98176 blocks [4/4] [UUUU] #使用mdadm查看 mdadm -D /dev/md0
2、处理硬盘故障
对于raid1,raid5这样有容灾能力的磁盘阵列来说,硬盘的故障不用太担心。以下是处理硬盘故障一般步骤:
a.使用mdadm /dev/md0 -r /dev/hdb1 在线卸载故障硬盘的组成单元
b.物理拆除故障硬盘
c.安装正常的硬盘并分区产生新的组成单元
d.使用mdadm /dev/md0 -a /dev/hdd3 在线加入新组成单元
#-f参数可以模拟磁盘故障 mdadm /dev/md0 -f /dev/hdb1 mdadm -D /dev/md0 |tail UUID : 40d32084:7be6bc73:071b21a9:4d8afc12 Events : 0.4 Number Major Minor RaidDevice State 0 0 0 0 removed 1 3 66 1 active sync /dev/hdb2 2 22 65 2 active sync /dev/hdd1 3 22 66 3 active sync /dev/hdd2 4 3 65 - faulty spare /dev/hdb1 #在线卸载故障硬盘的组成单元 mdadm /dev/md0 -r /dev/hdb1 #在线加入新组成单元 mdadm /dev/md0 -a /dev/hdd3 mdadm -D /dev/md0 |tail Spare Devices : 0 UUID : 40d32084:7be6bc73:071b21a9:4d8afc12 Events : 0.26 Number Major Minor RaidDevice State 0 22 67 0 active sync /dev/hdd3 1 3 66 1 active sync /dev/hdb2 2 22 65 2 active sync /dev/hdd1 3 22 66 3 active sync /dev/hdd2
3、启用、停用磁盘阵列
#启用 mdadm -A -s [MD_DEVICE] #停用 mdadm --stop -s [MD_DEVICE]
4、监控磁盘阵列
启动mdmonitor服务监控磁盘阵列,当磁盘阵列出现故障时会发邮件通知管理员,邮件保存在/etc/mdadm.conf里。
/etc/init.d/mdmonitor start chkconfig mdmonitor on #报警内容示例 This is an automatically generated mail message from mdadm running on localhost.localdomain A Fail event had been detected on md device /dev/md0. It could be related to component device /dev/hdb1. Faithfully yours, etc. P.S. The /proc/mdstat file currently contains the following: Personalities : [raid1] md0 : active raid1 hdd2[3] hdd1[2] hdb2[1] hdb1[4](F) 98176 blocks [4/3] [_UUU] unused devices:
5、删除磁盘阵列
删除磁盘阵列前必需做好备份。
umount /dev/md0 mdadm --stop -s /dev/md0 mdadm --zero-superblock /dev/hd[bd][123] rm /etc/mdadm.conf #删除磁盘阵列后必须修改/etc/fstab,以免开机无法挂载分区而无法启动。