Обновление Proxmox 7 до 8
22 июня 2023 года вышел очередной релиз популярной системы виртуализации Proxmox VE 8.0. Выждав небольшой срок, я решил провести обновление одного из своих серверов. Обычно это не вызывает каких-то особых проблем, потому что процесс проходит штатно, если следовать официальной инструкции. Так как у меня много серверов с Proxmox VE под управлением, решил сделать своё пошаговое руководство по обновлению с 7 на 8-ю версию.
Что нового в Proxmox VE 8
Полный список нововведений можно посмотреть в Press release. Обновления версий ядра и софта опускаю, отмечаю только новую функциональность бесплатной версии:
- Появилась автоматическая синхронизация пользователей и групп из LDAP хранилищ, в том числе Microsoft AD.
- Новый TUI (text-based user interface, то есть текстовый) интерфейс установщика. Стало как у Debian — два варианта установщика. Текстовый похож на дебиановский. Особо не понимаю, зачем на это тратить ресурсы разработки. Возможно GUI интерфейс в каких-то случаях не работает и спасает TUI.
- Сопоставление физических устройств (PCI и USB) и нод кластера. Можно создать виртуальное устройство, сопоставить его с реальными устройствами на конкретных нодах и добавить это устройство к VM. Теперь она сможет мигрировать только на те ноды, где есть сопоставление нужного устройства. До конца не понял, какую прикладную задачу это решает.
- Автоматическая блокировка учёток юзеров, которые попали на второй фактор аутентификации и не прошли его несколько раз. В общем, защита от брута второго фактора, когда первый пароль утёк злоумышленникам.
- Списки доступа (ACL) к сетевым ресурсам. Можно управлять доступом пользователей, например, к бриджам.
Навскидку нововведений как-то мало. Считай ничего значимого и нет, кроме сопоставления устройств. Это наиболее заметное улучшение функциональности.
Подготовка к обновлению
Если у вас версия Proxmox ниже 7-й, то последовательно обновите систему до последней. У меня есть инструкции на этот счёт:
Я не буду заниматься самодеятельностью, а выполню то, что указано в официальном руководстве по обновлению — https://pve.proxmox.com/wiki/Upgrade_from_7_to_8, опуская те моменты, что неактуальны в моём случае. Например, я не использую Ceph.
Некоторые замечания перед обновлением:
- Убедитесь, что у вас есть бэкапы всего, что будет затронуто обновлением. Не забудьте проверить, что из них можно выполнить восстановление.
- У вас будет небольшой простой сервисов, так как во время обновления потребуется остановить все виртуальные машины и выполнить перезагрузку гипервизора.
- Варианта обновления Proxmox VE два: обновить текущий гипервизор или выполнить чистую установку новой версии и восстановить на неё бэкапы виртуальных машин.
Если вы хотите перенести всё на новую установку, то помимо бэкапа виртуальных машин, потребуется сохранить настройки в директории /etc/pve и системные файлы /etc/passwd, /etc/network/interfaces, /etc/resolv.conf. После установки новой версии, достаточно венуть эти файлы и восстановить бэкапы виртуальных машин.
Если вы будете обновлять текущую установку Proxmox VE, то проверьте следующие моменты:
- У вас версия Proxmox VE 7.4 на всех нодах кластера.
- Если используете Ceph, предварительно обновите его до версии Ceph 17.2 Quincy, прежде чем начнёте обновлять сам Proxmox. Для этого можно воспользоваться инструкциями: Ceph Octopus to Pacific и Ceph Pacific to Quincy.
- Если и спользуете Proxmox Backup Server, то обновите его до 3-й версии: Proxmox Backup Server 2 to 3 upgrade how-to.
- На всякий случай убедитесь, что у вас есть доступ к консоли сервера, помимо SSH доступа.
- Нужно будет как минимум 5G свободного места на корневом разделе /.
Обновление Proxmox 7 до 8
На всякий случай обновите саму систему:
# apt update && apt dist-upgrade
Запустите скрипт проверки готовности к обновлению:
# pve7to8
Убедитесь, что нет ошибок. Если есть, то их нужно исправить.
После обновления у вас может измениться MAC адрес сетевого бриджа vmbr. Если для вас это недопустимо и приведёт к проблемам, то заранее укажите постоянный MAC. Для начала посмотрите текущие адреса:
# ip -c link
Затем укажите текущий MAC адрес бриджа в конфигурации сетевых интерфейсов /etc/network/interfaces.
auto vmbr0 iface vmbr0 inet static address 10.20.1.2/24 hwaddress ae:9d:46:49:4d:23 # ... остальные настройки
Обновите системный файл с репозиториями /etc/apt/sources.list. Так как кодовая база новой версии Proxmox базируется на Debian 12 bookworm, необходимо указать новую версию взамен прошлой bullseye.
# cp /etc/apt/sources.list /etc/apt/sources.list.bak # sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Проверьте на всякий случай изменения:
# diff /etc/apt/sources.list /etc/apt/sources.list.bak
Обновляем список пакетов:
# apt update
Получится внушительный список. При желании, можете его посмотреть:
# apt list --upgradable
Теперь будем запускать непосредственно обновление пакетов. Тут важно убедиться, что есть доступ к консоли сервера. Если запускаете обновление по SSH, то убедитесь, что ваша сессия не прервётся в случае обрыва связи. Запустите её в screen или tmux. Если обновление прервётся, то есть шанс получить неработающий сервер, хотя и не обязательно это случится. Но в любом случае получите лишние проблемы и хлопоты. Лучше этого избежать.
# apt dist-upgrade
После загрузки всех пакетов, вам приведут подробную информацию по обновлению.
Нужно промотать список вниз и закрыть его, нажав клавишу q. Дальше могут появляться различные вопросы по поводу перезаписи конфигурационных файлов или перезапуска служб. Можно со всем соглашаться и выбирать варианты, которые предлагают по умолчанию.
После окончания обновления пакетов перезагрузите сервер с Proxmox и убедитесь, что обновление прошло успешно.
Ошибки во время обновления Proxmox VE
Очень частой ошибкой во время обновления Proxmox VE, причём не важно, какой версии, является следующая:
Upgrade wants to remove package ‘proxmox-ve’.
Вам пишут, что сейчас будет удалён пакет proxmox-ve. Сразу как-то обновляться не хочется, потому что не понятно, и не очевидно, к чему это приведёт. Подобная ошибка встречается у тех, кто ставил Proxmox не с установочного iso образа, а обновлением Debian.
Решить её можно следующим образом. Удаляем пакет linux-image-amd64 или похожий. Название пакета может немного различаться. К слову image могут быть добавлены какие-то цифры с версией. Точное имя пакета можно посмотреть через общий список пакетов, примерно так:
# dpkg -l | grep linux-image
Суть в том, что у этого пакета, который остался от оригинальной Debian, возникают конфликты зависимостей с proxmox-ve, поэтому последний предлагают удалить. Вместо этого удаляем ненужный пакет.
# apt remove linux-image-amd64
После этого обновление Proxmox VE должно пройти штатно.
Видео
Заключение
Я завершил обновление Proxmox VE до 8-й версии на тестовом гипервизоре. Никаких проблем в процессе не возникло. Тем не менее, не рекомендую обновлять прод, пока не выйдет хотя бы версия 8.1. Торопиться в таких делах нет никакого смысла. Можно вообще не обновляться, если вам не нужны нововведения. Никаких проблем не будет, если вы останетесь на старой версии, пока она еще поддерживается.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Proxmox
Обновление Proxmox 7 до 8