Proxmoxのweb guiにアクセスできない現象が発生し、これの原因がホスト名の変更が原因だとわかった。
以下に正しいホスト名変更手順を記載する。
ホスト名の変更
set-hostname
set-hostnameコマンドを用いて/etc/hostname
を変更する。
hogehogeには変更したい新しいホスト名を入力すると良い。
hostnamectl set-hostname hogehoge
hostsファイルの編集
vim /etc/hosts
でhostsファイルをの内容を変更する。
hossファイルの2行目、
192.168.1.10 pve.local2 pve
となっているため、仮にホスト名をhogehogeに変更したいならば
192.168.1.10 pve.local2 hogehoge
とする。
設定の適用
現在起動中のvmが特に無いならばreboot
コマンドなどを用いて再起動を行うだけで設定は適用される。
だが、起動中のvmがありこれを落としたくない場合や、ダウンタイムを最小にしたい場合は以下コマンドを順に実行し設定を変更する。
invoke-rc.d hostname.sh start
invoke-rc.d networking force-reload
invoke-rc.d network-manager force-reload
force-reload
systemctl restart networking.service
systemctl restart network-online.target
systemctl restart pveproxy.service
webGUIにログインできない
ここからは、ホスト名を変更したことを原因とするweb guiにアクセスできない不具合のトラブルシューティングを記録している。
現象
IPを直接打ってSSHは可能なのだが、WEB GUIにはアクセスできない。
フローラムによると
systemctl status 'pve*'
を確認するとよい、とのことだったので確認すると、以下のようにエラーが多く出ていた。
スクリーンショットに完全に全てが写りきらなかったのだが、pve関連でActive: failed
となりエラーが出ていたサービスは
pvestatd.service - PVE Status Daemon
pve-ha-crm.service - PVE Cluster HA Resource Manager Daemon
pve-firewall.service - Proxmox VE firewall
pve-cluster.service - The Proxmox VE cluster filesystem
pvesr.service - Proxmox VE replication runner
pve-ha-lrm.service - PVE Local HA Resource Manager Daemon
pve-guests.service - PVE guests
だった。また、active
なサービスは
pvebanner.service - Proxmox VE Login Banner
pvenetcommit.service - Commit Proxmox VE network changes
pve-storage.target - PVE Storage Target
pve-daily-update.timer - Daily PVE download activities
pve-lxc-syscalld.service - Proxmox VE LXC Syscall Daemon
pvesr.timer - Proxmox VE replication runner
pveproxy.service - PVE API Proxy Server
pvefw-logger.service - Proxmox VE firewall logger
pvedaemon.service - PVE API Daemon
だった。
原因
初期設定ではProxmoxのホスト名はpve
と設定されている。これを変更する際にhostnamectl set-hostname hoge
のみ実行してはいけない。set-hostnameを実行したならば必ず/etc/hostname
も合わせて変更する必要があった。
対応
vim /etc/hosts
でhostsファイルをの内容を変更した。
hossファイルの2行目が
192.168.1.10 pve.local2 pve
となっているため、仮にホスト名をhogehogeに変更したいならば
192.168.1.10 pve.local2 hogehoge
とする。
この後にこれらの変更を適用するため
invoke-rc.d hostname.sh start
invoke-rc.d networking force-reload
invoke-rc.d network-manager force-reload
force-reload
systemctl restart networking.service
systemctl restart network-online.target
systemctl restart pveproxy.service
をそれぞれ順に実行したところ、WEB GUIにアクセスできるようになった。
参考文献
Redditの投稿。この人のおかげで最近ホスト名を変更したことに気がついた。
https://www.reddit.com/r/Proxmox/comments/fenaln/proxmox_gui_broken_not_sure_where_to_start/fjpgf3h?utm_source=share&utm_medium=web2x&context=3
proxmoxでエラーを確認する方法について書いたproxmoxのフォーラムのやりとり
https://forum.proxmox.com/threads/proxmox-ve-6-0-web-gui-not-working.57892/
proxmoxにおけるノード名の変更について
https://forum.proxmox.com/threads/proxmox-node-name-change.14327/
ホスト名の変更に関するDebianの記事
https://wiki.debian.org/Hostname?action=show&redirect=HowTo%2FChangeHostname