如何删除磁盘错误后留下的锁定逻辑卷 ([pvmove0])?

Sta*_*mer 6 linux lvm

在移动某些范围时发生一些磁盘错误后,我现在有一个隐藏的锁定 [pvmove0],它似乎没有分配任何物理范围,尽管它有 4Mb 长!

# lvs -a -o+seg_pe_ranges a/pvmove0
  LV        VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert PE Ranges
  [pvmove0] a    vwC---v--- 4.00m
Run Code Online (Sandbox Code Playgroud)

几年前,我在另一个系统上发生过这种情况(请参阅此处),但没有得到很多回复(只有 1 个),并且不记得如何/是否修复了它。

简单的lvremove a/pvmove0'(可选 with --force)产生消息Can't remove locked LV pvmove0

pvmove --abort什么也没做。该体积的存在似乎不会影响其他移动(仅使用[pvmove1])。

在配置中,LV 显示:

            pvmove0 {
                    id = "54veYD-hM8r-j214-MOD1-FGnV-3g7t-jRlZ7W"
                    status = ["READ", "WRITE", "LOCKED"]
                    flags = []
                    creation_host = "zotac"
                    creation_time = 1394764593      # 2014-03-14 02:36:33 +0000
                    allocation_policy = "contiguous"
                    segment_count = 1

                    segment1 {
                            start_extent = 0
                            extent_count = 1        # 4 Megabytes

                            type = "error"
                    }
            }
Run Code Online (Sandbox Code Playgroud)

我注意到没有与 LV 关联的物理卷。

我几年前的询问得到了尝试的建议dmsetup remove。不幸的是,这需要设备名称并dmsetup info a-pvmove0报告Device does not exist.

我怀疑唯一的修复方法是手动编辑配置文件以删除有问题的 LV,然后使用,vgcfgrestore但会假设我不是唯一遇到此问题的人,并且会认为有一系列命令可以修复它!

[仅供参考:disk errorsRAID 阵列中 3 个磁盘中的 2 个几乎同时发生故障;幸运的是,其中一个驱动器只有几个坏块,因此我能够使用ddrescue]恢复 500Gb 卷中除了几兆字节之外的所有内容。

Sta*_*mer 5

好吧,我放弃了等待答案,尝试了编辑配置文件的简单解决方案。那是:

  1. vgcfgbackup a
  2. 编辑/etc/lvm/backup/a和删除逻辑卷的定义pvmove0
  3. vgcfgrestore a

体积消失了,而且似乎没有任何副作用。