Cisco期末考试前,断网准备入寝,接电话告知,某重要服务器硬盘扩容失败,宕机。
QQ截图20160704225741

询问得知,某重要网站数据库服务器,因磁盘爆满,扩容失败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配置信息,重启解决。

#备份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卷组

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

总共耗时4小时解决。

——还算幸运的一次折腾