對於運維而言,我們希望每台服務器的 hostname 都能體現出它自己的功能/ip,方便排查。
ubuntu server live 18.04 的安裝流程非常友好,從 ip 到 hostname 都可以直接指定。但是每台虛擬服務器都手動裝一遍系統,也台麻煩了一點。
比較方便的方法,是先制作好一個 ova/ovf 的通用鏡像,將 hostname/ip 的設定腳本也打包在里面,需要加機器時,先安裝這個基礎鏡像,然后跑兩下腳本就 ok 了。
但是。。這里就遇到了一個問題,這個 18.04 服務器版的 hostname 我修改 /etc/hostname
,還是用 hostnamectl set-hostname <xxx>
,它都頑固地“不忘初心”,重啟多少次都無濟於事。。
解決辦法
罪魁禍首是我從來沒用到過的什么 cloud init 工具,必須把 /etc/cloud/cloud.cfg
文件中的 preserve_hostname
設為 true,否則所有對 hostname 的修改都將是臨時的!