【复盘】记一次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名,本文描述了当信息丢失时如何找回的处理方法。
11260 60
Linux系统LVM信息丢失处理方法
|
安全 Linux 网络安全
【超详细】Linux系统修改SSH端口教程
在linux中,默认的SSH端口号为22,由于这是咱们都知道的端口号,一旦有入侵者进行端口扫描的时候扫描出22端口,就立马知道这是进行SSH登录的端口号,因而咱们需要修改默认的端口号。
14177 2
【超详细】Linux系统修改SSH端口教程
|
canal Kubernetes 关系型数据库
【K8S系列】深入解析k8s网络插件—Canal
【K8S系列】深入解析k8s网络插件—Canal
3878 0
|
应用服务中间件 网络安全 nginx
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
2726 4
|
10月前
|
监控 Linux
Linux系统监控报告CPU软锁定问题(soft lockup)诊断方法
以上方法结合起来使用将大大提高解决此类问题效率与成功率。实际操作过程需谨慎考虑当前环境与场景特点选择合适方法,并且要注意数据备份与恢复计划防止误操作造成不可挽回损失。
1281 13
|
12月前
|
Linux 数据安全/隐私保护
当Linux普通用户尝试修改密码时遇到“passwd: Authentication token manipulation error”的解决方法。
这些步骤应当能够解决大部分出现“passwd: Authentication token manipulation error”错误的情况。及时保持系统的更新也有助于预防类似的问题发生。有时候,系统更新或者补丁能解决潜在的bug和不兼容的问题。
3983 0
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
5551 7
|
存储 监控 固态存储
如何在 Linux 上检查 SSD/HDD 健康状况?
【10月更文挑战第14天】
2660 1
如何在 Linux 上检查 SSD/HDD 健康状况?
|
Linux
Linux升级命令yum upgrade和yum update,有什么区别?
在日常开发工作中,根据不同的项目会需要配置环境和包,有时候会由于版本问题出现错误,这个时候通常就需要执行 update或者 upgrade命令,这里简要介绍一下区别。
4848 0
Linux升级命令yum upgrade和yum update,有什么区别?