关于导出XenServer底层VHD磁盘的方法

原文地址:http://mp.weixin.qq.com/s?__biz=MjM5NTczODkyOA==&mid=2650948184&idx=1&sn=7251577b311119b42032019c94caa946&scene=4#wechat_redirect


之前朋友分享的经验。

 大家知道从XenCenter层面,只能导出OVFOVAXVA的格式,那如何将某台虚机的VHD文件导出来呢?你可能会想到XenConvert,是的,XenConvert可以实现将虚机转换成VHD,但若是虚机文件过大,花费的时间就会很久,且往往在转换过程中失败,软件的限制太多。那怎么办?其实有一个相对便捷的方式,就是从XS底层去取。对于XS,所有的虚拟机存在于SR中,其实就是VHD格式,但XS不能像vSphere那样直接浏览存储,下载虚机文件。不过还好,XS基于CentOS开发,我们可以借助工具,像SSH ClientWinSCPXFTP等支持SFTP协议的工具,连接至XS系统,从SR中将虚拟机的VHD文件拿出来。具体操作步骤:

    1.    SSHXS(以XFTP为例),登录成功后,左边列表是本地目录,右边是XS





 2.    通过浏览/var/run/sr-mount,可以看到所有的SR(以UUID命名),定位到虚机所在的SR文件夹(SRUUID可以在SR的常规选项卡中查到,或者在XS中运行xe sr-list




 3.    选中所需的虚机VHD,直接拖拽到本地计算机路径即可,这里注意,虚拟机的VHD也是以UUID的方式命名的;可以通过:xevm-disk-list name-label=xxx (xxx为虚机的在XS上的名称,可以在虚机的常规选项卡中查到)



   4.    根据VHDUUID定位到虚机文件,复制出来即可。 


  PS:有一个特殊情况,若该虚机存在快照,可能会导致VHD大小不匹配,以上图为例,虚机的VDI明明有近300GB,为什么SR中却只有28GB呢。      

  其实都是快照惹得祸,因为在生成快照的时候,XS会将当前的状态禁止并保存为一个base copyVHD文件,之后对该虚机的修改,都会在一个新的VHD上增量,以Tree的形式进行链接,所以看到的28GB,其实是生成快照后的增量大小,单纯导出该VHD是没办法还原该虚机的,经过测试,就算我们在XenCenter删除了快照链接,对于存放的VHD来讲,它不会自动做合并,大小仍然那么大。      

  那怎么办?我们可以通过fullcopy该虚拟机的方式,让XS自动合并VHD,当然VHDUUID需要重新确认。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值