1 在Citrix Xenserver中备份VMs元数据

1.1 找到vm UUID

使用以下命令可以获得所有vm的uuid列表以及其他详细信息。
这个UUID将在接下来的步骤中使用。

xe vm-list is-control-domain=false is-a-snapshot=false

uuid ( RO)           : 8ac95696-94f3-83c1-bc89-8bb2603f832b
     name-label ( RW): test-vm
    power-state ( RO): running

根据以上输出test-vm uuid为“ 8ac95696-94f3-83c1-bc89-8bb2603f832b”。

1.2使用UUID备份元数据

获得vm的UUID后,使用以下命令对UUID为 8ac95696-94f3-83c1-bc89-8bb2603f832b的虚拟机元数据进行备份,创建元数据备份文件 metadata.bak

xe vm-export filename=metadata.bak uuid=8ac95696-94f3-83c1-bc89-8bb2603f832b metadata=true

我们已经成功地完成vm元数据备份。

如何在Citrix Xenserver中备份vm元数据

本文描述了如何备份Citrix Xen服务器上单个虚拟机的元数据。
在本文中,我们将逐步了解如何备份元数据。
在本文的最后,还有一个小型shell脚本,可用于备份运行在Xen服务器上的所有vm的元数据。

2用于备份所有vm元数据的脚本

这是定期调度元数据备份的好选择。
可以将下面的脚本放到计划任务,备份Xen服务器上的所有vms元数据。

#!/bin/bash

DATE=$(date +%d%B%y)
XSNAME=`echo $HOSTNAME`
mkdir -p /mnt/nfs

mount -F nfs 192.168.10.100:/backup/citrix/metadata /mnt/nfs

BACKUPPATH=/mnt/nfs/$XSNAME/$DATE
mkdir -p $BACKUPPATH

xe vm-list is-control-domain=false is-a-snapshot=false | grep uuid | cut -d":" -f2 >  /tmp/uuids.txt

while read line
do
    VMNAME=`xe vm-list uuid=$line | grep name-label | cut -d":" -f2 | sed 's/^ *//g'`
    xe vm-export filename="$BACKUPPATH/$XSNAME-$VMNAME-$DATE" uuid=$line metadata=true
done < /tmp/uuids.txt
umount /mnt/nfs

如何使用脚本:

2.1复制此脚本到xenserver中的文件 /scripts/metadata-backup.sh
2.2这个脚本使用nfs挂载的远程备份服务器,我们可以用自己的设置替换它。
2.3执行此脚本 sh /scripts/metadata-backup.sh
sh** 。
2.4可放入crontab计划任务中

日期:2019-05-19 01:25:32 来源:oir作者:oir