我的 LVM raid1 逻辑卷中的三个磁盘之一坏了。(实际上这是一次糟糕的实验)。该卷是纯 LVM 卷raid1
(不,不是 LVM mirror
),没有任何 mdadm / fakeraid。
问题在重启时才意识到,设备完全丢失了。由于我还有两块健康的磁盘,我想暂时将该卷用作双向 raid1,稍后再替换坏磁盘。但是,我无法从卷中删除丢失的设备。
以下是拓扑的基本信息。卷组为vgQ3
,逻辑卷为lvRAID1
:
#lvm pvs | grep vgQ3
Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
/dev/sdb2 vgQ3 lvm2 a-- 79.31g 17.91g
/dev/sdc2 vgQ3 lvm2 a-- 79.31g 17.91g
unknown device vgQ3 lvm2 a-m 79.31g 17.91g
# lvm lvs -a -o +devices | grep vgQ3
Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
lvRAID1 vgQ3 rwi---r-p 61.39g lvRAID1_rimage_0(0),lvRAID1_rimage_1(0),lvRAID1_rimage_2(0)
[lvRAID1_rimage_0] vgQ3 Iwi---r-- 61.39g /dev/sdc2(1)
[lvRAID1_rimage_1] vgQ3 Iwi---r-- 61.39g /dev/sdb2(1)
[lvRAID1_rimage_2] vgQ3 Iwi---r-p 61.39g unknown device(1)
[lvRAID1_rmeta_0] vgQ3 ewi---r-- 4.00m /dev/sdc2(0)
[lvRAID1_rmeta_1] vgQ3 ewi---r-- 4.00m /dev/sdb2(0)
[lvRAID1_rmeta_2] vgQ3 ewi---r-p 4.00m unknown device(0)
首先我尝试减少卷组,但是没有成功:
# vgreduce --removemissing vgQ3
Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
WARNING: Partial LV lvRAID1 needs to be repaired or removed.
WARNING: Partial LV lvRAID1_rmeta_2 needs to be repaired or removed.
WARNING: Partial LV lvRAID1_rimage_2 needs to be repaired or removed.
There are still partial LVs in VG vgQ3.
To remove them unconditionally use: vgreduce --removemissing --force.
# vgreduce --removemissing --force vgQ3
Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
Persistent log is not supported on segment-by-segment mirroring
等等...然后我尝试将三路 raid1 设备减少为双向设备(尝试将其减少为单向线性卷导致相同的错误消息):
# lvconvert -m1 vgQ3/lvRAID1
Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
Cannot change VG vgQ3 while PVs are missing.
Consider vgreduce --removemissing.
好吧,我已经没有其他办法了,只能尝试毁掉这个卷然后重建它,但这比简单地将其简化为双向 raid1 要痛苦得多。
(为了使故事完整,通过执行:
# vgchange -a y -P vgQ3
我可以在部分模式下创建和安装 raid1 卷 (/dev/vgQ3/..),这样我就可以保存内容。但是,下次重新启动会使设备消失,因此故事会一次又一次地继续。
这些问题有解决办法吗?
答案1
我遇到了完全相同的错误。我通过更新解决了这个问题lvm版本升级至 lvm2-2.02.111-2.el6_6.1。更新后lvm,你应该能够运行vgreduce --removemissing --force vgQ3
http://rpmfind.net/linux/RPM/centos/updates/6.6/x86_64/Packages/lvm2-2.02.111-2.el6_6.1.x86_64.html