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

And*_*diW 8 linux storage lvm ubuntu

我有一个 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
Run Code Online (Sandbox Code Playgroud)

正如您从 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

Jar*_*kia 9

删除ghost LVM 卷的解决方案是“dmsetup”。做类似的事情:

# dmsetup remove --force /dev/VolGroup01/LogVol00
Run Code Online (Sandbox Code Playgroud)

之后,您的“vgs”命令不会显示读取错误。

  • 发现!在不使用`--force`的情况下为我工作。 (2认同)