我遇到了与 LVM 相关的问题。我们的服务器通过一个短暂连接的硬盘“获悉”了外部卷组。现在,由于该硬盘再次丢失,所有 LVM 实用程序都抱怨此丢失的卷组出现大量 IO 错误(读取失败)。
root@coruscant:~# vgs
/dev/mapper/vg_old-lv1: read failed after 0 of 4096 at 2147418112: Input/output error
/dev/mapper/vg_old-lv2: read failed after 0 of 4096 at 0: Input/output error
[...]
/dev/mapper/vg_old-lvn: read failed after 0 of 4096 at 0: Input/output error
VG #PV #LV #SN Attr VSize VFree
real_vg_1 1 36 1 wz--n- 1.73T 1.04T
real_vg_2 1 3 0 wz--n- 111.66G 61.66G
从 vgs 的输出中可以看出,“丢失”的僵尸 VG 实际上并未列在实用程序的输出中。我也无法使用“vgchange”禁用它或使用“vgremove”删除它——这些工具只会返回“未找到卷组”。
有什么提示关于如何在不重新启动的情况下从系统中删除这个“僵尸” VG?
系统:
- Ubuntu 8.04LTS,x64,2.6.24-29-xen,
- LVM 版本:2.02.26(2007-06-15)
- 库版本:1.02.20(2007-06-15)
- 驱动程序版本:4.12.0
答案1
删除幽灵 LVM 卷的解决方案是“dmsetup”。执行以下操作:
# dmsetup remove --force /dev/VolGroup01/LogVol00
此后,您的“vgs”命令将不再显示读取错误。