Смена имени хоста Proxmox VE — это критическая операция, которая требует точного соблюдения последовательности действий. В отличие от обычных Linux-серверов, в Proxmox имя узла жестко привязано к кластерной файловой системе (pmxcfs) и путям хранения конфигураций виртуальных машин. Ошибка при переименовании может привести к недоступности веб-интерфейса или потере управления VM.
Ниже представлен проверенный скрипт для безопасного выполнения этой задачи на одиночной ноде или сервере, выведенном из кластера.
Перед выполнением обязательно создайте резервную копию /etc/pve. Для активных кластерных нод сначала выполните pvecm delnode, затем переименуйте хост и добавляйте обратно.
Выполните команды последовательно, заменив переменные $original_hostname и $new_hostname на актуальные значения.
-
Сохранение конфигураций VM
mkdir -p /tmp/qemu cp /etc/pve/nodes/$original_hostname/qemu-server/* /tmp/qemu/
-
Изменение имени системы и hosts
hostnamectl set-hostname "$new_hostname" sed -i "s/$original_hostname/$new_hostname/g" /etc/hosts
-
Перезапуск служб PVE
services=("pveproxy.service" "pvebanner.service" "pve-cluster.service" "pvestatd.service" "pvedaemon.service")
for service in "${services[@]}"; do
systemctl restart "$service"
done
-
Миграция конфигов и очистка
rm -rf "/etc/pve/nodes/$original_hostname" mkdir -p "/etc/pve/nodes/$new_hostname/qemu-server" cp /tmp/qemu/* "/etc/pve/nodes/$new_hostname/qemu-server/" rm -rf /tmp/qemu
-
Проверка после переименования
- Убедитесь в доступности веб-интерфейса: https://$new_hostname:8006.
- Проверьте статус всех VM — они не должны отображаться как «unknown».
- Проанализируйте логи кластера: journalctl -u pve-cluster -f.
- При наличии LXC-контейнеров повторите процедуру копирования для директории /etc/pve/nodes/$new_hostname/lxc/.
