Hypervisor如何控制服務器電源消耗
應該如何配置服務器的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改動而引起的系統穩定性和性能問題,在花費最少排錯和宕機時間的情況下,將有問題操作進行回滾。