教你如何来选择正确的虚拟化技术

互联网 | 编辑: 江海明 2009-03-16 10:03:00转载

越来越少的IT公司会询问他们是否应该虚拟化他们的系统。当前的问题所在就是他们如何来在他们的环境中去平衡虚拟化。在X86以及UNIX领域,虚拟化解决方案的不断成熟给了这些公司无数的选择。许多的选择都给大家提供了很高的灵活性,但是带来灵活性的同时,也引来了许多的混乱以及复杂性。

每一个虚拟化的技术都以一种不同的方式操作。由于每一个IT环境都十分的复杂,它们有着自己独一无二的操作方式、技术组件以及商务限制,因此整个就是一个很混合的状况。正因为如此,也就不可能针对每一个IT场景有一个非常理想的虚拟化技术。因此,最好的办法就是把资源关注在针对特定环境而选择的特定技术,而不是去找一个几乎不可能的“完美”解决方案。

以下的一些因素会影响虚拟化软件的选择。

1、活动性以及可移动性

可移动性让应用程序在物理服务器上相互转移,而不需要中断。这个特性在VMware的VMotion、XenMotion以及IBM P6 LPARs上已有,因此可移动性具有改变容量管理的潜力。

但是,这并不是说它没有问题。可移动性会带来可变性,而且会给管理组的成员(他们要进行事件管理以及处理兼容性问题)带来很大的挑战。因此,为了评判可移动性是否在你的环境中是一个很好的选择,公司需要首先分析维护窗口、负载方式的一致性以及灾难恢复的策略。

维护窗口

当组合到一个单一的物理平台上,维护窗口就变得混合了。针对硬件维护,创建一个没有时间窗口的场景是非常容易的。对于软件也会产生同样的问题。移动虚拟机的能力可以帮助减少这个问题,通过允许服务器被挪下线来进行计划的维护或者软件的升级。另外的一种情况是,当不能移动到适当的地方,虚拟主机上应用程序合适的初始放置位置就显得非常重要。但是,无论在哪一个情况下,作出正确的放置决定是非常关键的,因为可移动性中很少的行为会包含一个与软件方面的冲突。

负载方式的一致性

可移动性的优势很产生很大的不同,这主要依赖于负载方式的可变性级别。在高可变性负载环境中,它对于平衡空间能力非常有用。但是,在低可变性场景中,可移动性的好处就会降低。

公司可以每天或者每周基于负载方式的可变性来分析理想的位置。如果负载方式每天和每天都几乎一样,那么一个静态的放置就已经足够了,显然可移动性的可变性也就显得没有必要了。相反,如果每天和每天的负载方式都显着不同,那么就需要一个动态的解决方案(即可移动性)。

灾难恢复策略

如果应用级别的复制或者热备份不是灾难恢复计划的一部分,那么可移动性会破坏这些做法。比如,一个人可能不注意地把一个生产服务器放在同一个位置作为它的灾难恢复服务器。为了避免这种缺陷,公司应该进行一个灾难恢复策略、角色、集群策略、集群角色以及复制结构的详细分析。

2、过载以及可测量性

有很多的操作模式方面的因素会影响虚拟化的成功。这包括I/O被处理的方式、每个虚拟机的最大CPU数量以及在它们平台上厂商如何给软件许可的方式。公司可以通过考虑如下的因素来绕过这些过载以及可测量性方面的考虑。

I/O速率

一些软件组件,比如那些I/O操作频繁的数据库服务器可能更适合于那些不使用虚拟化设备驱动的虚拟化技术,因为这些设备驱动每一次进行的I/O操作会给CPU造成很大的负担,以致让系统会接近它的底线。一些技术,比如VMware的设备映射(device mapping)同样在这方面提供了更高的效率,但是使用这些特色就会阻碍可移动性。

为了决定采用一个更好的办法,公司要使用一个特殊策略的负载模型。该模型基于物理服务器上的I/O活动,会增加CPU的使用数量。这是一个很简单的方式来捕获那些不适于给定虚拟化解决方案的工作负载类型。

非计算密集的应用

理论情况下,在一个虚拟主机上放置很多非计算密集的应用是有可能的。但是,这里有很多的因素会限制着这种场景的可测量性。而且,查明哪些因素会限制环境会更加复杂。

第一步就是采用一个CPU“量化”模型。如果一个虚拟化技术的方式是一个物理CPU模型有一个虚拟CPU,并且严格执行,那么,虚拟系统的数量会受到 CPU数量的限制。而当新的模型变得可用以允许分配更细的物力资源,这个问题就会逐渐减弱,但是一定还要很谨慎来注意这种约束,以防止令人不快的事情发生。

