【复盘】记一次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名,本文描述了当信息丢失时如何找回的处理方法。
11362 60
Linux系统LVM信息丢失处理方法
|
应用服务中间件 网络安全 nginx
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
2826 4
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
276806 0
|
12月前
|
监控 Linux
Linux系统监控报告CPU软锁定问题(soft lockup)诊断方法
以上方法结合起来使用将大大提高解决此类问题效率与成功率。实际操作过程需谨慎考虑当前环境与场景特点选择合适方法,并且要注意数据备份与恢复计划防止误操作造成不可挽回损失。
1506 13
|
弹性计算 关系型数据库 数据库
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
标签 PostgreSQL , 只读 , 锁定 , readonly , recovery.conf , 恢复模式 , pg_is_in_revoery , default_transaction_read_only 背景 在一些场景中,可能要将数据库设置为只读模式。 例如, 1、云数据库,当使用的容量超过了购买的限制时。切换到只读(锁定)模式,确保用户不会用超。 2、业务上需要对
8268 0
|
Linux
Linux升级命令yum upgrade和yum update,有什么区别?
在日常开发工作中,根据不同的项目会需要配置环境和包,有时候会由于版本问题出现错误,这个时候通常就需要执行 update或者 upgrade命令,这里简要介绍一下区别。
4973 0
Linux升级命令yum upgrade和yum update,有什么区别?
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
5838 7
|
存储 监控 固态存储
如何在 Linux 上检查 SSD/HDD 健康状况?
【10月更文挑战第14天】
2805 1
如何在 Linux 上检查 SSD/HDD 健康状况?

热门文章

最新文章