虚拟机Xen高可用性迁移算法研究与实现.docVIP

虚拟机Xen高可用性迁移算法研究与实现.doc

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

虚拟机Xen高可用性迁移算法研究与实现   摘要:高可用性已经成为IT领域研究人员所追逐的目标,操作系统内部的进程迁移保证了可用性,虚拟化技术的融入在一定程度上提高了系统的可用性。文章在研究操作系统进程迁移的基础上,分析了虚拟机Xen的内部体系结构和Xen支持的迁移机制,提出了增加系统可用性的内存紧压缩迁移算法,在一定程度上优化了Xen的迁移机制。   关键词:虚拟机;Xen;可用性;迁移;气球驱动;内存紧压缩算法   中图分类号:TP393文献标识码:A文章编号:1009-2374#8197;(2010)18-0024-02      一、进程迁移分析与研究   国内外对进程迁移做了较多的研究。有通过修改操作系统实现进程迁移机制的系统,如MOSIX、Charlotte、V、Sprite和Mach等;也有在用户层实现进程迁移机制的,如:Condor、PRM等。这些系统中,大部分是基于检查点保存重起机制实现的,这类算法属于全拷贝类型。该算法在保存检查点转移检查点文件直到恢复进程之前,目标节点上恢复的新进程是不能执行的,从而整个进程迁移过程有较大的时延。为改进较大时延的缺点,Theimer在V系统中提出了预拷贝算法,在拷贝进程地址空间的同时进行进程执行和消息接收。然后继续拷贝修改了的页面。但该算法增大了整个工作量;Zayas提出了请求页进程迁移算法,首先挂起进程只传送进程的状态,然后恢复进程的执行,地址空间的其他内容在新进程执行过程中出现页面错误时再通过请求页面,传输所需的页面内容。但该算法每页的传输代价很大,而且迁移完毕后对源主机的依赖性很大。   (一)Accent   Accent是一种基于消息的分布式操作系统。Zayas实现的第一个进程迁移系统中用“copy on reference”传输地址空间。进程迁移时,Accent将进程迁移到两个消息中:“core”消息包含Perq计算机微引擎、内核堆栈、进程控制块和端口权力集。Accent物理上将“core”消息传送到目的计算机;“Real and Imaginary Memory Address Space(RIMAS)”,消息包含虚拟地址空间的逻辑表述。目的计算机利用这两个消息在目的机恢复进程。当一个内存页被请求时,目的机从源机获得该页。“copy on reference”技术可以少传输58%的数据,使传输时间减少47%。Accent进程迁移算法很大程度上提高了进程迁移性能,是进程迁移技术史上的里程碑。但是对内存的残余依赖使Accent失去了支持容错的能力。   (二)Condor   Condor支持Unix工作站网络中的进程迁移。它实际是分配进程到空闲工作站的批处理程序。当机器的所有者开始使用机器的时候,Condor将它的进程转移到其它机器上。Condor主要用于处理生命周期长的进程,且只支持使用文件和进行内部处理的进程。它转送文件请求到提交该请求的主机,用Up-Down算法平衡各个机器的负载。Condor进行进程迁移时将进程打包到一个文件进行传输,然后再恢复该进程。这个过程的平均时间消耗为2.5秒。   二、虚拟机Xen的体系结构分析   (一)体系结构分析   由于目前的虚拟机有很多种,Xen是贝尔实验室研究的一个开放源代码软件,之所以选择Xen作为我们迁移设计的平台,是因为Xen的开放性,可以保证迁移的未来工作的完整性和前进性。   Xen成功的对一台计算机进行划分,使得能够支持多个操作系统的并发运行,并且每个操作系统是相互独立、隔离的。每台虚拟机的执行不会影响另一台虚拟机的性能,这一点在操作各个虚拟机的用户相互间并不信任的情况下显得特别重要。其次,Xen支持多种多样的不同操作系统以提供给各种异构的流行应用的支持(这里的异构指的是应用开发依托的操作系统不同),因此在实现上也就有很大差异,使得应用并不能够跨平台移植,因为Xen不需要对应用程序进行修改,那么它支持各种常用的操作系统。Xen操控的是常用的操作系统,但是需要对操作系统中的某些相关部分进行一些修改。   Xen就是以整个操作系统的粒度复用物理资源,它能够提供在操作系统间的性能隔离。相对于进程级的资源复用,Xen要允许一定范围内的guest OS“和平”共存,而并非去指定一个特殊的应用二进制接口。   (二)Xen迁移机制分析   进程迁移机制的实现目标有多种:有的是为了达到负载平衡,有的是为了提高灾难恢复程度,有的是为了加强用户级的使用。在虚拟机软件Xen中,迁移机制的实现目的也是不同的。   在Xen的迁移机制按照迁移的发起者分成两种:自我迁移和场景迁移(live migration)。自我的迁移是由要迁移域引起的,这个迁移需要对原域进行一个短小的停顿时间,然后把封装

文档评论(0)

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

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

1亿VIP精品文档

相关文档