在我移动某些范围时出现一些磁盘错误,我现在有一个隐藏的锁定[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
我几年前在不同的系统上发生过这种情况(见here),但没有得到很多回复(只有1个)而且不记得如何修复它.
简单的lvremove a / pvmove0′(可选地带有–force)会导致消息无法删除锁定的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的建议.不幸的是,这需要设备名称和dmsetup信息a-pvmove0报告设备不存在.
我怀疑唯一的解决方法是手动编辑配置文件以删除有问题的LV,然后使用vgcfgrestore,但会假设我不是唯一有此问题的人,并且会认为有一系列命令可以修复它!
[仅供参考:磁盘错误是RAID阵列中3个磁盘中有2个同时出现故障;幸运的是,一个驱动器只有几个坏块,所以我能够使用ddrescue恢复除了几兆字节的500Gb卷之外的所有内容