如今,很多服务器广告上都宣称自己的产品如何如何节能,毫无疑问,随着技术的发展,广告上所说的节能指标是可以达到的,但是服务器需要与操作系统、节能软件(在负载平衡的状态下来控制使用哪一内核而哪一内核停工)相协调。为了探寻如何调优服务器、操作系统和管理软件之间的关系,我们分别用Windows Server 2008和Linux在不同服务器上进行了测试。
在这一测试中,我们将能耗作为判定是Windows Server 2008还是Linux系统才是真正更"绿色"操作系统。随着能源的价格越来越高,与操作系统相配合上市的节能装置将在企业的节能计划中占据核心位置。
我们采用Windows Server 2008操作系统的企业版、红帽的Linux (RHEL) 5.1和SUSE Enterprise Linux 10 SP1在四台通用1U服务器–一台是戴尔的服务器,一台是IBM的,还有两台是惠普的–上进行了多次能耗测试。测试结果显示Windows Server 2008在少量测试中能耗略少,而红帽的Linux (RHEL) 5.1操作系统则在测试中显示出最大节能量。
Windows和Linux操作系统设置的变化(选择更高能效的服务器还是选择性能更好的服务器?)对整个服务器能耗产生了影响。但是还有其他众多因素会对能耗产生影响,比如你的服务器的工作负载、你是否采用了最新虚拟机系统管理程序来支持单一物理服务器的多操作系统。
如何一种测试的优势将随着操作系统与先进的服务器芯片的同步发展而逐渐消失,而当前出于节能的目的将操作系统与应用软件进行更紧密连接的附加技术已在业内流行。
部分当前绿色操作系统的困难在于操作系统和应用软件的最优连接,以使系统消耗的能源更少但却不影响其对于应用软件的性能支持。
在我们的测试中,我们发现CPU是节能的核心技术部件,其是实现操作系统协助减少服务器能源消耗的关键技术。当前仅有IBM x3550和HP DL-360 G5实现了最理想的能源节约。在我们六周前进行的测试中显示:HP DL-160和Dell 1950服务器需要进行部分升级以配合Windows 2008和Linux 的功能。
而要将企业服务器转变成绿色服务器的确不是件容易的事。
CPU节能
无论是哪款操作系统,Windows或是Linux,节能的最佳形式是控制CPU以实现负载量为零期间服务器停止运行。使硬盘进入待机状态是另一实现Windows操作系统服务器节能的主要方式。
尽管Linux桌面系统可以采用Advanced Configuration和Advanced Configuration的规格–用于笔记本电脑而非服务器–而红帽和Novell尚未在我们测试的服务器上实现此功能。
一些芯片有自动降低频率的功能,而其他(特别是2007之前的已过时芯片)芯片通常在整个运转周期都全速运行。仅在过去的三年中英特尔、AMD、Via Technology和其他厂商就发布了CPU转速在快(耗能较多)和慢(耗能较少)之间进行循环的x86服务器处理器。
用于测试的系统是与英特尔Xeon多核CPU–可实现CPU自动降频,但是正如我们之前所说,服务器的BIOS和固件必须升级到最新才可支持这一技术。IBM x3550和HP DL-160服务器只装载了一个的四核CPU,而Dell 1950和HP DL360G5服务器则每个装载了两个四核CPU。
在我们测试的四个系统中,降频可切实节约能源,但是系统中众多其他电子元件仍处于运行状态,因此仍在消耗能源。因为系统必须响应服务器应用软件的需求,其至少需要保证管理应用软件、网络和其他外围服务器需求的元件正常运行。这一最少能耗量是在停止运行状态(除了部分必要元件运行外)下的测试结果。
从节能的角度考虑,操作系统必须使CPU减速以达到这一最小能耗状态,Linux和Windows操作系统均实现了这一技术。然而,这是Linux的一个tickless版本,其显示出了节能的特性。系统的时间分隔是操作系统用来进行运行排列的,而每一个都会打断CPU运行。当前认为Linux内核的tickless版本对于CPU的中断次数减少,但是并不是我们所测试的Linux所发行内核产品的一部分,尽管未来这一附件将并入红帽和SUSE的产品中。
选择何种级别的服务器即可保证"绿色"
在测试系统装配和运行之前,我们与Novell/SUSE,红帽以及微软谈论了各自的绿色系统设计。
Windows Server 2008和Windows Vista节能模式从本质上看是一样的,都是通过实现系统减速,增加休眠区域,特别是减少了CPU和硬盘的能耗而实现整体节能。这些模式结合Advanced Configuration和Power Interface V3,更多的是用于个人电脑而非用于服务器应用软件。
对于Windows系统的节能有三个解决方案–能源节约,平衡和提高性能,具体方案取决于Windows 控制台的功率设置选择。这些选择也可通过Active Directory群组政策强制执行。一个项目,powercfg.exe也可协助建立高度细节化性能政策设置,但是在实施过程中需要一直改进,这已经超过了此项测试的范围。
我们选择测试Windows的能源节约(Windows Power Savings)和高性能(High Performance)这两个节能方案,因为其可提供Linux系统下最高能耗参数可比性。
Linux 2.6内核(与RHEL 5.1和SUSE Enterprise Linux 10一起上市)的节能选择重心放在通过一个被称为cpufreq的内核模块来减慢CPU转速。
我们可以首先在所有节能模式(由cpufreq模块支持)下测试所有服务器以确定那一款服务器是对我们的测试最适合的。我们为减速节能测试选择了性能最好的,而为能源节约模式选择了需求量最高的。
我们没有选择保守模式,因为其为服务器引入了随机的非必要停工,24/7的运转服务。同时我们没有选择能源节约模式因为其减缓了处理器速度,并且减缓了所有组件的运行速度
如有需要,Linux的cpufreq内核模块和Windows的动力设置可以转为动态,尽管我们在测试过程中未进行更改。
我们选择了两个测试以测量能耗。第一项测试是一台服务器空转测试:每个操作系统和硬件组分别在运行模式和每个操作系统均处于节能模式下空转四个小时。第二项是服务器运行测试:测量负载状态下的能耗,在四个小时的测试中,分别在运行模式和节能模式下,我们持续给每台服务器和操作系统组发送电子邮件。
运行测试采用了电子邮件测试工具给服务器和操作系统组持续发送电子邮件的方式。两个Linux发行版本中,我们采用sendmail/procmail作为有一千个用户的邮件传输服务器。我们在Windows 2008 Enterprise Server Edition企业级服务器版本下安装了Microsoft Exchange Server 2007,同样引入了一千个用户,用同样的方式采用测试工具发送邮件。我们将操作系统和应用软件选择采用的内核数目设置为缺省。
测试结果概述
采用IBM x3550、HP DL360G5和Dell 1950服务器,我们在闲置和运行两种状态下测试了两次:一次是设置为高性能模式;一次是设置为节能模式。对于HP DL-160G5服务器,我们无法实现其在最大节能状态下运行,因为每当我们调节到节能模式,服务器就濒临崩溃。惠普称这一问题在测试发布时会得到解决。
处于闲置的众多状态中,Windows Server 2008消耗的能源略高于同一台服务器上Linux系统消耗的量。唯一例外的是当Windows Server 2008运行在节能模式下的戴尔服务器上,其消耗的电能比Linux系统少3%。
我们已经注意到在大多数情况下,RHEL比Windows Server 2008系统节约更多的电能,其也比停工模式下的其他Linux系统消耗更少电能。
在运行测试中,Windows Server 2008运行在戴尔服务器上,节能模式下,平均消耗的电能比运行于同一台服务器上的Linux系统高出7%。但是在IBM和HP DL-360G5服务器上运行时,Windows Server 2008消耗的电能则与在同一台服务器上运行的Linux消耗的电能差不多。
当运行在高性能模式下时,Windows Server 2008消耗的电能比Linux所消耗的量多11%。这说明,Windows Server 2008在HP DL-160G5服务器上的能耗等级最低,平均消耗电能比Linux系统低6.5瓦。
对服务器的影响
服务器制造商给我们的测试提供了1U的服务器,但是有多种类型的CPU和磁盘结构。整体来看,从节能功率来看,节能最多和最少的服务器差距并不令人吃惊。
我们并非让系统处于内核最优状态,而是更关注操作系统的细节问题。细节问题显示测试中所有内核在停工模式下均出现了运行情况。
IBM的x3550是最节能的一款,无论是在CPU主频方面,还是在动力消耗方面。在闲置状态下,无论是在高性能模式还是节能模式中,三个操作系统的节能区别低于两瓦,在运行测试中,系统和性能相协调的情况下,除了Windows Server 2008所消耗电能为87.8瓦,其他两个系统的情况为:SUSE消耗的为79.6瓦,而RHEL消耗的为78.3瓦。
双路四核Dell 1950服务器能耗是最大的,但是由于核数多,其处理能力高于其他服务器。在静止测试中,设置与性能相协调,红帽产品不合乎逻辑地消耗了比其在节能模式下更多的能源,但是同时,随后的结果是合乎逻辑的,并且与此设置下预计的情况相同。
在静止测试中,HP DL-160没有显示出很大的区别,这使得Windows 2008 Server由于性能最好而在运行模式的测试中获胜。
总结
微软,红帽和Novell/SUSE每家公司都在广泛宣传其节能和绿色产品。然而,我们必须努力使得其他产品与固件的发展水平相协调,BIOS和其他组件的升级是必须的,这样才可达到测试中所实现的节能量。与服务器的最优节能状态相协调可更好地实现节能的目的,但与此同时,一个新的问题出现了:冗余服务器的管理原则要求我们控制结构变量的复杂度。
从我们的测试结果可以看出,Linux系统赢得了更"绿色"的称号,比Windows Server 2008系统的节能能力高出12个百分点。但必须指出:我们测试结果是在特定硬件环境的限定下进行的。