恢复已删除的 LVM 签名

Moh*_*avi 5 linux lvm diskmanagement

我想我已经删除了LVM分区。我在 vmware 中扩展了数据存储(70 GB 到 90 GB),然后运行echo 1> /sys/class/block/sdb/device/rescan​​.

之后我就跑了fdisk /dev/sdb。它显示我的 sdb 是 90 GB,但有此警告: The old LVM2_member signature will be removed by a write command. 我确实输入了 w,我认为这是一个坏主意。现在这些命令都没有显示任何内容:lvs, vgs, pvs

我看到blkid我的 sdb UUID 已更改:

/dev/sda1: UUID="b96e5429-d28e-4102-9085-4f303642a26e" TYPE="ext4" PARTUUID="0ab90198-01"
/dev/mapper/vg00-vol_db: UUID="4ed1927e-620a-4bf9-b656-c208f31e6ea3" TYPE="ext4"
/dev/sdb: PTUUID="d6c28699" PTTYPE="dos"
Run Code Online (Sandbox Code Playgroud)

我运行的vgcfgrestore vg00 --test -f vg00_00001-2029869851.vg是今天更改之前的最后一个文件。(这是两个月前我创建LVM时的)但是它返回了

  TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
  Couldn't find device with uuid 4deOKh-FeJz-8JqG-SAyX-KviL-UGu4-PtJ138.
  Cannot restore Volume Group vg00 with 1 PVs marked as missing.
  Restore failed.
Run Code Online (Sandbox Code Playgroud)

我怎样才能恢复这个烂摊子?非常感谢

Joh*_*ald 0

开始记录您的终端会话以记录您所做的事情。

启动备份恢复程序,以防数据丢失。请求磁带或存档存储。先不要开始复制数据。

考虑对损坏的 PV 块设备进行成像,以防止修复导致无法恢复。特别是如果它很容易做到,例如存储阵列快照。

按照过程恢复 LVM 物理卷上的元数据。使用损坏的 PV 填写命令,请注意错误的值可能会丢失数据。特别是,仔细检查块设备是否是整个磁盘/dev/sdb,或者是某个分区,例如/dev/sdb1. 你没有打印分区表,所以我不能确定。

 pvcreate --uuid 4deOKh-FeJz-8JqG-SAyX-KviL-UGu4-PtJ138 --restorefile vg00_00001-2029869851.vg blockdevice
 vgcfgrestore vg00
 lvchange --activate y 
 fsck
Run Code Online (Sandbox Code Playgroud)

抽查数据让您满意。


在某种形式的行动后审查中,检查如何改进数据保护。

检查备份是否满足恢复时间目标。假设您有一个能够恢复到昨晚的策略。如果夜间备份不存在或未记录,请修复该问题。

考虑在整个磁盘上创建未来的 LVM PV。避免分区复杂化,跳过fdisk步骤。Linux LVM 对于 上的 PV 来说完全没问题/dev/sdb