Ansible - 設定 Cisco UCS CIMC DNS 和停用 IPv6



前言

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

但是,手動一台一台去登入 Cisco UCS C240 M5SX 伺服器 CIMC (IPMI) 介面,然後又要一台一台去調整相關 BIOS 組態設定值太累人了。因此,本文筆記便出現了。在本文中,將會透過 Ansible Playbook 搭配 Ansible AWX,針對 Cisco UCS C240 M5SX 伺服器的 CIMC 組態設定值中,設定管理用途的網路卡「Alternate DNS Server」以及「Disable IPv6」。

為何要如此麻煩,初始化設定時處理不就好了? 原因在於,當 Cisco UCS 伺服器開機按下「F8 - CIMC Setup」時,可以看到只能設定第一筆 DNS Server,也就是只有「Preferred DNS Server」能設定,找不到可以設定第二筆 DNS Server (本文說的 Alternate DNS Server)。此外,雖然沒有勾選 IPv6 項目,但是後續登入 CIMC 圖形介面時,會發現預設還是有勾選「Enable IPv6」 的。





實作方式和結果

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

順利套用下列 Playbook 之後,便能一次為 32 台 Cisco UCS C240 M5SX 伺服器,設定管理用途的網路卡「Alternate DNS Server」和「Disable IPv6」。值得注意的是,套用設定時在 CIMC IP 的部份會掉「2 個」ping 封包。




configure_alternate_dns.yaml

有關組態設定 Cisco CIMC 管理用途網卡第二筆 DNS Server 的 CLI 指令,請參考下列 Cisco 官方文件:




disable_ipv6.yaml

有關組態設定 Cisco CIMC 管理用途網卡停用 IPv6 的 CLI 指令,請參考下列 Cisco 官方文件: