LVM分区恢复
有linux用户为了给分区扩容 私自操作,致使扩容操作完成后,系统无法启动,修复过程如下:
启动过程中提示找不到根分区lv,无法从内存文件系统切换到硬盘文件系统。
1、使用lvm命令,进入lvm察看lvm情况
pvs
显示pv情况:有个一pv为unknown
2、使用系统启动盘引导,进入终端查看磁盘分区情况
fdisk -l /dev/sda
共4个分区,最后一个分区容量为800G与pvs命令中显示的pv情况300G不符,询问用户扩容操作,得知用户直接删除了原有sda4分区,然后再新建了sda4分区,分区过程中扩大了分区容量,还好没有格式化分区
3、安装testdisk,搜索分区表,在搜索出来的分区表中,发现有p键可以显示出目录信息的分区,对比后发现是原有的根分区,从根分区中恢复出/etc/lvm中的所有文件目录
apt install testdisk
testdisk
详细操作过程没有截图
4、检查恢复出的/etc/lvm/backup中的lvm备份文件,发现pv1中的pv信息一样是unknown,于是去archive目录,这是保存了lvm的历史信息,查看大兄.vg文件,从中找出正常时候的记录信息,并使用历史信息重建原有lvm。
删除新建分区
fdisk /dev/sda
d
4
p
n
在新建分区指定大小时恢复到未扩容前的分区大小,也就是300G:+300G
p
w
保存完后
## 重新创建pv
pvcreate /dev/sda4 -u oKD1Yo-I8Oe-6KX4-AsUJ-zrdJ-rhGP-QL9viO --restorefile /etc/lvm/archive/VolGroup01
## 刷新pv卷组
vgchange -ay VolGroup01 --activationmode partial
挂载正常,重启发现仍然报一样的错误,估计lvm仍然有故障,在内存文件系统中执行lvm,进入lvm中pvs显示告警信息:
WARNING: VG ubuntu-vg was previously updated while PV /dev/sda4 was missing.
仍然显示告警找不到pv
使用vgck命令更新vg信息
vgck --updatemetadata ubuntu-vg
检查vg和lv情况,lv显示active,现在lvm分区应该正常了。重启系统,正常开机。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!