Ubuntu Server 18.04 无法修改 hostname

对于运维而言,我们希望每台服务器的 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 的修改都将是临时的!

2020-11-19 更新,最近从 VMware 迁移到 PVE,开始用到 cloud-init,不得不说确实很方便啊,在建虚拟机的时候,cloud-init 就能自动帮我设置 hostname、网络,配置虚拟机账号与私钥,还能自动伸缩磁盘分区大小。

参考

posted @ 2019-09-29 21:06  於清樂  阅读(1286)  评论(0编辑  收藏  举报