每个人都在谈论虚拟化。根据宣传,虚拟化将引发 IT 革命(众所周知),优化稀缺资源,并节省每个人的钱。">服务器虚拟化有望成为 10 年内最重要的发展之一。但是,虚拟化已经存在了很长时间,而且 IBM 已借助 IBM® System z® 和 Power Systems 平台成为这一领域的领导者。在过去几年中,System x® 和基于 Intel 的 x86 架构上的虚拟化技术已发展成熟并变得更加普遍。只要使用得当,虚拟化是 IT 工具箱中一个不可或缺的部分。毋庸置疑,虚拟化已有牢固的根基。
但每种技术都存在风险。管理不良的虚拟化可能导致应用程序运行得更慢,这可能导致最终用户厌烦和不满。IBM 为其部署在虚拟化环境中的产品提供了全面支持。或许由于它的普遍性和诱人的承诺,我们看到客户深受管理不良的虚拟化环境所害,导致他们未能获得任何承诺的收益。
这个由两部分组成的文章系列将通过具体示例探讨虚拟化的优缺点。在第 1 部分中,我们将从总体上解释虚拟化,尤其是它与 IBM Rational 软件的关系。我们将讨论管理良好的虚拟化环境的主要要求,展示 IBM® Rational® ClearCase® 和 IBM® Rational Team Concert 在配置不良的虚拟化环境中的行为的示例。我们将提供正确管理虚拟化基础架构的建议和技巧,总结我们测试 Rational 软件和为客户提供咨询的经验。
第 2 部分将继续讨论建议和技巧,包括故障排除和特定于供应商的示例。
关于云的预测
虚拟化通常与云技术密不可分。认识二者的关系至关重要。最宽泛地讲,云技术致力于以服务的形式提供服务器功能。虚拟化是一项管理提供该功能的服务器资源的关键技术。
我们还需要区分公有云和私有云。简单地讲,私有云是隔离的,可在一个公司内管理和托管,有时也可以在外部管理和托管。私有云受防火墙、身份验证、VPN 等保护。公有云通常没有这么安全,实际上它处于一个平面视图中,可由任何人共享和访问。许多流行的公共服务都是 “在云中” 提供的,比如电子邮件、文件和照片存储。公有云模型吸引了一些组织,因为在理论上,组织或个人仅需要为他们所需的内容付费,服务始终可在任何地方享受,而且云提供商处理了大部分 IT 管理任务。
我们发现,一些 IBM Rational 客户对公有云环境的不稳定性和安全问题呲之以鼻。他们喜欢在内部托管、管理更紧密的私有云方法,在这里,他们可以控制服务器资源分配的所有方面,设置特定的服务质量目标,并采用成熟的高可用性和灾难恢复解决方案。
但是,一些客户喜欢基于 IBM 云的解决方案,因为它们是使用软件开发和托管战略最佳实践来设计和管理的 (IBM SmartCloud Enterprise)。IBM 也在私有云中(通过 IBM CloudBurst)提供了 Rational 软件。
基本概念
简单地讲,虚拟化允许将一个较大的服务器(主机或虚拟机管理程序)分离为更小的服务器(Guest、客户端或虚拟机),并共享组合的资源池。众所周知,大多数服务器都不会始终以全容量运行。因此,为什么不共享和组合它们?两个平均剩余 25% 的容量的服务器可变成虚拟机 (VM) 并托管在单个虚拟机管理程序上,这样该虚拟机管理程序就拥有平均大约 50% 的容量。当然,主机操作系统和虚拟机管理程序软件占用了大量的开销,而且还涉及到其他细节。
主机通过软件或模拟来管理客户端的资源。一般而言,虚拟机中没有任何信息能表明它实际上是虚拟的。在大多数情况下,在虚拟机上安装软件的管理员无法确定他们是否在使用虚拟服务器。最新的创新,比如内置于虚拟机管理程序的芯片组中的虚拟化技术,允许更准确地使用优化过的方式来处理硬件资源,比如外围设备驱动程序。
Rational 视角下的虚拟化
IBM 支持虚拟化,因此 IBM Rational 产品受虚拟化的服务器支持。但是,我们坚信虚拟化的基础架构可适当地进行管理和监视。至关重要的是理解您的虚拟化基础架构如何使用关联性 (affinity) 和过度承诺 (overcommitment),而且还要确保您使用关联性和过度承诺的方式可获得 IBM Rational 软件的最佳性能。
何为 “关联性”?
关联性(Affinity)(也称为entitlement、pinning 和dedication)是将一个虚拟机上的一种或多种资源(例如内存或处理器)专门用于虚拟机管理程序上的相应资源的能力。主机会在虚拟机需要时分配资源。关联性可确保专用于该虚拟机的已请求资源在虚拟机需要时始终可用。
请记住,相同主机上的所有虚拟机都会共享系统资源。
过度承诺 是指虚拟镜像资源分配总量超过硬件的物理资源(一定要计算虚拟机资源)。为了满足虚拟机的峰值需求,虚拟机管理程序可从其他虚拟机获取资源。有时,所有虚拟机的组合需求可能超过虚拟机管理程序的实际资源量。有时,过度承诺可能导致主机上的所有虚拟机都受到影响。
虚拟化的 4 个维度
与任何可配置的技术一样,虚拟化也需要进行权衡。从 Rational 产品角度讲,如果使用虚拟化,我们建议您留意 4 个重要维度。这些维度或许是任何服务器最重要的特征:
CPU 和内存
磁盘输入/输出 (I/O) 存储 网络
表 1. 虚拟化的 4 个维度
最差的(未管理的)虚拟化特征 最佳的(受管理的)虚拟化特征 CPU 芯片组没有 VT 或 V-chip 支持 共享资源池 没有授权的、有保障的或有优先级的调度 其他 VM 的容量未知 vCPU 是物理 CPU 的一小部分 模拟超线程或多线程(非 Nehalem 类) 芯片组具有 VT 支持 CPU 关联性允许 VM 具有专用的 vCPU 在与物理 CPU 相等的水平上分配 vCPU 内存 内存和 CPU 不在同一位置 过度承诺导致过量交换(包括跨其他 VM 交换) 设置了关联性 内存和 CPU 在同一位置 磁盘 I/O 和存储 具有低 IOPS 的单一的本地 SATA 或 IDE 磁盘 本地 RAID,但驱动器槽有限 访问相同存储的通道数量未知 光纤通道连接的存储 文件存储 网络 一个 1G(或更少)网络端口由所有 VM 共享 专用网络端口 10G 或更好的网络 链接聚合