应该如何配置服务器的BIOS值以允许通过hypervisor进行电源管理?
虚拟化技术极大地提高了服务器的使用效率,但是其并没有降低对于系统电源的管理需求。像VMware ESXi这样的hypervisor可以代替操作系统对服务器的电源进行管理,确保使用“虚拟化监控”的电源管理可以在主机服务器没有达到客户端负载的***值时,降低系统的电源使用量。大多数情况下,在启用hypervisor控制之前需要仔细检查服务器的BIOS设置。
由操作系统进行控制。通常,在BIOS中配置电源计划或者电源管理选项可以允许“操作系统”进行控制。这个设定通常位于BIOS电源管理选项菜单下。因为hypervisor可以有效地代替操作系统的作用,可以直接控制服务器的节能特性。如果BIOS被配置为使用“BIOS控制”电源管理,hypervisor和传统操作系统就不能控制系统电源了。然而,BIOS并不支持虚拟化,由BIOS控制的节能特性也许会对系统和负载的表现产生意想不到的影响。
启用所有可用的C-state。现在的处理器都提供了多种空闲状态,称为C-state,其定义了当处理器处于空闲时,需要节省多少能源。按照处理器型号的不同,C-state的准确数值也不尽相同。这个配置通常位于高级电源管理选项子菜单。在服务器BIOS中启用所有可用的C-state是一个不错的选择,可以允许hypervisor将空闲进程置于C1状态,而进程自身可以决定是否使用程度更深的C1E(中止)状态。如果有更深的C-state可用,比如C3和C6,也可以考虑使用软件来控制这些状态,因为如果处理器没有进行任何有用的工作,这样就可以关闭空闲的处理器,实现虚拟状态下的零电源供应。但是***让hypervisor来做出决定,而不是BIOS。
避免间接电源控制。一些服务器提供了允许hypervisor直接通过BIOS控制服务器电源的技术。这种技术通常被称之为处理器时钟控制或者协作电源控制。当开启这种特性时,hypervisor和BIOS通过合作来决定处理器的***操作状态(比如***时钟频率)。某些hypervisor和固件版本的组合可能不支持这种特性,可以在BIOS中将其禁用。如果你想要允许这种特性,评估服务器的长期稳定性和确保hypervisor和固件保持***版本就变得非常重要了。
需要记住,一次只能更改一项电源设定,并且将所有对BIOS进行的改动写入文档。这种方式允许IT员工快速定位由上次BIOS改动而引起的系统稳定性和性能问题,在花费最少排错和宕机时间的情况下,将有问题操作进行回滚。