删除LVM签名并重新创建分区后恢复运行中的LVM系统
删除LVM签名并重新创建分区后恢复运行中的LVM系统
哎呀,太懂这种操作完瞬间拍大腿的感觉了——还好是测试机!不过既然你想搞明白怎么在非虚拟机环境下救场,咱们结合你给出的信息一步步来,其实情况没你想的那么糟。
先理清楚当前状态:你误删了承载LVM的分区后又重新创建了相同起始扇区、大小的分区,现在vgdisplay没输出,但blkid还能看到/dev/sda2的LVM成员UUID和备份里的一致,而且分区表已经恢复正确(从fdisk -l看sda2的起始扇区和大小都没问题),这是关键的有利条件!
下面是具体的恢复步骤:
- 第一步:先稳住系统,暂停所有可能对LVM卷进行读写的操作(比如别往根目录传大文件、别安装软件),避免干扰恢复过程。
- 第二步:重新注册物理卷(PV)
你删除分区时只是清了分区表标记,底层的LVM元数据和数据都没被覆盖。用备份的配置文件和已知的PV UUID来恢复:
这里pvcreate --uuid rAgPpU-iVJg-3wFs-j4Br-0usv-3lew-HTsisM --restorefile /etc/lvm/backup/zeus-vg /dev/sda2--uuid指定备份里的PV唯一标识,--restorefile用卷组备份文件来还原PV的配置信息,让LVM重新识别这个物理卷。 - 第三步:恢复卷组(VG)配置
用备份的卷组信息还原VG的元数据:
这个命令会读取vgcfgrestore zeus-vg/etc/lvm/backup/zeus-vg里的配置,把卷组的结构、逻辑卷信息恢复回来。 - 第四步:激活卷组
让系统启用恢复后的卷组和里面的逻辑卷:vgchange -ay zeus-vg - 第五步:验证恢复结果
运行vgdisplay、lvdisplay,应该能看到熟悉的zeus-vg卷组和root、swap_1逻辑卷了。你也可以临时挂载根卷验证数据完整性:
确认没问题后,重启系统就能正常使用了。mount /dev/mapper/zeus--vg-root /mnt ls /mnt
一些重要的注意事项:
- 这次能恢复的核心原因是你重建的分区和原分区起始扇区、大小完全一致,如果重建时起始扇区偏移了,那底层的LVM数据就没法对应上,恢复难度会陡增。
/etc/lvm/backup目录是救命稻草!LVM会自动备份卷组配置到这里,生产环境一定要定期检查这个目录,或者手动用vgcfgbackup命令备份,关键时刻能救系统。- 下次调整LVM磁盘空间的正确流程:扩展VM磁盘 → 用
parted(GPT分区)或fdisk扩展分区 →pvresize /dev/sda2让LVM识别新空间 →lvresize扩展逻辑卷 →resize2fs(ext4文件系统)调整文件系统大小,千万别随便删分区!
备注:内容来源于stack exchange,提问作者HackXIt
相关产品推荐
相关产品推荐

