【复盘】记一次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名,本文描述了当信息丢失时如何找回的处理方法。
10845 60
Linux系统LVM信息丢失处理方法
|
canal Kubernetes 关系型数据库
【K8S系列】深入解析k8s网络插件—Canal
【K8S系列】深入解析k8s网络插件—Canal
3481 0
|
8月前
|
存储 监控 网络协议
了解流量探针,助你更好地优化网络
流量探针是现代网络运维中不可或缺的工具,用于实时监测网络数据包,提供一手数据。它通过镜像方式采集、过滤、分析流量,支持从二层到七层协议解码,助力网络瓶颈排查、业务性能优化及安全威胁检测。合理部署流量探针可实现精细化网络管理,提升性能与安全性。
|
分布式计算 DataWorks 搜索推荐
聊聊DataWorks这个大数据开发治理平台
聊聊DataWorks这个大数据开发治理平台
353 2
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
10763 3
|
存储 Linux C语言
Linux|如何安装和运行多个 glibc 库
Linux|如何安装和运行多个 glibc 库
4223 5
|
Oracle 关系型数据库 中间件