Xenserver中导出vhd

Citrix提供了Xencenter这个管理工具,可以很方便的管理Xenserver

某些特殊需求下,我们需要以vhd文件格式导出Xenserver中的虚拟机,例如cloudstack中使用的模板。

很不幸的是,虽然Xencenter提供了export vm的功能,但是却经常导出失败:failed to export

例如:http://www.riverlite.co.uk/2014/01/citrix-xenserver-unable-to-export-to-ovf/

在日志文件中有提示信息:System.exception failed to export system.xml.xmlexception root element is missing

即使执行了脚本/opt/xensource/packages/files/transfer-vm/install-transfer-vm.sh 问题依旧


xencenter失败后,会想到dom0中的xe vm-export命令

只可惜这样导出的vhd文件上传到cloudstack中,是个无效的文件


饶了两个圈圈,回到原点!

出现以上问题后,是不是就不能导出vhd文件了?这当然是不可能的!


1、直接在dom0中,进入/var/run/sr-mount/[sr-id(一串随机数)]/目录

2、执行ls命令 //发现这个目录下很多vhd文件(开启了很多虚拟机的情况下),很开心有木有?其中一个vhd文件就是你要导出虚拟机!

3、这时候通过xencenter的界面或者xe vm-list找到特定虚拟机的uuid

4、然后使用xe vbd-list uuid=[id] 找到[vdi],拷贝/var/run/sr-mount/[sr-id(一串随机数)]/目录下的[vdi].vhd文件,该文件即可作为模板导入cloudstack中。

5、如果上述方法不方便定位(至少我的测试环境中有些问题,xe vbd-list uuid=[id]返回空,无法通过这种方式定位,而是直接通过文件大小判断的),可以考虑先通过xencenter将vm转换为模板,通过xencenter将模板导出xva格式,然后将xva导入到一个比较干净的xenserver,利用模板启动一个虚拟机,确定虚拟机可正常运行后,删除模板,再到/var/run/sr-mount/[sr-id(一串随机数)]/目录下拷贝.vhd文件,这时候该目录下,应该只有两个vhd文件,一个是dom0,另一个就是我们的虚拟机。


参考:

http://support.citrix.com/article/CTX132014




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值