存储是一个更加复杂的部分。那些做的不是很多的应用和那些处于活动状态的应用相比,通常使用同等数量的存储。加入一些这种应用会给整个目标系统的存储能力带来负担,但是却不会给CPU使用能力方面产生太大影响。

潜在的架构的可测量性同样会让问题更加复杂。当运行太多的映像时,一些应用会死掉,而不管它们做了什么。其它的会平衡背板互连、缓存模型以及更高的上下文切换能力来允许更多数量的虚拟机,同时不会影响整个系统的可靠性。为了决定转向“大节点”(fat nodes)是否有意义,公司需要平台的可测量以及负载测试。

软件许可模型

一些应用在一个特别的虚拟化技术上是不支持的。即使软件支持不是一个问题,软件的许可模型同样在虚拟化的ROI中起一个很重要的角色。比如,如果每个物理服务器有一个软件许可,这就会巨大地减少从虚拟化当中获得的好处。这就会让你寻找一个物理配置来支持负载,通常者需要抛弃掉垂直的架构方式,而采用更小的水平方式部署服务器。

3、安全性

公司通常在一个物理到虚拟转变的过程中,对安全没有太多的管理。当然,当前也没有一些公开的书籍来帮助大家确保一个虚拟环境的安全。以下的一些考虑会减少你的虚拟化安全风险。

安全区域

在一个虚拟化环境中混合安全区域是一个很差的主意,因为大多数的虚拟化技术不提供足够的很强安全性的隔离模型。比如,将那些连接到敏感的内部网络的系统放置到同一个物理主机上,就像那些连接到一个DMZ上,是没有任何意义的。

除此之外,有很多的虚拟化解决方案都有管理级别的角色,这允许你查看所有虚拟映像的磁盘映像。这会导致巨大的缺陷,通过允许敏感安全区域被桥接。而且,在虚拟化的解决方案中,这个问题会被加剧。因为,虚拟化的解决方案会包含内部的网络交换机,这些交换机控制在同一个物理主机上的虚拟机之间的交互。这些技术可以允许虚拟系统完全绕过所有建立的端口级别的防火墙过滤、深层包捕获以及管理环境的QoS策略。这会给整个环境打开了一个危险的窗口,这个窗口不能被网络级的安全工具所检测到。

私有信息

许多的虚拟化技术都允许访问那些存储在下线的虚拟化映像,通过把它们以硬盘方式连接时。尽管这给了用户足够的方便,同时也会引入更多的问题,这会让一些人非常容易地带走一个硬盘数据。除此之外,这会让一些重要的东西更加小心,当虚拟化一些应用,这些应用把一些数据放在临时文件或者其它本地存储中。

4、成本差异

好的企业通常会通过一些场景来决定针对它们环境更好的虚拟化解决方案。这包括考虑许可费用成本、实现费用以及硬件/软件成本。比如,实现的成本会根据转移至下一代服务器、存储、应用工程等等的成本而有所不同。而且,如果应用级别的改变是需要的,成本就要考虑。作为一个通用的规则,如果包含功能或者用户可以接受的级别测试,ROI就会很快消失。

另一个考虑就是所用硬件的类型。虚拟高密度的物力架构,比如刀片,会减少服务器的数量,但随之而来的附加散热系统成本可能会减少你的真正受益。同样地,使用大节点以及大的垂直型服务器提供了很高的可测量性以及效率,但是却需要很高的成本。而机架式的服务器相对简单并且易于部署,但是因为它们共享更少的硬件组件,因此它们在提供经济规模方面会很有限。

5、退款模型(资源管理)

虚拟化方面一个非常重要的并且通常不被期待的问题就是缺乏一个可行的退款模型。这也就意味着,虚拟环境必须被设计为它们不会相互交叉。如果没有一个退款模型,就需要你的解决方案提供一种方式来获得精确的使用信息来确保计算资源的平衡。

6、结论

浩瀚的虚拟化技术通常让泥做出一个正确的选择变得很难,并且是一个很复杂的事情。因此,掌握一些办法来分析影响虚拟化的主要因素以使你的业务可以避免大的失误。而且,做一些假设的场景来分析商务以及技术的限制——从安全到负载,使得你可以作出更好的决策,这最终决定着你在当前这个复杂的状况下是否可以成功。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