六大虚拟化技术 架构、性能、应用分析(3)
2008-02-23 03:54:09来源:互联网 阅读 ()
尽管安装及运行简单,但开放源代码的Xen绝不是没有多少特性的简易方案。Xen客户虚拟机运行速度快,这还不足以描述其优点。Xen的速度之快不仅仅体现在计算速度方面。衡量虚拟化性能的一个标准就是吞吐量,而Xen在这方面不负所望。存储和网络I/O速度飞快;说到存储,Xen具有非同寻常的灵活性。客户虚拟机可以使用专用的驱动器或者阵列、现有驱动器上的专用分区,或者安装在主机上的其中一个文件系统上的磁盘镜像文件。
Xen配置参数保存在文本文件中,其管理界面是一小组简单的命令行指令。Novell正在为Xen开发GUI管理界面;不过要是服务器数量有限,Xen简短、可编制脚本的单行命令在启动、关闭、查询虚拟机控制台的状态及连接到虚拟机控制台等方面很出众。把运行中的虚拟机从一个物理服务器迁移到另一个(Virtual Iron和VMWare VirtualCenter等虚拟产品具有的一项特性)也是单行命令即可实现的;Xen声称,其实时迁移的速度最快。确实,迁移过程只需要几分之一秒,在HTTP和SMTP(电子邮件)会话过程中几乎注意不到。由于开销很小,Xen可以完全用于维持高可用性。
XenSource网站声称,“Xen现在是、将来也一直是开放源代码。”相对商业软件,开放源代码项目往往需要作一番取舍:开放社区只有接受这种取舍,才能推广开放源代码运动。但Xen不需要照顾和优待才能获胜。等Xen 3.0在今年第三季度交付,那既是开放源代码项目的里程碑,又是得到赞助公司XenSource支持的商业企业解决方案,它将因为物有所值的优点而成为开放源代码项目的典范。
AMD和英特尔把虚拟化功能嵌入到芯片内
如果软件不必从事所有的繁重任务,性能就会得到提升。
如今AMD和英特尔都提供了硬件辅助的虚拟化技术,这不是什么技术突破,却为今后取得技术突破拉开了帷幕。AMD的安全虚拟机(SVM)和英特尔的虚拟化技术(VT)表明CPU的设计理念及由此而来的架构将会出现巨大变化。
AMD和英特尔都已力图解决同一个问题,最终提出了相似但独特的解决方案。问题就是落后的CPU架构采用软件虚拟化,从而带来了庞大的开销。解决方案就是让CPU处理繁重任务。
这两家芯片生产商采取的第一步都是先使各自的CPU能够截获并重定向改变系统状态的请求。在单机单操作系统模式下,操作系统有权自行改变CPU、芯片组及外围设备的状态。这对实现高效虚拟化而言显然是个障碍。如果对系统所作的改变不生效,客户操作系统实例就会崩溃。维持这样一个不切实际的单机主系统是实现虚拟化的沉重负担。
需要的重要补救方法就是确保:没有哪个操作系统能够以阻止计算机与其他操作系统共享的方式改变系统状态。软件通过执行特权指令来改变系统状态。确认及重定向这些指令属于软件虚拟化一部分最繁重的任务,这也是AMD和英特尔决定首先要解决的问题。
如果操作系统基于SVM或者VT运行,任何特权操作指令在完成之前都能被截获、并被发送到由hypervisor建立的入口点。Hypervisor是“管理管理程序的管理程序”,它成了惟一持有及授予改变系统状态这项特权的主体。譬如说,如果客户要求映射一部分虚拟内存的请求被截获,hypervisor代码就会交出早就为该客户预留的一部分内存,从而满足这个请求。
在虚拟化服务器上,这类特权操作每秒执行几百次或者几千次,因而你能想象得到,如果用软件来处理,情形会相当糟糕。英特尔和AMD把特权指令截获功能嵌入到了CPU里面,并且为新指令添加了保存及恢复扩展系统状态(如果你愿意,也可以是操作系统实例上下文)的功能。VT和SVM的优点不止这些,但截获和上下文是最重要的优点。
AMD充分利用了其AMD64架构的优点,特别是CPU的板上内存控制器。英特尔的内存控制器在CPU外面,因而并不意识到VT。AMD64的板上内存控制器已得到了升级,具有嵌套分页功能(nested paging),从而为每个客户实例提供了各自的内存地址转换表。英特尔的架构需要客户内存地址转换用软件来实现。
两者实施的虚拟化技术还有其他不同之处,AMD的功能远胜过英特尔的。不过,具有硬件加速功能的虚拟化解决方案一开始都会把目光锁定这两种技术之间的重叠之处。随后,我们会看到为了利用AMD64改进之处而专门开发的产品。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:国外域名和空间购买经验及省钱技巧
下一篇:是否了解?谈虚拟主机的控制面板
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
