如何使用Linux程序mdadm创建软件RAID1软阵列(3)

mdadm工具内置有磁盘阵列监控功能。当mdadm作为守护程序运行的时候(就像我们上文那样),会周期性的检测阵列运行状态,将检测到的信息通过电子邮件或者系统日志报告上来。当然,也可以配置其在发生致命性错误的时候调用紧急命令。

mdadm默认会记录所有已知分区和阵列的事件,并将他们记录到 /var/log/syslog中。或者你可以在配置文件中(debian系统:/etc/mdadm/mdadm.conf ,红帽子系统:/etc/mdadm.conf )用以下格式指定监控设备或者阵列。如果mdadm.conf文件不存在,你可以创建一个。

DEVICE /dev/sd[bcde]1/dev/sd[ab]1

 

ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1

ARRAY /dev/md1 devices=/dev/sdd1,/dev/sde1

.....

 

# optional email address to notify events

MAILADDR your@email.com

编辑完毕mdadm配置文件后,重启mdadm服务:

Debian系统,Ubuntu或者Linux Mint:

# service mdadm restart

Fedora, CentOS 或 RHEL 7:

# systemctl restart mdmonitor

CentOS或者RHEL 6:

# service mdmonitor restart

自动加载阵列

现在我们在/etc/fstab中加入条目使得系统启动的时候将阵列挂载到/mnt目录下:

# echo "/dev/md0 /mnt ext4 defaults 0 2" << /etc/fstab

为了验证挂载脚本工作正常,我们首先卸载阵列,重启mdadm,然后重新加载。可以看到/dev/md0已经安装我们添加到/etc/fstab中的条目加载了:

# umount /mnt

# service mdadm restart (on Debian, Ubuntu or Linux Mint)

or systemctl restart mdmonitor (on Fedora,CentOS/RHEL7)

or service mdmonitor restart (on CentOS/RHEL6)

# mount -a

如何使用Linux程序mdadm创建软件RAID1软阵列

现在我们的阵列已经可以访问了,拷贝文件/etc/passwd到/mnt中测试一下:

如何使用Linux程序mdadm创建软件RAID1软阵列

Debian系统中,需要在/etc/default/mdadm 设置 AUTOSTART 变量为 true 才能使mdadm守护程序在开机时自动加载阵列:

AUTOSTART=true

模拟磁盘丢失故障

我们将使用以下命令卸载磁盘来模拟磁盘故障。注意,在实际应用中,磁盘如果已经是故障状态了,不需要卸载。

首先,卸载阵列:

# umount /mnt

现在注意每次执行命令后 'mdadm -D /dev/md0' 的输出。

# mdadm /dev/md0 --fail /dev/sdb1 # 标记 /dev/sdb1 为失效

# mdadm --remove /dev/md0 /dev/sdb1 # 从阵列中移走 /dev/sdb1

然后,如果你有个备用盘的话,重新添加一下:

# mdadm /dev/md0 --add /dev/sdb1

数据会被自动添加到备用盘 /dev/sdb1 上:

注意以上所述步骤只适合支持磁盘热拔插的系统,在不支持热拔插的系统中,还是得停止阵列并关机后更换备用盘:

# mdadm --stop /dev/md0

# shutdown -h now

最后将新驱动器重新添加到阵列中:

# mdadm /dev/md0 --add /dev/sdb1

# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2448edef8cb0ba997fe6097af1cba61b.html