如何恢复以前的 LVM 卷组配置?

gre*_*man 3 lvm data-recovery

我尝试从磁盘崩溃中恢复,但在这样做的同时,我犯了一个错误——现在我必须从两件事中恢复。

所以第一个是恢复以前的 volumne 组的 LVM 配置文件——我有想要的文件,但是当我运行时:

vgcfgrestore my_vol_group
Run Code Online (Sandbox Code Playgroud)

我得到错误:

找不到带有 uuid jJ7dXL-2m2j-d0OC-bczy-fQak-YOj7-OhRLlW 的设备。无法还原标记为丢失的 1 个 PV 的卷组 my_vol_group。恢复失败。

这当然是正确的,因为这个磁盘是一个崩溃的磁盘。那么如何恢复配置,尽管我无论如何都回到了“损坏”的场景?诸如“强制恢复”之类的东西?

更新:时间线发生了什么:

  1. 一个 LVM 组中的三个磁盘——我很高兴

  2. 磁盘崩溃之一

  3. 我从我的电脑中取出了有问题的磁盘

  4. 我想从 LVM 中删除它并修复剩下的

  5. 我错误地删除了包含故障磁盘的整个 LV

  6. 我想回到(4)

rud*_*ier 6

我会像这样尝试

  1. 添加一个至少与丢失的磁盘一样大的新磁盘(比如 /dev/sdX)。

  2. 创建一个与丢失的 uuid 相同的 PV。

    pvcreate --restorefile 你的文件 --uuid J7dXL-2m2j-d0OC-bczy-fQak-YOj7-OhRLlW /dev/sdX

  3. 再试一次你的恢复命令:

    vgcfgrestore --restorefile 你的文件 my_vol_group

另见man vgcfgrestore

替换物理卷 vgdisplay --partial --verbose 将向您显示不再存在的任何 PV 的 UUID 和大小。如果 VG 中的 PV 丢失并且您希望替换另一个相同大小的 PV,请使用 pvcreate --restorefile filename --uuid uuid(加上适当的附加参数)以使用与丢失的 PV 相同的 UUID 对其进行初始化。对 VG 中所有其他丢失的 PV 重复。然后使用 vgcfgrestore --file filename 恢复卷组的元数据。

  • 您可以使用文本编辑器手动编辑还原文件,这并不难。删除所有会使用丢失 PV 的 LV 定义并删除丢失的 PV 定义。**或者**您可以使用稀疏的假设备:`truncate -s 1024G /tmp/BIGFILE; lossup /dev/loop1 /tmp/BIGFILE ` (2认同)