服务器在线2月16日报道 虚拟化究竟是用户需求,还是技术需求?虚拟化是不是厂商为了推动市场销售而刻意炒作的一个概念?对于虚拟化,是应该继续观望,还是应该更加积极一些?这也是本期的技术特写希望讨论的核心话题。
芯片虚拟化
当闪光灯纷纷聚焦在VMware、微软、Citrix、Parallels的时候,Intel硬件辅助虚拟化常常被忽略了,实际上硬件辅助虚拟化才是真正的幕后英雄。
没有硬件辅助虚拟化,虚拟化软件架构在操作系统之上,透过操作系统调用底层的硬件资源,不仅效率不高,而且存在着0级指令的冲突。据 VMware大中国区技术总监张振伦介绍,VMware通过软件的方式可以解决所谓0级指令冲突,但是随着Intel等处理器厂商提供了硬件辅助虚拟化的技术,从硬件层面解决了0级指令冲突的问题,虚拟化软件直接架构在处理器层面,直接调用底层资源,而不是通过操作系统,相反,操作系统构建在虚拟化软件之上。因此,采用虚拟化软件直接解决了多操作系统环境的问题。因此,硬件辅助虚拟化技术对虚拟化业务应用发挥了至关重要的作用。
据英特尔解决方案部中国大区技术部经理梁岩介绍,Intel硬件辅助虚拟化技术,也就是Intel VT技术,主要由三部分技术组成:VTx、VTd和VTc。其中,VTx是处理器技术,提供内存以及虚拟机的硬件隔离,所涉及的技术有页表管理、以及地址空间的保护。VTd是处理有关芯片组的技术,它提供一些针对虚拟机的特殊应用,如支持某些特定的虚拟机应用跨过处理器I/O 管理程序,直接调用I/O资源,从而提高效率,通过直接连接I/O带来近乎完美的I/O性能。VTc是针对网络提供的管理,它可以在一个物理网卡上,建立针对虚拟机的设备队列。据了解,在Intel提供的网卡中,将虚拟机数据分类管理的功能,从处理器转移到了网卡上,从而解放了CPU,提高网络的效率。
虚拟化是技术需求
虚拟化技术并不是用户需求的产物,因此虚拟化技术并不针对用户特定的应用需求,也不是用来解决业务的需求。
虚拟化技术更多是为了解决处理器资源效率不高的问题。据有关数据统计,服务器处理器资源效率不高,其平均使用率不足30%。在一次高性能计算用户研讨会上,某行业用户坦言,其计算集群的节点,处理器效率很低,大量计算资源得不到充分的利用。在交流中,Intel某技术支持经理坦言,推动虚拟化技术对于Intel而言并不会带来更多的好处,因为虚拟化技术不能够带来更多的处理器的销售,还会减少处理器的用量。Intel为什么推动虚拟化技术,还是因为它代表了用户的利益。
就目前的情况看,虚拟化的应用主要集中在整合、提高CPU利用率、提高系统稳定性、绿色节能、灵活配置开发、提高系统的可管理性、多操作系统环境的支持、老旧系统的应用迁移、减少软件采购和维护成本以及节省数据中心机房空间等几个方面,从技术上看主要集中在整合、P-V和VMotion等几个工具软件上。根据我们的调查,在这些应用中,整合以及提高CPU利用率最为用户看好,但是与此同时,对于虚拟化软件所带来的安全风险,以及所导致管理复杂性增加最让用户感到担心。某发电企业用户指出,采用虚拟化技术,更多的应用被移植到虚拟机上进行,虽然可以更好地利用计算资源,但是对于划分虚拟机的虚拟化软件本身的安全性表示十分担心,就如同把所有的鸡蛋放到了一个篮子里,其坚固性令人放心不下。
安全性的技术把握
讨论虚拟化的安全性,要把虚拟层(Hypervisor),或称为虚拟化层的安全性与虚拟机的安全性区分开来。HA也好,VMotion也好,都是用来保护虚拟机的安全性,并不针对虚拟化层。
对于虚拟层的安全性,梁岩指出,虚拟化层,更准确的说是Hypervisor,作为CPU与OS之间的一层平台,其功能其实比较简单,基本就是一个"翻译"的工作,它不像OS那样复杂,因此出错的可能性非常低,Hypervisor的可靠性不用过多担心。
据张振伦介绍, VMware的ESXi Server,其大小仅为32M,它剥离了Services Console,也就是涉及管理和控制一些功能,ESXi将这些管理和控制的功能剥离出来。张振伦表示,之所以剥离这些功能,最主要的原因是因为 VMware发现,Services Console比较复杂,经常会涉及补丁和更新,由此导致一些不安全的因素。通过Services Console,ESXi Server的功能更加简单。VMware公司首席渠道系统顾问石峰对此有一个比喻:剥离了Services Console之后,虚拟层就从一架波音777飞机隐身为一架隐形战机,遭受攻击的可能性大大降低,可靠性大为提高。
张振伦表示,Services Console剥离之后,作为一个单独的虚拟机,专门用来做管理工作,例如虚拟机安装、参数的配置等等。如此,Services Console就变成了一个类似传统DOS窗口一样的东西,可以开放给第三方,对于要添加一些新功能进行很好的整合。通过剥离Services Console,ESXi的可靠性大大提高。"这是针对VMware的ESXi Server而言,对于其他虚拟化软件方案,用户还需要认真地分析和比较。"张振伦说。
VMotion仅仅适于在线维护
总有人把VMotion的功能与虚拟机的可靠性联系起来,认为通过VMotion可以提升虚拟机的可靠性,因此也就有了虚拟机较之物理服务器可以提供更高可靠性的结论。
这一结论并不准确。Novell高级系统工程师杨英宏指出,VMotion最主要的问题是触发,往往需要人工来触发,这就使得VMotion更大价值体现在在线维护,通过VMotion,用户不需要中断服务,将应用迁移到另外一台虚拟机服务器,然后对需要升级或者打补丁的服务器进行维护,完成之后,在把应用迁移回来。
对于虚拟机的可靠性,是通过HA软件或者集群软件来保证的,这一点与物理服务器没有什么区别,也就是我们最为熟悉的服务器双机方案。这一点并不应为虚拟化而有所改变。与物理机方案相比,虚拟化最大的价值在于充分发挥CPU的计算资源。据张振伦介绍,虚拟化具有精确的资源调度模式,对CPU资源的划分,它基于三个关键参数:Reservation(保留值)、Limit(最大值)、Share(权重)。其中,保留值是某个虚拟机获得的最小CPU资源,也是维持该虚拟机正常启动的最小资源单位;最大值是虚拟机能够获得的最大CPU资源;而权重是发生CPU资源竞争时该虚拟机争夺资源时的优先级。
通常只需要为每个虚拟机分配合理的最小资源保留值,其余的资源基于权重进行竞争,如此就可以确保资源的有效利用。通过这样的一种设计,虚拟化分配给虚拟机的是保留值的资源,只有位于保留值的CPU资源才是该虚拟机真正独占的,其余的资源都是共享的,某个虚拟机根据需要进行申请使用,不用时还到资源池中。
别把虚拟机不当固定资产
随着虚拟化技术的应用,管理问题也是用户担心的问题。针对虚拟机管理,强生公司ITS中国区企业计算经理蒙伟,要像对待物理服务器一样来对待虚拟机,千万别把虚拟机不当固定资产。但是这可以办到吗?对此,微软市场战略部产品经理许?指出,微软提供了虚拟化相应的管理工具。此外,一些服务器厂商所提供管理工具,如HP的SIM,IBM的Director等,也可以对虚拟机进行管理,用户还可以留意一些第三方软件厂商所提供的管理工具,如 Avocent的Dsview 3。总之,对于虚拟机的管理,应该引起用户足够的重视,必须制定虚拟机的管理策略,从创建、使用到删除,必须制定一套完整的管理规范,以有效防止虚拟机的泛滥。
虚拟化要从评估开始
"并不是所有的应用都可以进行虚拟化的,这一点应该引起用户足够的重视。" 杨英宏说。虚拟化在提高处理器利用率,盘活计算资源,更好体现绿色节能的同时,也需要用户进行投资,所谓没有免费的午餐。
对于用户而言,开展虚拟化应用需要一笔不小的投入,看得见的花销是实实在在的。尽管其计算效率更高,但是对于一些老旧的系统而言,通过虚拟化来盘活这些资源,其作用还是比较有限的。在去年举行的绿色数据中心论坛上,美国ESG集团咨询专家就曾经指出,虚拟化并不能够带来能源的节省。该专家表示,通过虚拟化的整合,确实可以把多台服务器整合到一台高性能服务器中,从而节省服务器的用量。但是对于企业的业务部门而言,不会让服务器彻底闲置,总是会找到各种理由将这些设备利用起来,如此虚拟化将不会达到绿色节能的效果。
对于虚拟化技术,整合也好,P-V也好,VMotion也好,都不应该成为用户选择虚拟化的目标。Intel、VMware、Novell、微软以及用户的专家不约而同地指出:虚拟化应用是一个复杂的过程,需要建立在科学评估的基础上,从虚拟化的目的、手段到目标,都要进行认真的评估,需要与用户的实际情况、应用类型相结合。虚拟化的过程,需要与企业的信息化建设紧密结合,是一个复杂决策的过程,它不是一个简单的技术问题。
另类虚拟化应用
虚拟化并不是一个单一提高CPU利用率的技术,与用户实际情况相结合会演变万般变化。以博时基金为例,他们在灾备中心方案中,选择虚拟机作为灾备服务器,一方面考虑灾难发生的概率很小,如果全部采用物理服务器,可靠性、稳定性以及可用性的把握大了,但是成本比较高。通过采用虚拟化的方案,就可以在可靠性以及成本花销方面达成一个合理的平衡,这也是一种退而求其次的方案。
虚拟化应用的另一个代表是PlateSpin公司的Forge产品,它是一个内嵌了虚拟化环境的用于数据中心灾难恢复的硬件设备。它通过一台安装了虚拟化软件的服务器,利用虚拟机对数据中心的物理服务器做冗余。一台Forge可以保护最多25个服务器的工作负载,无论是物理机还是虚拟机。目前,Novell公司通过收购PlateSpin已经把Forge带到了中国市场,正在进行产品的推广。