在停用卷组之前已物理删除了磁盘,并且无法使LVM停止打印有关该磁盘的错误
Physically removed a disk before deactivating volume group and can't get LV
解决方案已验证
环境
- 红帽企业Linux 5
- 红帽企业Linux 6
问题
- 物理删除支持卷组的单独物理卷。该磁盘的设备节点(/ dev / sdb和/ dev / sdb1)尚未消失,现在我们无法摆脱卷组或LV(使用vgremove或vgreduce --removemissing)。此外,每个lvm命令都会返回如下错误:
[root@localhost ~]# vgdisplay myvg File descriptor 5 (/dev/pts/2) leaked on vgdisplay invocation. Parent PID 20243: bash /dev/myvg/mylv: read failed after 0 of 4096 at 5368643584: Input/output error /dev/myvg/mylv: read failed after 0 of 4096 at 5368700928: Input/output error /dev/myvg/mylv: read failed after 0 of 4096 at 0: Input/output error /dev/myvg/mylv: read failed after 0 of 4096 at 4096: Input/output error /dev/sdb: read failed after 0 of 4096 at 0: Input/output error /dev/sdb1: read failed after 0 of 2048 at 0: Input/output error /dev/sdb: read failed after 0 of 4096 at 268435390464: Input/output error /dev/sdb1: read failed after 0 of 512 at 107372675072: Input/output error /dev/sdb1: read failed after 0 of 512 at 107372761088: Input/output error /dev/sdb1: read failed after 0 of 512 at 0: Input/output error /dev/sdb1: read failed after 0 of 512 at 4096: Input/output error Volume group "myvg" not found
解析度
删除陈旧的/dev/sdX设备节点并清理陈旧的设备映射器节点。在上面的示例中,这可以通过简单的重新启动或运行以下命令来完成。
# dmsetup remove /dev/myvg/* # echo 1 > /sys/block/sdb/device/delete
注意:可能由于没有这样的文件或目录消息而无法应用删除过程,在这种情况下,您将必须安排维护窗口以重新引导主机以清除I / O故障消息。
根本原因
物理删除磁盘后,不会自动删除/ dev / sdb和/ dev / sdb1设备节点。上面的错误清楚地表明/ dev / sdb,/ dev / sdb1和/ dev / myvg / mylv由于卸下了磁盘而无法再读取。在这种情况下,已删除磁盘的第一个分区(/ dev / sdb1)是支持myvg卷组的唯一PV,这意味着myvg不再起作用。