MCPLive > 杂志文章 > 对症下药!企业服务器虚拟化应用思辨

对症下药!企业服务器虚拟化应用思辨

2011-05-01Frank.C.《微型计算机》2011年4月下

除了服务器虚拟化实施前期和部署过程中的问题外,企业CIO和CTO们还可能遇到一些具体的技术问题。对于服务器虚拟化有关的一些典型技术问题,我们看看现任英特尔实验室首席虚拟化架构师的Richard A.Uhlig先生如何回答:


Richard A.Uhlig;英特尔实验室首席虚拟化架构师。

1.虚拟化技术在高吞吐量的设备,如网络和存储设备中的应用效果如何?

目前有一个值得关注的趋势,就是使I/O设备能够“对虚拟化更为友好”的新标准正在制订中。例如PCI-SIG(PCI和PCI-Express接口标准的制订推进组织)已经开发了一种新的规范,使PCI-Express设备能够更加容易地在虚拟机上共享其资源。这种规范被称为“单根I/O虚拟化”(缩写为SR-IOV),它定义了一种方式,以提供多重“虚拟功能”(Virtual Function),这些功能可被独立地、直接地分配给在虚拟机上运行的客户操作系统,从而消除一些虚拟化过程中的开销。不过这种I/O设备直接分配还存在一个很大的挑战,那就是它会使其他重要的虚拟化功能变得更加复杂,例如虚拟机的迁移。因为将一个物理I/O接口直接分配给客户操作系统之后,当其虚拟机要迁移到另外一个平台时,会很难释放这一资源。

2.硬件辅助虚拟化技术如何提供更高的安全特性?

硬件辅助虚拟化技术使虚拟机提供了一个从基础上来说更强的、可使代码分离的形式,因为它运行的层级比运行操作系统内核和设备驱动程序的Ring 0更低。这种基于硬件层的支持可以进一步增强安全防护,例如通过硬件机制来重新映射和阻止设备对系统内存的直接存储器存取,所以甚至连拥有特权、运行在Ring 0级别的某个虚拟机中的设备驱动程序,也不能访问属于另一个虚拟机的内存空间。另外,硬件辅助虚拟化技术还能通过减少与虚拟化工作相关的代码来简化虚拟机的执行,终减少可信计算的总体规模,从而减少其相对于恶意软件的“受攻击面”。

3.如何在一台运行着数以百计虚拟机的服务器出现故障后大程度地限制负面影响?

有两个办法可以用于解决这类难题:第一种是在服务器发生错误时纠正其故障并恢复它的运行,或者包容错误以限制错误造成的影响。ECC内存就采用了内存错误检测与校正功能,它是第一种办法的典型应用。相同的故障恢复原则也适用于其他的资源,比如在系统互联和I/O过程中检测一致性,使用CRC来检测连接级别的错误和触发包重发就属于这种情况。

当错误不能被纠正时,包容它们就是后备的解决方案,因为其可支持更高级别的恢复算法。这一过程可通过将无法修正的数据标注“Poison”位标签,然后在系统中跟踪这个数据来实现。如果有这个标签的数据在系统中被再次利用,硬件会在操作系统或虚拟机监视器之外再进行机器检测,从而提供有关错误本质的信息。理想的情况就是,这种硬件在回应错误时,能够支持虚拟机监视器执行一个保护性措施,例如仅仅关闭有故障的虚拟机,而不是整个平台及其他正在正常运行的虚拟机。

除了这些致力于提高某一特定服务器的可靠性的解决方案外,当整个平台遭遇灾难(比如断电)时,我们还可以利用虚拟化技术,在另一个平台上维持虚拟机状态的副本,工作负载的执行可以在其他平台上通过这种虚拟机复制得到恢复和继续。同时,虚拟化还可以和其他已有的提高可用性的方法很好地配合,如基于集群的故障解决方案。在这种情况下,出现故障的集群中,备用机器可以由虚拟机提供,而不需要动用物理设备,这是可用性和低成本的完美结合。

通过对服务器虚拟化实施前期及具体部署过程中遇到问题的总结与分析,相信企业CIO和CTO们应该能够更了解服务器虚拟化技术的门槛、用途和前景。虚拟化在未来的市场推进、应用深化及优化方面还有很多工作要做,还有很多问题与疑惑需要解答。只有当企业用户心中的顾虑与惯性的排斥消除之后,虚拟化的好处才能真正被领会,在实施过程中管理者才能对症下药,避免企业进退两难。

分享到:

用户评论

用户名:

密码: