LVM:删除“僵尸”(不可用)VG

LVM:删除“僵尸”(不可用)VG

我遇到了与 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”命令将不再显示读取错误。

相关内容