我们的数据中心发生了一次重大电源故障。我们使用一组服务器来满足我们的存储需求。主服务器有几对使用 mdadm 镜像的磁盘。结果 /dev/mdX 是 LVM 物理卷,属于一个包含我们所有数据的大卷组。
断电后,我们遇到了一个问题,由于缺少条目,其中一个 mdadm 设备无法自动检测到mdadm.conf
。结果,由于缺少 PV,卷组具有非活动逻辑卷。
我们可以修复 mdadm 配置并重新启动。pvscan
显示所有预期的 PV,但一个 LV 仍然没有出现。vgdisplay 显示:
[...]
Cur PV: 3
Act PV: 2
[...]
vgscan 和 pvscan 均未显示任何丢失的设备。
哪里出了问题?我们如何强制 LVM 激活所有 PV?
答案1
我们匆忙想出的一个解决办法是:
vgcfgbackup -f backup.vg
然后编辑文件,替换
flags = ["MISSING"]
和
flags = []
在 PV 中,这是问题所在,并使用
vgcfgrestore -f backup_edited.vg
加载修改后的配置。之后,vgchange -a y name_of_the_vg
一切如预期。