记一次LVM配置信息故障恢复经历
Cisco期末考试前,断网准备入寝,接电话告知,某重要服务器硬盘扩容失败,宕机。
解决思路复盘
询问得知,某重要网站数据库服务器,因磁盘爆满,扩容失败,LVM配置信息错误,进不了系统。
遂答应第二天考完试前去帮忙。使用Live CD进入系统后,简单的查看了一下情况,原硬盘大小40GB,分为一个主分区/root,一个扩展分区下分一个逻辑分区(30GB)加入到LVM卷组中,LVM卷组划分为16GB(SWAP),14GB(/)。
执行了错误的命令后,VG的大小变为40GB,但是/dev/sda5实际的大小还是30GB,/分区LV的大小更是变为了174GB,LVM配置信息发生错误。
好在服务器是虚拟化出来的,备份了N个后开始了修复尝试。
- 扩展/dev/sda5到200GB,使LVM能够认到200GB的真实空间。失败,LVM模式下不能扩展。
- 尝试备份整个/dev/sda5后,重新建立一个200GB的/dev/sda5,并恢复LVM信息。失败,大小不匹配恢复失败。
- 尝试手工修改LVM配置文件,将/root LV更改至原来的14GB大小。失败,尝试了N多数值,根本猜不到原来的大小。
- 失败了N次后,得知还有一台Web服务器是同时安装的,可以去上面看看LVM的配置信息。发现两台服务器根本就是VMware直接克隆出来的,主机名都一样,读取LVM配置信息,VG、LV的ID都是相同,大喜。在Web服务器上导出LVM的配置信息,同时在数据库服务器上恢复LVM配置信息,重启解决。
1 |
#备份LVM配置信息(Web服务器上执行) |
恢复系统后重新扩展VG
使用新加的空间创建/dev/sda6,并调整卷ID为LVM卷组。
1 |
pvcreate /dev/sda6 |
总共耗时4小时解决,蹭了一顿饭。——还算幸运的一次折腾。