×

记一次 LVM 配置信息故障恢复经历

hqy hqy 发表于2024-12-16 14:50:14 浏览20 评论0

抢沙发发表评论

某重要服务器硬盘扩容失败,宕机。

解决思路复盘

  询问得知,某重要网站数据库服务器,因磁盘爆满,扩容失败,LVM 配置信息错误,进不了系统。

  遂答应第二天考完试前去帮忙。使用 Live CD 进入系统后,简单的查看了一下情况,原硬盘大小 40GB,分为一个主分区 /root,一个扩展分区下分一个逻辑分区 (30GB) 加入到 LVM 卷组中,LVM 卷组划分为 16GB (SWAP),14GB (/)。

  执行了错误的命令后,VG 的大小变为 40GB,但是 /dev/sda5 实际的大小还是 30GB,/ 分区 LV 的大小更是变为了 174GB,LVM 配置信息发生错误。

  好在服务器是虚拟化出来的,备份了 N 个后开始了修复尝试。

  1. 扩展 /dev/sda5 到 200GB,使 LVM 能够认到 200GB 的真实空间。失败,LVM 模式下不能扩展。

  2. 尝试备份整个 /dev/sda5 后,重新建立一个 200GB 的 /dev/sda5,并恢复 LVM 信息。失败,大小不匹配恢复失败。

  3. 尝试手工修改 LVM 配置文件,将 /root LV 更改至原来的 14GB 大小。失败,尝试了 N 多数值,根本猜不到原来的大小。

  4. 失败了 N 次后,得知还有一台 Web 服务器是同时安装的,可以去上面看看 LVM 的配置信息。发现两台服务器根本就是 VMware 直接克隆出来的,主机名都一样,读取 LVM 配置信息,VG、LV 的 ID 都是相同,大喜。在 Web 服务器上导出 LVM 的配置信息,同时在数据库服务器上恢复 LVM 配置信息,重启解决。

1
2
3
4
5
#备份LVM配置信息(Web服务器上执行)
vgcfgbackup -f /tmp/lvm.conf /dev/ubuntumb-vg

#恢复LVM配置信息(DB服务器上执行)
vgcfgrestore -f /tmp/lvm.conf /dev/ubuntumb-vg

恢复系统后重新扩展 VG

  使用新加的空间创建 /dev/sda6,并调整卷 ID 为 LVM 卷组。

1
2
3
4
pvcreate /dev/sda6
vgextend /dev/ubuntumb-vg /dev/sda6
lvextend -l +100%FREE /dev/ubuntumb-vg/root
resize2fs -p /dev/ubuntumb-vg/root


打赏

本文链接:https://www.kinber.cn/post/4148.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客