我的本地分区被检测为多路径设备
$multipath -l
mpathb (360014380125d90420000a000003e0000) dm-9 HP,HSV450
size=200G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
`- 3:0:0:1 sdb 8:16 active undef running
mpatha (3600508b1001c02143bc59c6862d97353) dm-0 HP,LOGICAL VOLUME
size=137G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
`- 0:0:0:1 sda 8:0 active undef running
我在 multipath.conf 中添加了以下几行,以便本地分区不会被检测为多路径设备
blacklist {
wwid 3600508b1001c02143bc59c6862d97353
}
之后执行以下命令。
#service multipathd reload
# multipath -F
Oct 22 12:10:42 | mpathb: map in use
Oct 22 12:10:42 | mpatha: map in use
重启服务器可以解决问题吗?这是一个生产服务器,所以我必须先停机一段时间才能继续重新启动。
答案1
我解决了这个问题。除了在 multipath.conf 中将设备列入黑名单之外,我们还必须重新编译 RAMDISK,以便在启动期间将本地磁盘列入黑名单。简单地排除磁盘并重新启动服务器并不能帮助我解决问题。
步骤如下:
步骤1.使用设备的WWID将/etc/multipath.conf中的本地磁盘列入黑名单
blacklist {
wwid 3600508b1001c02143bc59c6862d97353
}
步骤2.创建RAMDISK
1. cp /boot/initramfs-<>.img /root/
2. mkinitrd -f /boot/initramfs-`uname -r`.img `uname -r`
步骤 3. 重新启动服务器并使用多路径命令进行验证
$multipath -l
mpathb (360014380125d90420000a000003e0000) dm-9 HP,HSV450
size=200G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
`- 3:0:0:1 sdb 8:16 active undef running
有关该问题的更多详细信息,请参见此处
http://yenonn.blogspot.in/2013/05/linux-dm-multipath-on-local-disk.html
答案2
multipath -f mapth_device
显然,通过发出或来禁用多路径设备mmultipath -F
对您不起作用。
在这种情况下,如果当您尝试禁用多路径时出现设备的消息map in use
,则该设备仍在使用中。您必须先卸载或以其他方式静默设备,然后才能禁用多路径。
如果无法静默设备,请编辑/etc/multipath.conf
文件以排除该设备,然后重新启动服务器。