06
2020
07

Citrix XenServer虚拟机误删恢复

    前言:citrix不提供数据恢复服务,本文只是在有备份的情况下进行恢复!线上环境请务必结合自身实际情况谨慎操作!


查看储存库ID:


记录硬盘名字,等会用到,一般来说小机硬盘都是有名字的:

image.png


备份VG表:

cd /etc/lvm/backup/

备份到/root目录

cp VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81 /root


备份数据库:

cd /var/xapi/

备份到/root目录

cp state.db /root


删除虚拟机,选中虚拟机所有硬盘删除


将备份的VG表和数据库下载到本地,数据库state.db改名为state.xml


使用ie浏览器打开state.xml使用 Ctrl+F 查找刚刚记录的硬盘名字,找到第一个uuid,并记录下来:

我这里是搜索硬盘名字vm1314_s,若是名字中间带有空格的,例如vm 1314,搜索的时候要把空格处替换为“%.”变成vm%.1314

另外一个硬盘也是按照这种方式查找,并记录下来


使用ie浏览器打开VG表,使用刚刚记录的uuid号查找出对应VHD信息,并记录下来,注意括号:

另外一个硬盘也是按照这种方式查找,并记录下来


把记录下来的信息粘贴到现在的VG表(注意!不是复制出来的VG表):

cd /etc/lvm/backup/

vi VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81

注意粘贴的位置,最好是最后两个括号前,保存退出


恢复VG表,此时要在/etc/lvm/backup/目录下执行

vgcfgrestore VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81 -f VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81


检查是否恢复:

lvscan |grep e546

可以看到,已经恢复出来了,此时还是处于inactive未激活状态


激活:

lvchange -ay /dev/VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81/VHD-b2a90788-c956-4d07-9471-94513ff5af38

lvchange -ay /dev/VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81/VHD-aea380a1-2d3a-4636-a59b-39131a8de2e5


激活后的VHD处于hidden隐藏状态,用以下命令查看:

vhd-util read -n /dev/VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81/VHD-b2a90788-c956-4d07-9471-94513ff5af38 -p


关闭隐藏状态:

vhd-util set -n /dev/VG_XenStorage-e546abe7-d3c2-065f-6bd9-0650a2e4ca81/VHD-b2a90788-c956-4d07-9471-94513ff5af38 -f hidden -v 0

另一个VHD一样操作


最后再去储存库扫描下,可以看到已经恢复,是没有名字的,需要手动添加名字:


开台小机,把硬盘挂载上去即可正常开机,硬盘顺序要讲究,先插系统盘,再插数据盘.


« 上一篇 下一篇 »

评论列表:

1.访客  2020-07-11 11:45:52 回复该评论
66666
2.访客  2020-09-23 21:51:16 回复该评论
阔以

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Top