如何在Citrix Xenserver中备份vm元数据
时间:2019-05-19 01:25:32 来源:igfitidea点击:
本文描述了如何备份Citrix Xen服务器上单个虚拟机的元数据。
在本文中,我们将逐步了解如何备份元数据。
在本文的最后,还有一个小型shell脚本,可用于备份运行在Xen服务器上的所有vm的元数据。
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元数据备份。
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计划任务中