断电后 LVM 错误报告丢失

men*_*nsi 3 lvm mdadm

我们的数据中心发生了严重的电源故障。我们正在使用一组服务器来满足我们的存储需求。主服务器有几对使用 mdadm 镜像的磁盘。生成的 /dev/mdX 是 LVM 物理卷,属于包含我们所有数据的大卷组。

断电后,我们遇到了一个问题,由于mdadm.conf. 因此,由于缺少 PV,卷组具有不活动的逻辑卷。

我们能够修复 mdadm 配置并重新启动。pvscan显示所有预期的 PV,但仍有一个 LV 未出现。vgdisplay 显示:

[...]
Cur PV:  3
Act PV:  2
[...]
Run Code Online (Sandbox Code Playgroud)

vgscan 和 pvscan 均未显示任何丢失的设备。

什么地方出了错?我们如何强制 LVM 激活所有 PV?

men*_*nsi 5

我们匆忙想出的解决办法是:

vgcfgbackup -f backup.vg
Run Code Online (Sandbox Code Playgroud)

然后编辑文件,替换

flags = ["MISSING"]
Run Code Online (Sandbox Code Playgroud)

flags = []
Run Code Online (Sandbox Code Playgroud)

在PV中这是问题所在并使用

vgcfgrestore -f backup_edited.vg
Run Code Online (Sandbox Code Playgroud)

加载修改后的配置。之后,vgchange -a y name_of_the_vg按预期工作。