环球新资讯:Linux系统如何对lvm的分区信息进行恢复

2023-04-21 10:15:24 来源:良许Linux

背景:

朋友跟我说他的centos7服务器开不开机了,上面运行着重要的业务,着急坏了,给了我发来信息寻求帮助。

自己已经尝试通过xfs_repair修复,但是不起作用,依旧启动不了。


【资料图】

原因分析

从上图片可知系统进入了dracut模式很明显的报错

/dev/mapper/centos-rootdoesnotexist

找不到root分区了,/dev/mapper 字符明确告诉我们系统分区是靠lvm管理的,通过以下分析我们找到了答案

/dev/mapper/看不到任何设备 lvs/vgs已经看不到任何的信息 vgscan也扫不到任何vg信息该问题就是lvm分区信息丢失导致系统无法正常挂载丢失

解决思路

既然是lvm分区的问题,那就着手如何对lvm的分区信息进行恢复

正常的lvm是对逻辑分区做备份的,备份文件位置/etc/lvm/backup一般的问题可以直接通过备份文件将分区恢复,直接执行命令 vgcfgrestore centos

但该机器恰恰是根分区损坏,备份文件也找不到

可以通过磁盘前几个扇区找有用的信息

执行

1.第一步先做一个livecd,保证我们正常分析

2.分析磁盘扇区信息dd if=/dev/sdb3 bs=512 count=10 | hexdump -C

好在磁盘还保存有分区信息,说明还有救

3.编写vg恢复配置文件

如下为一个/etc/lvm/backup/pool的配置实例:

# Generated by LVM2 version 2.02.42 (2008-10-26): Sat Sep 25 1730 2010contents = "Text Format Volume Group"version = 1description = "Created *after* executing "lvcreate --name block --size 300G pool""creation_host = "zhuweiR30"     # LinuxzhuweiR30 2.6.28-storix #1 SMP Thu Dec 24 1702 CST 2009 i686creation_time = 1285407390      # Sat Sep 25 1730 2010pool {id = "0Lm9dz-sIeu-t2Ho-qIBR-lD2P-dcbK-K1U4zW"seqno = 2status = ["RESIZEABLE", "READ", "WRITE"]flags = []extent_size = 8192              # 4 Megabytesmax_lv = 0max_pv = 0physical_volumes {pv0 {id = "rewaTQ-vKaK-PzWs-H14L-a2Qz-hV62-CcIHqT"device = "/dev/sdb"     # Hint onlystatus = ["ALLOCATABLE"]flags = []dev_size = 21484367872 # 10.0044 Terabytespe_start = 384pe_count = 2622603      # 10.0044 Terabytes}}logical_volumes {block {id = "ryg1Or-e1C3-ooKV-0XMM-jKSN-g0EM-dXky7G"status = ["READ", "WRITE", "VISIBLE"]flags = []segment_count = 1segment1 {start_extent = 0extent_count = 76800    # 300 Gigabytestype = "striped"stripe_count = 1        # linearstripes = ["pv0", 0]}}}}

根据信息编写我们的配置文件

4.命令执行vgcfgrestore centos -f .conf

5.查看信息vgs/lvs信息恢复

6.重启reboot重启恢复正常

朋友送来爱心表示感谢。

编辑:黄飞

标签:

上一篇:
下一篇: