WEB开发网
开发学院服务器虚拟化 Xen和虚拟化技术(五) 阅读

Xen和虚拟化技术(五)

 2005-08-02 02:14:00 来源:WEB开发网   
核心提示:5.讨论和结论我们在上文介绍了Xen hypervisor,它能够将计算机的资源划分给各个运行着guest OS的domain,Xen和虚拟化技术(五),我们的准虚拟化设计特别强调了性能和资源管理,我们还描述和评估了XeonLinux,我们的下一步工作是移植BSD和Windows XP的内核到Xen上来验证Xen提供的
5.讨论和结论

我们在上文介绍了Xen hypervisor。它能够将计算机的资源划分给各个运行着guest

OS的domain。我们的准虚拟化设计特别强调了性能和资源管理。我们还描述和评估了XeonLinux,XeonLinux是将Linux 2.4内核向Xen上做的完全移植。

5.1 Future Work — 将来的工作

我们认为Xen和XenoLinux完全能够被用于更广阔的空间,所以我们准备在不久的将来把我们的软件做成一个公开版本。当前已经有一个Beta版本正在被评估(//貌似就是那个Clarkson University做的工作);一旦评估阶段结束,我们就会在项目主页上发布1.0版。

在完成初始版本后,我们计划对Xen做一些的扩展和改进。为了增加虚拟块设备的效率,我们准备实现一个由块内容索引的共享的通用缓冲Cache(universal buffer cache)。这将为我们的设计增加受控的数据共享,同时却不牺牲隔离性。为虚拟块设备增加写复制(copy-on-write)语义,使它们能够在domain之间被安全地共享,即使是不同的文件系统也不会有问题(//写复制,保证一致性,减少内容复制开销;不过跨文件系统应该还是不很容易吧?)。

为了提供更好的physical(//物理?还是像之前提到的是“实际分得的”?应该是后者)内存性能,我们计划实现一个最后机会页缓存(LPC:last-chance page cache)。这是一个全系统范围内的空闲页链表,只有在机器内存未被分光的情况下,链表才有非零的长度。当guest OS虚拟存储系统选择舍弃一个干净(clean:数据中没有dirty data,都是与磁盘中相同的)的页时会使用到LPC;这个干净的页会被加入到空闲链表的结尾,而并非被完全抛弃。如果在该页重新被Xen分配之前发生了和该页相关的错误,那么对错误的处理是不需要磁盘访问的(我的理解是,以往的方法如果操作系统释放了内存资源的话,那么它如果再想使用刚才释放页上的资源就必须重新从磁盘上调入;而现在的last-chance,就给了操作系统一个机会,如果出现了和刚释放掉的页内容相关的错误,那么操作系统可以直接从这个LPC中调相关页,而不用访问磁盘)。

Xen的一个重要角色是作为XenoServer的基础。XenoServer的设计目标超越了单机的范畴,它要搭建的是支持一个互联网规模计算架构所必需的控制系统。对于我们的设计来说,关键在于资源的使用要被精确地计算并且由工作的发起者想办法满足资源需求 — 如果资源必须要及时兑现,我们就使用一个拥塞定价策略来处理那些超过资源提供能力的要求,使用透支的方法满足超出的需求。这就必须要有精确、及时的I/O调度,它要能够更有弹性地处理那些不友好(//恶意透支?)的工作负载。我们还计划创建虚拟块设备租借等形式,将会计学中的一些理论(//上述的租借,透支之类的概念都是属于会计学的范畴)借鉴进我们的块存储架构中。

为了能够为XenoServer的管理和经营提供更好的支持,我们正在加入对日志审核和日志鉴证更彻底的支持。我们还在开发其它的VFR规则,希望这些规则能够使我们检测和防止更大范围的对社会有危害的网络行为。最终,我们正在继续我们在XenoXP上的工作,最重要的工作就是编写网络和块设备驱动实例,工作的目标是完全支持企业级的服务器应用(如IIS)。

5.2结论

Xen提供了一个优秀的平台,在这个平台上能够配置广泛的多样化的以网络为中心的服务,比如动态web内容的局部镜像,媒体流的编码转换和分发,多用户游戏和虚拟现实服务器,还有为瞬时连接设备提供短暂网络连接的“智能代理”[2]服务。

Xen直接解决的是在部署服务时遇到的最大障碍,即当前不能够在低实例化开销的前提下,对瞬时服务器操控较短的时间(//瞬时服务器:时有时无,有时候需要有时候不需要;而即使是每次需要,也只是操作很短的时间,马上就又不需要了;所以这样的话,频频切换,就需要很大的实例化开销,因为每次启动瞬时服务,就要实例化一次;但是Xen中,反正我可以跑多个系统,那就专门留一个或几个系统给你跑瞬时服务,同时还不耽误我其它服务的性能)。通过允许100个操作系统运行在单台服务器上,我们减少了两个数量级的相关开销。更进一步的,我们可以把对每个操作系统进行设定和配置的过程转变为软件行为,这样就能够更容易地操控更细粒度的时间片。

正如我们在第4部分给出的实验结果,在Xen上运行XenoLinux的性能几乎与本地Linux系统的性能相同。之所以会有这样的结果,主要得益于对两个部件之间接口(//就是VMM吧?操作系统和底层硬件两个部分之间的接口)的细致设计,这使得我们几乎感觉不到在使用资源管理工具时带来的开销。我们的下一步工作是移植BSD和Windows

XP的内核到Xen上来验证Xen提供的接口的普适性。

致谢

本项工作得到了ESPRC Grant GR/S01894/01和微软公司的支持。我们要感谢Evangelos Kotsovinos, Anil Madhavapeddy, Russ Ross and James Scott做出的贡献。

Tags:Xen 虚拟化 技术

编辑录入:coldstar [复制链接] [打 印]
赞助商链接