Xen虚拟机动态增量迁移研究实现.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Xen虚拟机动态增量迁移研究实现

Xen虚拟机动态增量迁移研究实现   摘要:Xen虚拟机现有迁移机制中,源主机和目的主机需要连接共享存储服务,共享存储是动态迁移的必要条件。针对这一局限性提出了一种包括外存迁移在内的动态增量迁移方法,可以在动态迁移过程中,把虚拟机磁盘文件从源主机迁移至目的主机,从而降低了动态迁移的成本,扩大了动态迁移的应用范围。并通过实验进行了性能分析。   关键词:虚拟机;Xen;增量迁移   1 引言   目前,虚拟机产品主要应用于大规模数据中心,其在线迁移都依赖于物理主机之间采用集中式共享外存设备。对于拥有独立本地外存的服务器和个人计算机,迁移技术在这种场合下受到限制,所以实现一个包括外存迁移在内的虚拟机增量迁移方案将使迁移技术得到更广泛的应用。   2 虚拟机迁移技术分析   为了拓宽现有迁移技术的应用范围,有必要实现一个包括外存迁移在内的迁移方案,使得在采用分散式本地存储的计算机环境下,仍然能够利用迁移技术转移计算环境,并且保证迁移过程中操作系统服务的可用性,这就需要动态增量迁移技术。   3 Xen虚拟机动态增量迁移的设计   对于VM(Virtual Machine)的内存状态的迁移,Xen采用了主流的预拷贝(pre-copy)的策略。结合内存迁移的策略,动态增量迁移主要分为三个阶段:PUSH阶段、停机拷贝阶段和PULL阶段。   在PUSH阶段源VM仍在运行,其外存访问被VMM监控。在内存pre-copy之前采用与内存迁移同样的原理先进行外存的pre-copy。外存pre-copy结束后,进入Xen的内存pre-copy阶段,在此期间VM对外存的访问仍然被监控记录,作为后续阶段同步剩余不一致外存状态的依据。在停机拷贝阶段,源VM被挂机,传输剩余的内存状态、CPU状态等,并将VMM所记录的外存状态信息发送给目的VM。   4 Xen虚拟机动态增量迁移的实现   4.1 PUSH阶段   在迁移开始之前,用户通过迁移命令(xm migrate)向源主机VMM发出迁移请求,收到请求后VMM通知块设备即将开始迁移。然后检查内存是否够用,如果不够用则先释放部分内存,以保证有足够的内存进行迁移。接着源主机与目的主机建立socket连接,源主机请求迁移,当收到目的主机的响应之后,进入PUSH阶段[5] 。   在迁移过程中,源主机需要监控VM对外存的访问。在设备后端初始化一个bitmap用于记录外存块的状态变化。如果某个外存块在循环期间被写脏,就将块标志位置1。每轮循环首先获取此bitmap记录,根据该记录发送前一轮发送过程中被VM写脏的外存块。   4.2停机拷贝阶段   进入至停机阶段,源VM被挂起,目的VM尚未启动,剩余内存脏页和外存脏块以及运行状态等信息被拷贝到目的主机。在外存pre-copy结束至源VM被挂起的过程中,源VM外存访问产生的脏块仍然被设备后端记录在bitmap中。   加入外存迁移的停机拷贝阶段,与之前的区别主要体现在将源主机设备后端所监控记录的bitmap发送给目的主机,目的主机启动后将根据该bitmap确定本地外存数据是否已经与源VM的外存数据一致[6]。通常情况下,外存的脏块生成率相对内存产生脏页的机率是比较低的,因此理论上对停机拷贝阶段时间的影响不大。   4.3 PULL阶段   PULL阶段由源主机和目的主机的迁移进程合作完成,包括目的VM外存访问按需向源主机请求以及源主机VM外存主动向目的主机post-copy。   进入至PULL阶段,源主机向设备后端请求监控外存状态的bitmap,并根据此bitmap确定从最后一轮外存pre-copy至源VM被挂起的过程中哪些外存部分被源VM写脏,并将脏块发送至目的主机。当bitmap中标记的所有脏块都被传输至目的主机后,目的主机已经获得了所有最新的外存数据,外存迁移结束[7]。   5 性能测试   第一轮测试在两台物理主机A和B之间进行,两物理主机均通过网卡连接到局域网,VM从一台物理主机迁移至另一台物理主机。通常文件系统的块大小为4KB,也就是8个扇区[8]。在对VM进行外存迁移时,首先以8个连续的扇区组成的磁盘块作为bitmap中一个监控单位,逐渐递增,在无工作负载情况下进行多次迁移实验,得到各阶段迁移时间:   第二轮测试在两台物理主机A和B之间设置共享存储C,利用未修改过的Xen虚拟机进行试验,同样是在无负载条件下进行迁移,得到各阶段迁移时间:   从两组实验结果,可以看出,动态增量迁移在总体迁移时间上明显大于共享存储的迁移,其中停机阶段时间相差很少,主要体现在Pre-copy阶段和Pull阶段,其主要原因是这两个阶段中加入了外存迁移。在对实时性要求不是特别严格,而需要全系统迁移的情况下,动态增量迁移的实现摆脱了对共享存储的依赖,使虚拟机迁移更加自由

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档