.imgleft1 { float: left; margin: 5px 25px 10px 0px; width:337px; font-weight: normal; font-size: 14px; color: #003399; font-family: "Segoe UI", Arial; } .imgleft2 { float: left; margin: 5px 15px 10px 0px; width:474px; font-weight: normal; font-size: 14px; color: #003399; font-family: "Segoe UI", Arial; } 绿色 IT 用于生成“Hyper-Green”虚拟化服务器系统的框架

Adam Bogobowicz 和 Dave Ohara

内容

步骤 1:了解服务器负载
步骤 2:规划高利用率
步骤 3:节约能源
步骤 4:消除浪费
步骤 5:识别 Hyper-V SKU
步骤 6:规划、部署、监控
步骤 7:查看林,而不是树
总结

各种规模的组织都在努力提高计算资源的效率,借此削减成本。虚拟化是一项标准的“绿色 IT”技术。但是如何让您的节能工作不仅仅等于“我使用虚拟化来整合服务器”呢?

利用服务器虚拟化,多个操作系统可以作为虚拟机 (VM) 在一台实体计算机上运行,从而整合多台利用率较低的服务器的工作负载。但是您真的能够实现比其他企业更高的能效比吗?

生成“Hyper-Green”虚拟化服务器系统的过程重视采取更多必要的措施,进一步降低能耗。您可以从小型部署开始:就像您在家里,将白炽灯更换为荧光灯一样。下一步类似于关灯,自动设定温度,以及使用 Kill-A-Watt 等设备来找出浪费能源的活动和组件。具体的技术远不如认清形势、决心改进的态度来得重要,而对提高效率、减少浪费的热情关注则会持续产生效果。

在 Warren Buffett 的传记 Snowball 中,他探讨了“内部记分卡”的构想,这种方法可以衡量您在哪些方面达到了个人目标,在哪些方面有所欠缺。内部记分卡衡量的是您做的是否正确,而不会衡量您做的是否是外部力量或暗示要求您做的事。在绿色节能服务领域中,正确的行为关注的是能效比,而不仅仅是效率或耗能。Microsoft 虚拟化网站可以测量虚拟化前后的能耗,然后利用当地的能源价格来计算节约量,以此帮助您记录节能效果。通过专注于节约能源成本,您就可以保证虚拟化项目的成功。

本文将介绍七个步骤,按照这些步骤可以生成远超同行的“Hyper-Green”服务器虚拟化系统。此外,本文还会估算这七个步骤中的每一步在创建“Hyper-Green”虚拟化系统时所实现的节约百分比。即使您还没有准备好进入“Hyper-Green”领域,这几个步骤仍不失为一个不错的框架,帮助您了解自己在通往高能效计算的路上取得的进展。

步骤 1:了解服务器负载

什么样的服务器最适合虚拟化?双路或四路处理器?2 GB DIMM 或 4GB DIMM?本地驱动器或网络存储?选项如此之多,使得做出正确的决定如此困难。而测试可能会让您更加困惑。

想想汽车吧。您的驾驶方式和路况对节油性有重大影响。对于服务器来说,各种环境和工作负载同样也有重大影响。有些虚拟化测试实验室选择服务器负载时,会尽可能展现特定产品的最大节能潜力。即使实验室通过不同的负载和硬件尽量做到客观,也不可能完全再现您的服务器环境。您组织内的能耗与实验室所得出的能耗以及其他采用相似设备却具有不同负载的企业中的能耗完全不同。因此,若要切实了解您自己的能耗和节约,您需要确定您自己的负载,并基于自己的情况来评估策略。

多数人关注的都是虚拟化技术的效率,但有时候,虚拟化技术的速度同样也会带来节约。测试和开发通常是首先利用虚拟化技术的业务职能。使用虚拟机,开发人员可以在准确模拟实体服务器和客户端运行情况且安全、独立的环境中创建并测试各种方案。在这种方案中,使用虚拟化的最主要好处之一是以下操作的速度:设置好环境,然后从全新系统开始;或者回到早期检查点,然后重复一系列测试。

利用 Microsoft® 评估与规划 (MAP) 工具包,您可以轻松评估您当前的 IT 基础结构,并确定适合您的 IT 需求的 Microsoft 技术。MAP 是一款强大的清点、评估和报告工具,无论是小型还是大型 IT 环境均能安全运行,而且不需要在任何计算机或设备上安装代理软件。

节约:考虑以下几种迁移到虚拟机技术的方案:第一种方案,迁移之后得到随机安排、非常拥挤的虚拟机 (VM)。第二种方案,迁移经过仔细规划,可产生井井有条的部署,并且留出了扩展和变更的空间。如果您将 VM 迁移工作外包,您希望使用哪种方案?采用第一种方案的优势是价格便宜,因为需要的计算机少,并且将所有硬件都发挥到了极致,但是随着时间推移,您可能会经历比实体计算机更糟糕的境况。从长远来看,如果您提前了解服务器负载,测量如何达到 SLA,并且根据这些信息来规划迁移,那么您有可能使能效比提高 20%。

步骤 2:规划高利用率

过度部署硬件的一项好处是您几乎不会遇到资源限制,因为您拥有充足的处理能力、内存、存储空间和网络容量。而对于虚拟化服务器整合,组件约束就会变成一个问题。您必须评估是否有足够的内存来运行 VM,而不会使磁盘超负荷;而且您必须考虑是否有足够的存储空间来容纳 VM 和所需的备份。

而通常在高利用率的情况下,您在选择硬件时就没有足够的自由度。IT 部门为何会选择部署超过必要数量的硬件(除了这么做简单易行之外)的原因就是:这是保证应用程序正常运行的一种安全方法。但是现在,如果从关注节能的角度看,就会发现有太多应用程序都要部署到专用服务器上,问题是一旦这些应用程序未被使用,这些服务器也会保持空闲。

为了满足维护和性能要求,您应该考虑创建专用的服务器角色。例如,您可以创建 Virtualized SharePoint Servers 类别,用于简化维护和安全工作,同时使您能够优化平台上的性能,而不用考虑其他任何应用程序类型。如果您遇到性能问题,您就知道,不是由于某个服务器角色影响另一个角色的性能而造成的。您可能无法向使用混合 VM 角色时那样实现极高的密度,但请记住,未来您将需要移动 VM,以获得更高的性能或更多的存储空间。如果您使用专用的服务器角色,就很容易做到这一点,而且也更安全。

性能和资源优化 (PRO) 是 Virtual Machine Manager 的一项功能。它可以帮助您确保虚拟机基础结构以理想而高效的方式运行。PRO 使用管理员设置的规则和策略,动态处理性能不佳的状态以及虚拟化硬件、操作系统和应用程序的故障。

节约:您可能还没有准备好在超高利用率水平下运行您的系统。因此,您可能选择在每一台计算机上运行数量较少的 VM。但是,如果您在这个领域前进一步以接受更高的利用率,您可以降低大约 10% 的能耗。有一些监控工具可帮助您提高利用率,而不会带来太多的风险。

步骤 3:节约能源

电源管理本来是笔记本计算机的一项关键功能,而现在又成为服务器处理器的一项标准功能。但是,Hyper-V 虚拟机禁用了电源管理功能。假设一台计算机上有多个 VM,您就很容易理解,为什么不同的 VM 需要处于不同的电源状态。因此,VM 禁用了处理器电源管理功能。这是不是意味着处理器电源管理无关紧要呢?不是。Hyper-V 允许根分区控制整个系统的电源管理策略,因此仍然能够节约能源。任何 VM 电源策略设置都没有效果。这是虚拟化环境的一项副作用,因为 VM 不会与实体硬件交互。

Microsoft Windows Server 2008 R2 将提供新功能,有助于节约更多能源。R2 采用的能源计量和预算功能与硬件支持相关联,可以提供工具,帮助您设置能耗目标,按照这些目标衡量您的进度,以及在整个环境中节约能源。R2 还提供了其他改进功能,例如“智能计时器标记分发”,使内核和处理器能够在睡眠状态保持更长时间。(计时器中断由单一处理器处理。)

性能优化可以提高系统的响应速度以及节能效果。尽可能减少后台工作,例如对 VM 利用合成 I/O 和计时器标记,从而减少中断流量,并确保将处理器电源管理 (PPM) 的效果发挥至最大。您应该按照 WHDC 网站上的 Windows Server 2008 性能优化指南,对虚拟化的系统执行性能优化步骤。

每一种硬件组件都有其能源占用量。内存能耗仅次于处理器,尤其在您考虑 VM 解决方案所需的 DIMM 和内存量时。为了测量能耗,您应该创建一个电子表格,用来跟踪各个组件的能耗。而更好的做法是,要求您的供应商提供一个电子表格,列出服务器中各个组件的能耗。这可以帮助您很好地了解供应商是否能使用更低能耗的处理器、更少的 DIMM、硬盘驱动器和电源,帮助您实现更高的能效比。

节约:Microsoft 估计您在使用电源管理后可以节约 10% 的能源。您还可以禁用基于 BIOS 的电源管理,改为使用操作系统电源管理,从而实现最大程度的节约。

步骤 4:消除浪费

Windows Server 2008 拥有“服务器核心”安装选项。“服务器核心”选项提供承载部分服务器角色(包括 Hyper-V)所需的最低限度的环境。它所使用的磁盘和内存更少,所呈现的攻击面也更小。因此,强烈建议您为 Hyper-V 服务器使用“服务器核心”安装选项。

在根分区中使用“服务器核心”选项,会给 VM 留下更多内存。但是,请注意,服务器上安装的服务器角色过多,可能会对虚拟化服务器的性能产生负面影响,尤其是在它们需要占用大量 CPU、内存或 I/O 资源时。建议尽可能减少根分区中的服务器角色,这样还会带来更多好处,例如减小攻击面和降低更新频率。

尽可能减少空闲 VM 中的后台活动,从而使 CPU 周期能够用于其他 VM,或者节省 CPU 周期以降低能耗。Windows 来宾处于空闲状态时,所占用的 CPU 资源通常不到一个 CPU 的 1%。此处提供了一些最佳实践,可以最大限度地减少 VM 的后台 CPU 使用率:

  • 安装最新版本的 VM 集成服务。
  • 通过 VM 设置对话框删除模拟网卡(而使用合成适配器)。
  • 删除不使用的设备(如 CD-ROM 和 COM 端口)或将其介质断开连接。
  • 使用 Windows Server 2008 作为来宾操作系统。
  • 根据需要禁用、中止或分阶段执行周期性活动,例如备份和碎片整理。
  • 检查默认启用的计划任务和服务。

如果您想将性能发挥到极致,该怎么办?在 Anthony Voellm 的“All Topics Performance”博客中,他建议您将 VM 配置到非一致访问 (NUMA) 节点上。Voellm 说:“Hyper-V 中没有多少性能开关,这是设计使然。我们真正寻求的是开包即用的性能。但是,如果您希望将虚拟机 (VM) 的最后一点性能都压榨出来,并且在网络和存储方面做出了不错的选择,您可以考虑设置非一致访问 (NUMA) 节点。”

节约:在这个领域,所能实现的节约较少。但您仍然可以获得 5% 的节约。

步骤 5:识别 Hyper-V SKU

您的 VM SKU 是什么?什么样的配置最适合您?您的现有硬件中有多少可以用作虚拟机服务器?与购买新设备相比,效果如何?Hyper-V 服务器在硬件方面的注意事项通常与其他基于 Windows Server 的服务器类似,但是 Hyper-V 服务器需要占用更多 CPU、内存和 I/O 带宽。当您整合服务器时,应该重点考虑能效比,而不是 CPU 指标。

您关注的是选择双路还是四路服务器?实际上,应该在处理器之前考虑一下内存。您是由于处理器利用率较低而进行整合,因此现在为什么还要关注处理器?为了让 VM 运行顺畅,您需要的是内存。因此,请按照如下顺序评估各个组件:

  • 首先,考虑内存量
  • 其次考虑每 GB 的成本
  • 然后考虑每 GB 的能耗

还要考虑,不同的内存配置会产生不同的成本以及不同的能耗。

正确的内存规模 VM 内存的大小应该与在实体计算机上的服务器应用程序通常所需的内存量保持相当。您必须有足够的内存来处理预期的常规负载和峰值负载,因为内存不足会使响应时间大大延长,使 CPU 或 I/O 使用率大大增加。此外,根分区必须有足够的内存(至少要 512 MB)才能提供服务(例如 I/O 虚拟化、快照和管理),用以支持子分区。每个 VM 的内存开销可以参考这种不错的标准:第一个 1 GB 虚拟内存,需要 32 MB;以后每增加 1 GB 虚拟内存,就增加 8 MB。当您计算实体服务器上能够承载多少 VM 时,就应该考虑此因素。内存开销会随着分配给每个 VM 的实际负载和内存量而变化。

CPU 性能和统计 为了实现最佳 CPU 性能,需要在每个逻辑处理器内核上规划一个虚拟处理器。如果您需要超过 4 个虚拟处理器,则实体计算机正是适当的选择。Hyper-V 发布了性能计数器,用来归纳虚拟化服务器的行为特征,以及分解资源使用情况。Windows 中提供了标准的工具集用于查看性能计数器,其中包括性能监视器 (perfmon.exe) 和性能记录器 (logman.exe),这两款工具可以显示和记录 Hyper-V 的性能计数器。相关计数器对象的名称均具有前缀“Hyper-V”。

存储 I/O 性能 Hyper-V 在 VM 中支持合成和模拟的存储设备,但是合成设备通常提供的吞吐量、响应时间要好得多,所需的 CPU 开销也小得多。但如果能够加载筛选器驱动程序,并且该驱动程序可以将 I/O 重新路由到合成存储设备,则会出现例外。可通过三种 VHD 文件或原始磁盘来支持虚拟硬盘 (VHD)。存储硬件应该有足够的 I/O 带宽和容量,来满足实体服务器上承载的 VM 在当前和未来的需要。当您选择存储控制器和磁盘,以及选择 RAID 配置时,就应该考虑这些要求。将 VM 及其磁盘密度很高的工作负载放到不同的物理磁盘上,很可能会提高整体性能。

网络 如果您预期会有网络密集型负载,则虚拟化服务器就会因为拥有多个网络适配器或多端口网络适配器而获益。VM 可以分布到各个适配器,以便获得更好的整体性能。为了减少由 VM 产生的网络 I/O 的 CPU 使用率,Hyper-V 可以使用硬件卸载功能,例如 Large Send Offload (LSOv1) 和 TCPv4 校验和卸载功能。有关网络硬件注意事项的详细信息,请参阅文档“网络子系统的性能优化”。

Virtual Machine Manager 2008 配置分析器 (VMMCA) 更新 1 是一款诊断工具,可以对用作或可能用作 Virtual Machine Manager (VMM) 角色或执行其他 VMM 功能的计算机的重要配置设置进行评估。

您应该始终通过“Hyper-V 虚拟机管理程序逻辑处理器”性能计数器来衡量实体系统的 CPU 使用率。任务管理器和性能监视器在根分区和子分区中报告的统计信息并不能完全反映 CPU 使用率。但请注意,如果您不在根分区中使用 Hyper-V 时钟,则它们可以提供精确的结果。正如 Anthony Voellm 在其博客中所说:

“如果您在执行性能分析并且使用了性能计数器,请注意来宾虚拟机中的计数器不准确。您需要使用根分区中的 Hyper-V 虚拟机管理程序性能计数器来获得实体处理器的使用率。”

有关此博客文章的全文,请参见他的博客“Hyper-V:时钟说谎了... 您能信任哪些性能计数器?”。

fig01.gif

图 1 Visio 规划工具

节约:将虚拟化 SKU 与服务器负载相匹配,是您需要做出的最重要的决策。Microsoft 最近提出了一种策略:在开发和测试实验室中使用高端 4 处理器计算机,在生产中使用 2 处理器计算机。这种策略的原理是他们在开发和测试环境中会受到更强的能源制约,而实现更高的能效比是计划的一部分。由于将 SKU 与服务器负载相匹配,会对许多不同的领域产生广泛的效果,此步骤可带来高达 25% 的节约机会。

步骤 6:规划、部署、监控

这个主题可以专门写出一整本书来。但尽管本文空间有限,我们仍能指出一些资源,可以帮助您规划和部署解决方案,并且帮助您了解要在虚拟化环境中监控哪些方面。Microsoft Visio 发布了规划工具,用于配置虚拟化机架,然后监控服务器领域内的冷却系统。请注意,冷却服务器所需的能源量可能高达运行服务器所需能源量的 100% 到 200%。当服务器全力运行时,会产生更多的热量,并且会给冷却系统带来更大压力,因此在这种情况下,监控尤其重要。

Visio 规划工具(请参见图 1图 2图 3)是一种非常方便的资源。有关 Visio 规划工具的更多信息,请联机访问 Microsoft Visio 工具箱网站。

fig02.gif

图 2 Visio 规划工具

fig03.gif

图 3 Visio 规划工具

Microsoft 虚拟化网站可帮助您量化并报告您的虚拟化项目。该网站提供了一款工具,可报告您在服务器和冷却方面的能源节约量,而且会提供碳排放方面的报告。图 4 显示了 Hyper-Green 网站上提供的一种工具。当您将这些工具与您以前的计算(服务器负载数据、您需要的 SKU 以及应该将 VM 分配到何处)结合使用时,就可以评估能耗以及进一步节约的机会。

Microsoft 根据 Microsoft 企业工程中心及其 9 个 Hyper-V 实验室在 2008 年完成的工作,发布了案例研究。Microsoft 产品团队分享了这些案例研究的成果,并且发布了基于这些 EEC 工作的最佳实践。企业工程中心目前正在升级其程序,以便在整个实验室中加入能源监控。这项新功能可帮助组织继续研究最节能的硬件和软件,用于运行 IT 服务。

下面是三个已经发布的企业工程中心 Hyper-V 成果示例:

  • Hyper-V 的性能和容量要求”此文章介绍了一些测试,用于比较部署为 Hyper-V 主机上的来宾的 Microsoft Office SharePoint Server 2007 服务器与部署在实体计算机上的 SharePoint 服务器之间的性能差别。它还为在 Hyper-V 上部署 Office SharePoint 提供了一系列建议。
  • 利用 Windows Server 2008 Hyper-V 技术的 PeopleSoft 虚拟化”此文章介绍了使用新型 Windows Server 2008 Hyper-V 技术的 PeopleSoft 虚拟化的优势,以及如何在 PeopleSoft 环境中实施这种新技术。
  • 是否应该虚拟化您的 Exchange 2007 SP1 环境?”此文章解释了随着带有 Hyper-V 的 Microsoft Windows Server 2008 以及 Microsoft Hyper-V Server 2008 的发布,虚拟化的 Exchange 2007 SP1 服务器就不再局限于实验室内,它现在可以部署到生产环境中,并且能获得 Microsoft 的全面支持。

fig04.gif

图 4 Hyper-Green.com 虚拟化规划工具

节约:在研究撰写本文时,我们发现虚拟化项目中的很多领域自规划和推出时就已经出了问题。因此,准确规划和慎重实施应该耗去您 20% 的工作量,而且是实现节约的第二大机会,仅次于定义 Hyper-V SKU。

步骤 7:查看林,而不是树

如何才能知道您达到了 Hyper-Green 能效比目标?如果您使用合成驱动程序而不是模拟驱动程序,您的效率会更高,因为您使用的处理器周期更少,而实现的性能更高。但是,如果您基于 CPU 利用率来展示您在虚拟化方面取得的成功,则应该使用效率较低的模拟驱动程序来降低性能并提高 CPU 利用率。这种行为会让硬件和处理器供应商高兴,但却并不正确。

测量能效比。电源综合了服务器中所有组件消耗的能源,并且提供了一个总体指标来衡量服务器工作的努力程度。

在现在这种变化频繁的环境中,您采取行动的速度会带来不同的结果。如果您由于没有获得自己认为必须获得的全部数据而推迟了决策,您可以逃避责任,但是您也会浪费资金。相反,您应该主动面对风险,尽早尝试新技术,并且引领潮流。您的领先地位会给您带来竞争力。通过实施 Hyper-Green 策略,向他人展示他们能够节约多少能源。

节约:很难准确了解到何时需要采取行动以及何时应该等待信息,但是主动采取行动就像使用电源管理功能一样重要。尽管很难量化,成为“早期尝试者”会让您的收益增加大约 10%。

总结

您可能无法完成以下列表中的所有任务,但即使您只是完成部分任务,也比什么都不做强。下面汇总了这七个步骤,各步骤之和即构成了您的全部节约潜力:

  1. 了解服务器负载 - 20%
  2. 规划高利用率 - 10%
  3. 节约能源 - 10%
  4. 消除浪费 - 5%
  5. 您的 Hyper-V 服务器 SKU?- 25%
  6. 规划、部署、监控 - 20%
  7. 查看林,而不是树 - 10%

如果您认为您能节约 75% 的能源成本,那将 75% 乘以具体步骤的百分比,就能得到您的方案中能够实现的能源节约量预计。(例如,75% 乘以 10%“节约能源”等于 7.5% 能源节约量。)

您的一半节约将来自了解负载、做出良好规划以及确保您解决了正确的问题。如果您花时间来研究这七个步骤,您就会领先于其他被不必要的细节分散了注意力的人。

每一个步骤都应该根据您自己的总体计划进行调整。还可以修改结果,以便支持您的方案。毕竟,您的方案与其他任何人的方案都不一样,您成为 Hyper-Green 执行者的唯一途径是针对您自己的需要制定计划。