小编给大家分享一下在XenServer中备份虚拟机的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
方法1:手动备份正在运行的虚拟机
以下步骤也可以通过XenCenter执行,但Linux用户喜欢使用命令行。
1、查找VMS UUID
使用以下命令获取所有vms的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
根据上述输出测试,vm uuid为“8ac95696-94f3-83c1-bc89-8bb2603f832b”。你可能是其他情况。
2、创建VMS快照
现在使用下面的命令使用上面步骤中找到的UUID创建VM快照。确保使用正确的UUID。
# xe vm-snapshot uuid=8ac95696-94f3-83c1-bc89-8bb2603f832b new-name-label=testvmsnapshot
上面的命令将检索快照的uuid,使用该uuid将快照转换为vm,因此我们可以使用下面的命令将其导出到文件。
# xe template-param-set is-a-template=false ha-always-run=false uuid=b15c0531-88a5-98a4-e484-01bc89131561
3、将快照导出到文件
现在,我们可以将创建的快照导出到.xva文件,这可以很容易地从命令行或Xencenter恢复。
# xe vm-export vm=b15c0531-88a5-98a4-e484-01bc89131561 filename=vm-backup.xva
4、销毁快照
最后,因为我们已经备份到XVA文件,所以我们可以从XenServer销毁创建的快照。
# xe vm-uninstall uuid=b15c0531-88a5-98a4-e484-01bc89131561 force=true
方法2:使用脚本备份运行vms
为了备份XenServer上运行的所有虚拟机,我们还可以使用以下shell脚本。此脚本安装了通过NFS导出的远程文件系统。这个脚本非常适合这个例子,但对你可能不适用。所以使用这个脚本并不能保证你的可行。
#!/bin/bash # # Written By: Mr Rahul Kumar # Created date: Jun 14, 2014 # Last Updated: Mar 08, 2017 # Version: 1.2.1 # Visit: https://tecadmin.net/backup-running-virtual-machine-in-xenserver/ # DATE=`date +%d%b%Y` XSNAME=`echo $HOSTNAME` UUIDFILE=/tmp/xen-uuids.txt NFS_SERVER_IP="192.168.10.100" MOUNTPOINT=/xenmnt FILE_LOCATION_ON_NFS="/backup/citrix/vms" ### Create mount point mkdir -p ${MOUNTPOINT} ### Mounting remote nfs share backup drive [ ! -d ${MOUNTPOINT} ] && echo "No mount point found, kindly check"; exit 0 mount -F nfs ${NFS_SERVER_IP}:${FILE_LOCATION_ON_NFS} ${MOUNTPOINT} BACKUPPATH=${MOUNTPOINT}/${XSNAME}/${DATE} mkdir -p ${BACKUPPATH} [ ! -d ${BACKUPPATH} ] && echo "No backup directory found"; exit 0 # Fetching list UUIDs of all VMs running on XenServer xe vm-list is-control-domain=false is-a-snapshot=false | grep uuid | cut -d":" -f2 > ${UUIDFILE} [ ! -f ${UUIDFILE} ] && echo "No UUID list file found"; exit 0 while read VMUUID do VMNAME=`xe vm-list uuid=$VMUUID | grep name-label | cut -d":" -f2 | sed 's/^ *//g'` SNAPUUID=`xe vm-snapshot uuid=$VMUUID new-name-label="SNAPSHOT-$VMUUID-$DATE"` xe template-param-set is-a-template=false ha-always-run=false uuid=${SNAPUUID} xe vm-export vm=${SNAPUUID} filename="$BACKUPPATH/$VMNAME-$DATE.xva" xe vm-uninstall uuid=${SNAPUUID} force=true done < ${UUIDFILE} umount ${MOUNTPOINT}
看完了这篇文章,相信你对在XenServer中备份虚拟机的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。