【复盘】记一次LVM元数据丢失的恢复过程

简介: 【复盘】记一次LVM元数据丢失的恢复过程

一、故障现象

1)、系统卡在Control-D to continue界面

服务器(虚拟机在迁移完成后)重新启动,启动后发现磁盘有异常,技术人员先注释掉/etc/fstab中有异常的那个磁盘挂载项,先让系统正常启动

(图片点击放大查看)

输入密码后,先注释掉/etc/fstab中有异常的那个磁盘挂载项

然后重启进入系统

(图片点击放大查看)

2)、/dev/sdb1对应的LVM信息丢失

pvs vgs lvs 发现无之前的相应的PV,VG,LV

(图片点击放大查看)

二、恢复过程复盘

下面为VMware虚拟机中模拟当时的故障情况

1、cd /etc/lvm/backup/

列出在Linux中恢复LVM元数据的备份文件

vgcfgrestore --list vgdata

(图片点击放大查看)

cat /etc/lvm/backup/vgdata

(图片点击放大查看)

2、恢复PV(物理卷)

pvcreate /dev/sdb1 --test --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata

(图片点击放大查看)

fdisk /dev/sdb

(图片点击放大查看)

pvcreate /dev/sdb1 --test -ff --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata 
pvcreate /dev/sdb1  -ff --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata 
pvs

(图片点击放大查看)

(图片点击放大查看)

3、恢复VG

vgcfgrestore --test -f /etc/lvm/backup/vgdata vgdata
vgcfgrestore  -f /etc/lvm/backup/vgdata vgdata
vgs

(图片点击放大查看)

4、尝试挂载

lsblk -f
mount /dev/mapper/vgdata-lvdata /data

(图片点击放大查看)

(图片点击放大查看)

发现这时可以正常挂载 恢复完成,故障修复

三、实际故障时的恢复步骤

以上在虚拟机中复盘恢复的过程

与当时故障发生并恢复时的步骤略有差异

1、以下是当时恢复的主要命令汇总

dd if=/dev/zero bs=1k count=2 of=/dev/sdb1
sync
pvcreate /dev/sdb1 --test --uuid "ffigvg-1Ygs-wBq7-mLYP-dYdu-CQ4L-LTdzY8"  --restorefile /etc/lvm/backup/testvg -vv
pvcreate /dev/sdb1  --uuid "ffigvg-1Ygs-wBq7-mLYP-dYdu-CQ4L-LTdzY8"  --restorefile /etc/lvm/backup/testvg -vv
vgcfgrestore --force testvg
vgchange -ay testvg
xfs_repair -L /dev/mapper/testvg-testlv 
mount /dev/testvg/testlv /u02

(图片点击放大查看)

2、过程截图

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

3、恢复过程参考如下链接完成

https://serverfault.com/questions/1016772/lvm-cannot-restore-volume-group-with-1-pvs-marked-as-missing-couldnt-find-de
https://www.cnblogs.com/zcyy/articles/16834848.html
https://www.golinuxcloud.com/recover-lvm2-partition-restore-vg-pv-metadata/#:~:text=%205%20easy%20steps%20to%20re
相关文章
|
存储 Linux
Linux系统LVM信息丢失处理方法
Linux的LVM会存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,该文件为/etc/lvm/backup/VG名,本文描述了当信息丢失时如何找回的处理方法。
11410 60
Linux系统LVM信息丢失处理方法
|
应用服务中间件 网络安全 nginx
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
2921 4
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
278069 0
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
12152 3
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1150 3
Linux系统初始化脚本
|
12月前
|
存储 新零售 安全
阿里云企业网盘收费标准:存储空间、用户数配置价格及功能使用全解析
阿里云盘企业版,500GB仅169元/年,支持协同办公、360°权限管理、智能文件检索、多重安全防护及极速传输,高性价比助力企业高效协作,适用于多行业数字化办公需求。
|
监控 Linux
Linux系统监控报告CPU软锁定问题(soft lockup)诊断方法
以上方法结合起来使用将大大提高解决此类问题效率与成功率。实际操作过程需谨慎考虑当前环境与场景特点选择合适方法,并且要注意数据备份与恢复计划防止误操作造成不可挽回损失。
1595 13
|
Linux
Linux升级命令yum upgrade和yum update,有什么区别?
在日常开发工作中,根据不同的项目会需要配置环境和包,有时候会由于版本问题出现错误,这个时候通常就需要执行 update或者 upgrade命令,这里简要介绍一下区别。
5040 0
Linux升级命令yum upgrade和yum update,有什么区别?

热门文章

最新文章