【复盘】记一次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名,本文描述了当信息丢失时如何找回的处理方法。
10713 60
Linux系统LVM信息丢失处理方法
|
canal Kubernetes 关系型数据库
【K8S系列】深入解析k8s网络插件—Canal
【K8S系列】深入解析k8s网络插件—Canal
3310 0
|
9月前
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
76870 65
|
XML 存储 数据安全/隐私保护
使用virsh migrate进行虚拟机迁移
使用virsh migrate进行虚拟机迁移
634 0
|
Prometheus 监控 Kubernetes
免费的集群管理软件有哪些?5款主流推荐
集群管理是对多台服务器或计算节点进行协调、调度和维护的过程,核心在于资源分配、负载均衡、监控和故障恢复。常见的集群管理软件包括板栗看板、Kubernetes Dashboard、Zabbix、Prometheus + Grafana 和 Nagios Core。这些软件各有特色,适用于不同的需求场景,如项目管理、容器编排、实时监控等。选择合适的集群管理工具,可以提升团队效率,降低运营成本,确保系统稳定运行。
3256 4
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。
|
存储 索引
数组的特点
数组是一种线性数据结构,用于存储固定大小的顺序集合。每个元素在数组中都有一个唯一的索引,可以快速访问和修改。数组支持随机访问,但插入和删除操作较慢,因为需要移动后续元素。适用于需要频繁读取数据的场景。
|
存储 Linux C语言
Linux|如何安装和运行多个 glibc 库
Linux|如何安装和运行多个 glibc 库
3861 5
|
Oracle 关系型数据库 中间件