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

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

当我移动一些范围时出现了一些磁盘错误,现在我有一个隐藏的锁定的 [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

几年前,我在另一个系统上也遇到过这种情况(见这里),但没有收到很多回复(只有 1 个)并且不记得我如何/是否修复了它。

简单的lvremove a/pvmove0' (可选使用--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"
                    }
            }

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

几年前我咨询时,有人建议我尝试一下dmsetup remove。不幸的是,这需要设备名称,并且dmsetup info a-pvmove0会报告Device does not exist

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

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

答案1

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

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

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

答案2

我遇到了类似的问题,在 期间断电pvmove。重新发出命令使过程恢复正常。

相关内容