Если при установке хоста Proxmox вы указали неверное имя, его можно изменить. На отдельно стоящем хосте Proxmox, на котором пока не созданы виртуальные машины и контейнеры достаточно изменить hostname в трех файлах:
# nano /etc/hosts
В этом файле указан IP адрес ноды Proxmox, полное и короткое имя хоста. Аналогично замените старое имя на новое в следующих файлах:
# nano /etc/hostname
# nano /etc/postfix/main.cf
Перезагрузите хост Proxmox. Если вы ошиблись в написании hostname в конфигурационных файлах, службы Proxmox могут не запуститься.
Чтобы вывести подробную информацию об ошибках запуска Proxmox, выполните
# journalctl -xeu pve-cluster.service
В моем случае, я забыл поправить короткое имя в файле hosts, поэтому служба proxmox не смогла стартовать с ошибкой:
solve node name 'pve2' to a non-loopback IP address - missing entry in '/etc/hosts' or DNS?
Если на хосте Proxmox уже были созданы ВМ или контейнеры, нужно выполнить ряд дополнительных шагов. В следующих путях каталогов используется имя hostname:
/var/lib/rrdcached/db/pve2-storage/[HOSTNAME] /var/lib/rrdcached/db/pve2-node/[HOSTNAME] /etc/pve/nodes/[HOSTNAME]
Создайте директории с новым именем хоста:
# mkdir /var/lib/rrdcached/db/pve2-node/<new-name>
# mkdir /var/lib/rrdcached/db/pve2-storage/<new-name>
# mkdir -p /etc/pve/nodes/<new-name>/qemu-server
Скопируйте конфигурационные файлы в новые директории:
# cp -p /var/lib/rrdcached/db/pve2-node/<old-name> /var/lib/rrdcached/db/pve2-node/<new-name>
# cp -p /var/lib/rrdcached/db/pve2-storage/<old-name>/* /var/lib/rrdcached/db/pve2-storage/<new-name>
# mv /etc/pve/nodes/<old-name>/qemu-server/* /etc/pve/nodes/<new-name>/qemu-server
Удалите исходные директории.
Если хост Proxmox добавлен в кластер, не рекомендуется переименовывать его. Лучше будет перенести нагрузки с хоста на другие ноды и исключить его из кластера. После этого можно сменить hostname, после чего добавить хост в кластер.
Если этот сценарий не применим по той или иной причине, можно выполнить ручное переименование ноды Proxmox в кластере.
- Обновить имя в файлах /etc/hosts и /etc/hostname
- Остановить службу кластер и запустить кластерную файловую систему pmxcfs в локальной режиме:
# systemctl stop pve-cluster
# systemctl stop corosync
# pmxcfs -l - Создать резервную копию файла corosync.conf:
# cp /etc/pve/corosync.conf /etc/pve/corosync.conf_bak
- Изменить имя ноды в файле
/etc/pve/corosync.conf
Увеличить значение параметра config_version на 1
- Перезапустить кластер:
# killall pmxcfs
# systemctl start pve-cluster