问题
尝试将设备重新添加到RAID时,我们会收到以下消息:
# mdadm /dev/md2 --add /dev/sda1 mdadm: Cannot open /dev/sda1: Device or resource busy
mdadm:无法打开 /dev/sda1:设备或者资源繁忙
而 mdstat 命令指示设备处于非活动状态。
# cat /proc/mdstat Personalities : md2 : inactive sda1[0](S) 292928154 blocks super 1.2 unused devices: [none]
mdadm 无法创建软件 raid 设备,并显示设备或者资源忙错误消息。
欢迎 on
it
road
解决方案
预检
在我们继续之前,请确保分区是否是任何活动 FS 的一部分。
mdadm --detail /dev/md2 mdadm: md device /dev/md2 does not appear to be active. mdadm --detail --scan >> /etc/mdadm.conf mdadm: md device /dev/md2 does not appear to be active. # ls -l /etc/mdadm.conf -rw-r--r-- 1 root bin 0 Sep 18 21:17 /etc/mdadm.conf # cat /etc/mdadm.conf
问题原因
此问题的原因可能是 device-mapper-multipath(或者其他 device-mapper 模块)可以控制此设备,因此 mdadm 无法访问它。
命令“dmsetup table”将显示该设备由设备映射器控制(有关更多详细信息,请参阅“man dmsetup”)
# dmsetup table
解决方法
作为解决方法,我们可以使用以下命令从设备映射表中删除设备。
# dmsetup remove [device id]
永久解决方案
作为一种解决方案,我们可以在没有某些设备映射器模块的情况下启动服务器,例如 dmraid,我们可以将“nodmraid”添加到 /etc/grub.conf 中的内核命令行,如下所示。
title Enterprise Linux Enterprise Linux Server (2.6.32-100.24.1.el5) root (hd0,0) kernel /vmlinuz-2.6.32-100.24.1.el5 ro root=/dev/vg00/lv00 console=tty0 nodmraid initrd /initrd-2.6.32-100.24.1.el5.img
或者如果 device-mapper-multipath 可以控制此设备,我们可以将其添加到 /etc/multipath.conf 中的黑名单部分
# vi /etc/multipath.conf blacklist { wwid [your world-wide-id for this device] }
重新加载 multipathd 以使更改生效:
# service multipathd reload # multipath -v2
确保 multipath 不会在“multipath -ll”中为这些设备创建映射。
# multipath -ll
设备映射器不应在启动时进行控制。
检查确认
执行上述步骤后,我们应该能够创建软件 RAID。
验证:
# mdadm /dev/md2 --add /dev/sda1
日期:2020-09-17 00:14:45 来源:oir作者:oir