系统驱动器丢失后LVM恢复

系统驱动器丢失后LVM恢复

我用多个HDD制作了一个LVM。操作系统安装在不同的 SSD 上。我丢失了 SSD。如何从这些 HDD 中恢复 LVM?

答案1

如果发生故障的 SSD 不是卷组的一部分,则该组仍然是完整的:任何配备 LVM 工具的现代 Linux 通常应在启动时检测到磁盘时自动激活卷组。如果您运行sudo vgscan,它会告诉您它可以看到的任何磁盘上的任何卷组。如果卷组缺少一个(或多个)组件,它会告诉您缺少卷的 LVM UUID。

如果sudo vgscan没有显示错误,那么只需挂载逻辑卷即可,如果您希望挂载持久,请/etc/fstab根据需要为它们写入新条目。


如果发生故障的 SSD 也包含在同一卷组中,则 VG 现在将不完整并且不会自动激活,并且sudo vgscan会报告丢失的物理卷。

要激活这样的部分卷组,您可以使用sudo vgchange -ay --activationmode partial:将激活至少部分位于剩余磁盘上的所有逻辑卷,但如果逻辑卷部分位于现在丢失的磁盘上,则尝试读取该部分逻辑卷将导致错误。尝试安装缺少部件的 LV 可能会失败。

您可以运行例如sudo lvs -o lv_full_name,lv_health_status来查看每个 LV 的名称和健康状态。如果LV的“Health”栏中的条目为空,则表示正常;如果显示“部分”,则 LV 的某些部分丢失。要找出缺少哪个部分,您可以使用sudo lvdisplay -m <VG name>/<LV name>.

现在可以照常安装所有部分都位于 HDD 上的任何逻辑卷。如果您的逻辑卷仅部分位于丢失的磁盘上,则可以使用photorec或等恢复工具ddrescue尝试从这些逻辑卷的其余部分恢复数据。

如果您有这样一个部分逻辑卷,并认为其剩余内容不值得恢复,或者您对已恢复的所有内容感到满意,那么您可以使用lvremove删除部分逻辑卷,然后vgreduce --removemissing <VG name>告诉 LVM停止记住丢失的物理卷。此后,包含剩余卷的卷组将再次表现得好像故障 PV 从未存在过一样:当检测到完整的 PV 集(即启动时或热插拔时)以及任何剩余的逻辑卷时,它将自动激活卷可以正常安装。

相关内容