对于运维而言,咱们但愿每台服务器的 hostname 都能体现出它本身的功能/ip,方便排查。linux
ubuntu server live 18.04 的安装流程很是友好,从 ip 到 hostname 均可以直接指定。可是每台虚拟服务器都手动装一遍系统,也台麻烦了一点。ubuntu
比较方便的方法,是先制做好一个 ova/ovf 的通用镜像,将 hostname/ip 的设定脚本也打包在里面,须要加机器时,先安装这个基础镜像,而后跑两下脚本就 ok 了。服务器
可是。。这里就遇到了一个问题,这个 18.04 服务器版的 hostname 我修改 /etc/hostname
,仍是用 hostnamectl set-hostname <xxx>
,它都顽固地“不忘初心”,重启多少次都无济于事。。运维
罪魁祸首是我历来没用到过的什么 cloud init 工具,必须把 /etc/cloud/cloud.cfg
文件中的 preserve_hostname
设为 true,不然全部对 hostname 的修改都将是临时的!工具