Ansible - 設定 Cisco UCS CIMC Fan Policy



前言

最近有個需求,需要一次安裝和設定 32 台 Cisco UCS C240 M5SX 伺服器。由於,在安裝 Hypervisor 之前,我都會為伺服器調整 BIOS 組態設定,確保伺服器的 BIOS 組態設定值,可以採用最符合後續要運作的虛擬化工作負載。詳細資訊請參考:

但是,手動一台一台去登入 Cisco UCS C240 M5SX 伺服器 CIMC (IPMI) 介面,然後又要一台一台去調整相關 BIOS 組態設定值太累人了。因此,本文筆記便出現了。在本文中,將會透過 Ansible Playbook 搭配 Ansible AWX,針對 Cisco UCS C240 M5SX 伺服器的 CIMC 組態設定值中,Fan Control Policy 的部份由預設的「Balanced」調整為「High Power」。主要是因為,發現預設的 Balanced 會讓 Cisco UCS 伺服器的溫度偏高所以調整為 High Power,你可以參考下列 Cisco UCS C240 M5SX 伺服器,支援的 Fan Control Policy 設定值和說明,選擇適合你的參數:

  • Low Power: 此設定適合於未安裝任何 PCIe 卡的 UCS 伺服器。
  • Balanced: 預設值,適合用於大部份的 UCS 伺服器,但可能不適合安裝 PCIe 卡的 UCS 伺服器。
  • High Power: 套用此設定後,風扇速度將會保持在 60% - 85% 的中高轉速,適合用於有安裝 PCIe 卡的 UCS 伺服器。
  • Maximum Power: 套用此設定後,風扇速度將會保持在 70% - 100% 的極高轉速,適合用於有安裝多張 PCIe 卡導致容易過熱的 UCS 伺服器。
  • Acoustic: 此設定用於組態設定風扇速度的噪音層級,但可能會因為轉速過低導致 UCS 伺服器過熱或影響效能。



實作方式和結果

先前找過用 UCSM Ansible Module 不符合需求,而 imc_rest – Manage Cisco IMC hardware through its REST API 模組也不符合需求。最後,選擇採用 Cisco CIMC CLI 的方式去互動,對我來說最方便直覺好維護,再搭配用 SSH HereDoc 的方式即可達成我要的需求。

順利套用下列 Playbook 之後,便能一次為 32 台 Cisco UCS C240 M5SX 伺服器,將 Fan Control Policy 的部份由預設的「Balanced」調整為「High Power」。




configure_fan_policy.yaml

有關組態設定 Fan Control Policy 由預設「Balanced」調整為「High Power」的 CLI 指令,請參考下列 Cisco 官方文件: