技术分享 > 数据中心

XenServer Local Storage分区丢失后的恢复

发布时间:2016-06-27
7人关注

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

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


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

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


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

恢复步骤:

1、挂载备份分区

1

2

3

4

mkdir /backup

mount /dev/sda2 /backup

#change to lvm backup folder

cd /backup/etc/lvm/backup/

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

1

2

#get the UUID of the localStorage

xe sr-list params=namelabel,uuid

3、获取LVMPhysical_volumes(物理卷)的id

1

grep -A 5 "physical" VG_XenStorage-<uuid of localStorage>

 

4、找到LocalStorage所在的磁盘分区(如最开始的分区截图),我们本次为sda3

5、使用pvcreate命令恢复分区

pvcreate --uuid <physical_volumes_id> --restorefile /backup/lvm/backup/VG_XenStorage-<SR UUID> /dev/sda3

6、恢复卷配置(Recover the volume

1

2

3

4

#before restore, you can test reocver using follow command

vgcfgrestore VG_XenStorage-<uuid of localstorage> ---test f VG_XenStorage-<uuid of lcoalstorage>

#recover the volume

vgcfgrestore VG_XenStorage-<uuid of localstorage> -f VG_XenStorage-<uuid of lcoalstorage>

7、恢复完成后,从XenCener修复下localStoage即可。

 


版权所有 陕西瑞金电子科技有限公司 陕ICP备07013778号-1 TEL: 029-82261090