XenServer Local Storage分区丢失后的恢复

之前在进行XenServer的一次升级操作以后发现,服务器重启以后,Local Storage无法挂在,fdisk -l命令发现,整个local storage分区消失。所以,我们需要从现有信息来恢复分区信息。

XenServer如果采用LVM分区,本地会和一半的Linux一样,会有一份备份的LVM信息,位置保存在/etc/lvm/backup/目录:

lvm-backup

所以,我们只需要从升级前的备份信息中恢复即可。

而XenServer的分区一般由三部分组成(如下图),第一个4G分区为XenServer跟分区,第二个4G分区为升级操作的备份分区,第三个分区一半为磁盘的剩余空间,用于localstorage使用。

fdisk-l
XenServer在升级的过程中,会把跟分区信息(sda1)备份到备份分区(sda2),安装成功以后,再从备份分区(sda2)来恢复原有的配置以及分区等信息,而问题发生时,由于某些原因导致了分区信息的恢复失败,最终导致localStorage无法挂载。而我们又知道,localStorage分区信息保存在/etc/lvm/backup/,所以,我们只需要从这里恢复即可。

恢复步骤

  1. 挂载备份分区
  2. 找到丢失分区的SR UUID(可以通过XenCenter查看/或者参考如下使用命令查看)

    get-localstorage-uuid
  3. 获取LVM的Physical_volumes(物理卷)的id

    physical-volume-id
  4. 找到LocalStorage所在的磁盘分区(如最开始的分区截图),我们本次为sda3
  5. 使用pvcreate命令恢复分区
  6. 恢复卷配置(Recover the volume)
  7. 恢复完成后,从XenCener修复下localStoage即可。