症状
ConoHa のVPSで /etc/hostname
へホスト名を書いても、インスタンスが再起動すると初期値へ戻っている。
原因
インスタンスの初期化に使われている cloud-init というソフトウェアの「ホスト名を変更する機能」が有効になっているため。
なので、ConoHaのVPS特有の問題という訳ではない。
対策
シンプルに、「ホスト名を上書きする」という設定を無効にすれば良い。
Module reference - cloud-init 23.4 documentation
This module will update the system hostname and fqdn. If preserve_hostname is set, then the hostname will not be altered.
設定ファイルは /etc/cloud/cloud.cfg
にある。
$ ls -al /etc/cloud/ 合計 24 drwxr-xr-x 4 root root 4096 5月 10 23:48 . drwxr-xr-x 107 root root 4096 5月 30 23:14 .. -rw-r--r-- 1 root root 3100 5月 10 23:01 cloud.cfg drwxr-xr-x 2 root root 4096 5月 10 22:54 cloud.cfg.d -rw-r--r-- 1 root root 447 12月 27 2016 cloud.cfg.dpkg-old drwxr-xr-x 2 root root 4096 5月 10 22:54 templates
今回検証に使った Ubuntu 16.04.4 LTS
では、documentに記載の通り
preserve_hostname: false
となっている行を
preserve_hostname: true
とすると、確かに再起動してもホスト名が勝手に変わることは無くなった。
ヤッタネ