SystemCenter2012SP1实践(32)PRO:动态优化与电源优化

发布于 2013-07-23  3053 次阅读


在机房管理中,一个比较容易让老板关注的地方就是机房的电量消耗,如果说在IDC这种环境中,能够通过一些手段来节约电量,那么对企业来说,会很有竞争优势,因为这是一种直观的节省成本的方式。

相对节省电量而言,另外有一种需求是这样的,假设手里有三台宿主机,可能A主机上的负载很高,主机不堪重负,响应速度和IO急剧下降。而剩下两台机器却闲的要死,上面什么也没有,这很明显也不符合能源最优和合理利用资源,比较理想的情况是,当系统(SystemCenter)发现A主机特别忙的时候,主动将一些虚拟机从A移动到B和C,来分担他的压力。想想我们在网络方面一直使用的一个东西叫什么?负载均衡、F5、LVS对吧?其实SystemCenter也能在系统层面实现这种功能。

==================我是分隔线==================

好了上面废话了这么多,也该进入正题了,距离上次更新技术类博客,得有一个月多点的时间了,这段时间内,九叔喜添皇子,偷个懒也是没有办法的事情,外带手头工作太多,关于PRO的内容就拖到了现在。

==================我是分隔线==================

什么叫做PRO?PRO其实是在SCVMM2008R2中有的概念,其实这是两个概念,分别是"PRO CPU 使用率"和"PRO 内存使用率",在SCVMM2008R2中,这两个PRO(性能和资源优化)做的工作就是在我们需要更多运算功能时自动开启宿主机,而当资源过剩时,自动关闭宿主机以节约电力。

尽管在之前的博客中,我认为PRO这种实时迁移的动作,会因为总会有那么几秒钟的中断,而不被企业内部采纳。但事实上观点总是会变的,最近的运维中,我发现PRO在一定的环境和背景下,存在被企业内部使用的可能。

我们来看看实验环境,首先这里有三台宿主机被群集化,从这张图种我们可以看到,概述中右下角的节省电力为0,这是因为PRO没有生效。

PRO在WindowsServer2012中被拆分为两个功能,分别是动态优化电源优化。尽管现在称呼它为PRO不太准确,但至少这种称呼比较简单。

动态优化

首先看一下如何优化,我们在群集主机上右键点击,可以选择优化主机,注意,基础条件是群集,如果没有群集,那么不可能有这个选项。

假设你的手里有50台机器,只有一组群集,那么动态优化也仅仅只能针对这个群集生效,其他主机是不可能被动态优化的。

点击优化主机之后,我们可以看到群集会自动帮我们计算,有哪些资源可以被优化,也就是说,哪些虚拟机可以从A实时迁移到B,或者从B迁移到C。而其对应的PS命令也很简单,我们可以看到其分为两个部分,一个是列出虚拟机列表,另外一个则是开始优化。

上面这两个环节只是让你体验一下优化是怎么回事,当然生产环境中我们不可能手动去点这个,正常的环境应该是设置一个阀值,由SystemCenter2012SP1去做这个操作。

我们在主机组,注意是主机组,而不是群集上右键点击,选择"属性"。主机组是一个集合,可以包含多个群集以及多个普通主机,重复一遍,动态优化和电源优化不会针对非群集主机生效。

接下来我们开始设置动态优化的属性,开启这个功能很简单,仅仅就这一个选项卡就可以搞定。

这里有三个部分需要设置:

1-以什么标准去优化?这里有高、中、低三个阀值来选择。意思是这样的,假设A主机现在消耗内存2G,B主机3G、C主机5G,而这个时候,A主机突然增加了两个20G内存的负载,那么A主机就会自动迁移一个20G的负载到B或者C主机上。入侵的高中低是检测这个变化值的大小,越高越敏感。如果说你开启这个功能,那么默认的中就可以了。

2-多久一次去进行这种检测?在第一个红框处,我们可以对这种检测行为进行时间的限定,随意即可,同时要考虑到主机负载的问题。

3-到达什么阀值进行迁移?在第二个红框处,我们对CPU和内存、磁盘以及网路进行条件限定。这三个条件是限制动态优化的唯一条件。设置好后即刻生效。

我们来看看,在作业中,这种行为是如何体现的。这种操作好就好在是全自动的,不需要人为参与。

电源优化

刚才了解了动态优化,那么自然要了解一下它的反向操作,电源优化。动态优化的需求是因为,虚拟机太多,单台主机无法支撑业务,所以需要分散一些业务到其他主机。而电源优化恰恰想法,是运行的虚拟机太少,单台或者少数几台就可以完成业务负载,不需要所有主机都开启。

同样,这都是通过阀值来调整的。在上上张图,我们可以看到有一个小小的选项,叫做开启电源优化,点击设置即可进入下面的这个界面中来。

这里只有两个部分需要关注,其一是阀值,当关闭主机后,剩下的主机资源不会特别紧张,依然保留在阀值之下,那么电源优化才会生效。其二是时间,默认情况下是全天开启的。但是我们知道,一台机器从关机到开机是需要一定时间的,这个事情不可能秒秒就完成,所以不建议全天开启电源优化,我们可以设定在晚上12点到第二天8点之间开启优化,那么至少也能关闭几台机器,节约些电量是吧?

挖了个大坑

电源优化看起来不错,能自动关闭宿主机,还能自动帮我们打开宿主机,很厉害是吧?但是其实这里有两个坑,限制了一些屌丝企业部署这套东西,总的来说,SystemCenter2012SP1部署PRO有两个门槛,都是需要投入到一定程度才能满足的门槛。

  1. 需要有带外管理卡,同时进行在主机上进行一些设置(选中某主机→属性→硬件→BMC设置)。关于这一点,由于我用戴尔的机器比较多,所以戴尔的带外管理卡叫做iDrac7,如下图所示,需要注意的是,要能实现开机关机,就得让远程管理卡独占一个网口,而这是需要额外购买许可证的,也就是Enterprise许可证,这个是需要额外花钱的。在iDrac6时代,则是购买一个硬件卡,到了7,只要用许可证激活即可。其他厂家都有类似技术,不知道名字是什么。

  2. HyperV群集至少4个节点,VMWare或者XenServer群集至少5个节点。低于这个节点数量,电源优化不生效。其实我觉得这才是一个真正的大坑,需要资金投入的大坑,通过查看资料,除了微软官方说明了这个问题,其他同学发布的关于SystemCenter2012的PRO都没有提到这个大坑。在这个标准之上,群集每多1到2个节点,可以关闭一台机器。举个例子是这样的

非HyperV群集主机

HyperV群集主机

可电源优化(关闭)数量

5-6

4-5

1

7-8

6-7

2

9-10

8-9

3

3、企业中使用动态优化的门槛比较低,建议大家可以用一下,不要因为我们害怕重要的业务用机被动态优化随时移动来移动去,造成短时间的中断而害怕。因为我们可以设置,让某一台虚拟机不受动态优化的控制,这样关键业务可以在某一台宿主上呆着不动,除非遇到故障情况触发故障转移。只要达成这样一个简单的前置条件,那么企业中使用动态优化没有任何问题。

原创文章,转载请注明: 转载自奶油九叔

本文链接地址: SystemCenter2012SP1实践(32)PRO:动态优化与电源优化