Как обновить Proxmox VE 7 до Proxmox VE 8
В этой инструкции описано обновление узла Proxmox VE 7 до Proxmox VE 8 на месте с помощью apt. При обновлении система переходит с Debian 11 Bullseye на Debian 12 Bookworm, а ядро 5.15 заменяется более новым. Заложите время простоя: узел придётся перезагрузить как минимум один раз, обычно дважды.
Поддержка Proxmox VE 7 закончилась в конце июля 2024 года, а Proxmox VE 8 перестал получать обновления 31 августа 2026 года. Переход на версию 8 обязателен как промежуточный шаг, но после него система всё ещё остаётся без поддержки. Когда закончите с этой инструкцией, запланируйте следующее обновление, до Proxmox VE 9.
Перед началом
Требования
Прежде чем менять репозитории, проверьте:
- на всех узлах установлены последние пакеты Proxmox VE 7.4 (
pve-manager7.4-15 или новее); - на корневой файловой системе свободно не меньше 5 ГБ;
- кластер работает без ошибок, если узел входит в кластер;
- у вас есть доступ к серверу, не зависящий от его сети, например IP-KVM;
- есть рабочие и проверенные резервные копии всех виртуальных машин и контейнеров.
Проверьте свободное место на корневой файловой системе:
df -h /
Перед обновлением сделайте резервные копии всех виртуальных машин и контейнеров и убедитесь, что их можно восстановить. Мажорное обновление заменяет базовую систему, ядро и пакеты загрузчика. Если что-то пойдёт не так, восстановление из бэкапа будет единственным надёжным способом вернуть систему. Храните копии вне обновляемого узла, например на отдельном хранилище или в INTROSERV Backup Service. Также сохраните /etc/pve, /etc/network/interfaces, /etc/passwd и /etc/resolv.conf.
Если у вас гиперконвергентный кластер Ceph, перед началом на нём должна работать версия Ceph 17.2 Quincy. Версию можно посмотреть на панели Ceph каждого узла. Если в кластере Octopus или Pacific, сначала обновите Ceph до Quincy и только потом возвращайтесь к этой инструкции.
Если на том же хосте установлен Proxmox Backup Server, обновите его с версии 2 до версии 3 до обновления Proxmox VE. Используйте официальную инструкцию по обновлению Proxmox Backup Server 2 до 3.
Как подключиться к узлу
Не запускайте мажорное обновление из Shell (консоли) в веб-интерфейсе Proxmox VE. Веб-консоль работает через службы Proxmox VE, которые перезапускаются во время обновления, и сессия оборвётся посреди процесса.
Подключайтесь по SSH или через IP-KVM. При работе по SSH запустите сессию tmux, чтобы обновление продолжилось, даже если соединение прервётся:
apt update apt install tmux tmux new -s upgrade
Если соединение пропало, подключитесь снова и вернитесь в сессию:
tmux attach -t upgrade
Самый надёжный вариант это IP-KVM: он продолжит работать, даже если после перезагрузки на узле не поднимется сеть. Как подключиться к выделенному серверу через IP-KVM, смотрите в инструкциях Подключение к IDRAC KVM и Доступ к IP-KVM через OpenVPN (серверы DC2, DC3).
Виртуальные машины и контейнеры на узле
Выключите виртуальные машины и контейнеры на узле или перенесите их на другой узел, если они должны продолжать работу. Миграция со старой версии Proxmox VE на более новую поддерживается. Миграция с новой версии обратно на старую не поддерживается.
Если узел входит в кластер, обновляйте узлы по одному и перед обновлением переводите каждый в режим обслуживания. В этом режиме гостевые системы под управлением HA переносятся на другие узлы: ha-manager crm-command node-maintenance enable <node>. Гостевые системы без HA автоматически не переносятся, их нужно мигрировать или выключить вручную. Перезагрузка не снимает режим обслуживания. После обновления и перезагрузки узла отключите его вручную: ha-manager crm-command node-maintenance disable <node>.
Шаг 1. Обновите Proxmox VE 7 до версии 7.4
Скрипт проверки pve7to8 и безопасный путь обновления есть только в последних пакетах 7.4. Обновления можно установить в веб-интерфейсе или из командной строки.
Настройте репозитории
Откройте узел в веб-интерфейсе и перейдите в Updates → Repositories.
Если у вас нет платной подписки, выберите репозиторий pve-enterprise и нажмите Disable. Для этого репозитория нужен ключ подписки.

Нажмите Add, выберите No-Subscription и нажмите Add в диалоговом окне.

Если у вас есть платная подписка, оставьте репозиторий pve-enterprise и пропустите эту часть.
Установите обновления
Перейдите в Updates и нажмите Refresh. Дождитесь обновления списка пакетов.

Нажмите Upgrade. Откроется окно терминала. На вопрос о продолжении введите Y и нажмите Enter.

Дождитесь окончания процесса и не закрывайте окно. В конце система сообщит, что узел нужно перезагрузить.

То же обновление из командной строки. Без платной подписки сначала отключите enterprise-репозиторий и добавьте no-subscription, как в веб-интерфейсе выше:
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
Затем установите обновления:
apt update apt dist-upgrade
Debian 11 больше не поддерживается, и его пакеты со временем могут переехать с обычных зеркал на archive.debian.org. Если apt update возвращает ошибки 404 для bullseye, замените строки Debian в /etc/apt/sources.list на:
deb http://archive.debian.org/debian bullseye main contrib deb http://archive.debian.org/debian-security bullseye-security main contrib
Эти строки нужны только для завершения шага 1. На шаге 3 вместо команды sed замените их строками Bookworm, приведёнными там.
Перезагрузите узел и проверьте версию
Перезагрузите узел:
reboot
После запуска узла обновите страницу в браузере и проверьте версию в разделе Summary узла или выполните:
pveversion
В выводе должна быть версия 7.4-15 или новее.

Шаг 2. Запустите проверку pve7to8
В Proxmox VE 7.4 входит скрипт pve7to8. Он только проверяет систему и сообщает о проблемах, ничего не меняя. Запустите его со всеми проверками:
pve7to8 --full

Разберите результат:
- пункты
FAILнужно исправить до обновления; - пункты
WARNнужно прочитать и оценить, даже если они не блокируют обновление; - после каждого исправления запускайте скрипт снова, чтобы убедиться, что проблема ушла.
Перед продолжением удалите пакеты, плагины и сторонние модули хранилищ, которые не поддерживаются в Proxmox VE 8. Сторонний плагин хранилища должен иметь версию, совместимую с Proxmox VE 8. Если её нет, дождитесь, пока автор её выпустит.
Если Proxmox VE устанавливали поверх обычной Debian 11, а не с ISO Proxmox VE, проверьте, установлен ли пакет linux-image-amd64. Он конфликтует с пакетами ядра Proxmox VE, и apt может попытаться удалить пакет proxmox-ve. Удалите его перед продолжением: apt remove linux-image-amd64.
Шаг 3. Переключите репозитории на Bookworm
Репозитории Debian
Замените Bullseye на Bookworm в основном списке источников:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Если на шаге 1 вы переключились на archive.debian.org, команда sed направит строки на путь Bookworm, которого в архиве нет. В этом случае замените содержимое /etc/apt/sources.list стандартными строками Debian 12:
deb http://deb.debian.org/debian bookworm main contrib deb http://deb.debian.org/debian bookworm-updates main contrib deb http://security.debian.org/debian-security bookworm-security main contrib
Затем убедитесь, что записей Bullseye не осталось ни в одном файле:
grep -r bullseye /etc/apt/sources.list /etc/apt/sources.list.d/
Если команда нашла строки, замените в них Bullseye на Bookworm или закомментируйте их символом #. Удалите строки backports: обновление не тестировалось с пакетами из backports.
Также проверьте, что нет зафиксированных или не до конца установленных пакетов. Обе команды должны вернуть пустой вывод:
apt-mark showhold dpkg --audit
Репозиторий Proxmox VE
Имя файла репозитория зависит от того, как его добавляли. Сначала посмотрите список файлов:
ls /etc/apt/sources.list.d/
Без подписки обновите файл, в котором есть строка pve-no-subscription. В системе, установленной с ISO, это обычно pve-install-repo.list:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
Правильная строка для Proxmox VE 8 без подписки:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
В некоторых системах в строке после deb есть ещё [arch=amd64]. Это нормально, оставьте его.
Убедитесь, что enterprise-репозиторий отключён: если файл pve-enterprise.list существует, его строка должна быть закомментирована символом #, как после отключения на шаге 1.
С платной подпиской пропишите enterprise-репозиторий и убедитесь, что в других файлах не осталось активной строки pve-no-subscription:
echo "deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
Репозиторий Ceph
Пропустите эту часть, если Ceph на узле не установлен.
С платной подпиской:
echo "deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list
Без подписки:
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
Если apt update возвращает ошибку 401 для enterprise-репозитория Ceph, обновите подписку командой pvesubscription update --force и повторите попытку.
Обновите индекс пакетов
apt update
В выводе не должно быть ошибок, и все строки должны указывать на bookworm.
Шаг 4. Обновите систему до Proxmox VE 8
Запустите обновление:
apt dist-upgrade
Длительность зависит от скорости корневого диска: от нескольких минут на SSD до часа и больше на медленном HDD.
Вопросы во время обновления
Если в начале откроется страница с примечаниями к выпуску, нажмите q, чтобы закрыть её и продолжить.
На вопрос, перезапускать ли службы автоматически при обновлении пакетов, выберите Yes стрелками и нажмите Enter.

Вопросы о файлах конфигурации
Во время обновления apt спрашивает, что делать с файлами конфигурации, которые изменили и вы, и пакет. Перед ответом нажмите D, чтобы посмотреть разницу. Рекомендуемые ответы для типичных файлов:
/etc/issue: оставьте свою версию (N). Proxmox VE создаёт этот файл заново при загрузке, он влияет только на экран входа;/etc/lvm/lvm.conf: установите версию сопровождающего пакета (Y), если вы сами не меняли файл;/etc/apt/sources.list.d/pve-enterprise.list: еслиaptспросит об этом файле, оставьте свою версию (N), иначеaptперезапишет репозиторий, настроенный на шаге 3;/etc/ssh/sshd_config: если вы не меняли файл, установите версию сопровождающего пакета (Y), она заменяет устаревший параметрChallengeResponseAuthenticationнаKbdInteractiveAuthentication. Если вы сами меняли настройки SSH, внимательно сравните файлы;/etc/default/grub: этот вопрос обычно появляется, только если вы меняли файл, например добавляли параметры ядра. Проверьте разницу; если сомневаетесь, оставьте свою версию (N).
В системе, которая загружается в режиме UEFI через GRUB и у которой корень на LVM, после обновления сервер может не загрузиться с ошибкой disk 'lvmid/...' not found. Чтобы этого избежать, перед перезагрузкой установите пакет grub-efi-amd64:
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64
Выполняйте эту команду в UEFI-системах, которые загружаются через GRUB. Это стандартный вариант для установки с ISO Proxmox VE с корнем на LVM. В системе с legacy BIOS команда ничего не делает. Пропустите её, если корень на ZFS: такие системы загружаются через proxmox-boot-tool, и проблема их не касается.
Проверьте результат
Когда apt dist-upgrade завершится без ошибок, снова запустите проверку:
pve7to8 --full
До перезагрузки скрипт может показать пункты WARN о работающем ядре и о том, что LXCFS ещё использует старую библиотеку FUSE. Это ожидаемо: оба предупреждения пропадут после перезагрузки в новое ядро на шаге 5. Пунктов FAIL быть не должно.

Шаг 5. Перезагрузитесь в новое ядро
Перезагрузите узел. Это нужно, даже если в Proxmox VE 7 вы уже использовали дополнительное ядро 6.2:
reboot
На некоторых серверах новое ядро может переименовать сетевые интерфейсы. Если после перезагрузки узел не отвечает по сети, подключитесь через IP-KVM, посмотрите текущие имена интерфейсов командой ip link и исправьте их в /etc/network/interfaces. Затем примените настройки командой ifreload -a.
Шаг 6. Проверьте результат
Очистите кэш браузера или принудительно обновите веб-интерфейс сочетанием Ctrl+Shift+R (Cmd+Shift+R в macOS). Проверьте версию в разделе Summary узла или командой:
pveversion

Запустите виртуальные машины и контейнеры и проверьте, что они работают. В кластере отключите режим обслуживания на узле и переходите к следующему узлу, начиная снова с проверки требований.
Системы, которые загружаются в режиме UEFI через proxmox-boot-tool (обычно с корнем на ZFS, установленные с ISO), после обновления получают предупреждение pve7to8 о пакете systemd-boot. Устанавливайте пакет, только если скрипт выдал это предупреждение. В других системах он не нужен, а его скрипт установки может заменить GRUB в роли загрузчика.
Решение проблем
Обновление хочет удалить proxmox-ve
Сообщение W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'! значит, что какой-то репозиторий всё ещё настроен на Bullseye или не существует для Bookworm. Проверьте все файлы в /etc/apt/sources.list.d/, исправьте репозитории и снова выполните apt update. Не подтверждайте удаление.
Обновление прервалось
Если соединение пропало или обновление остановилось на середине, вернитесь в сессию tmux или подключитесь заново и выполните:
dpkg --configure -a apt -f install apt dist-upgrade
Ошибки зависимостей для пакетов Ceph
Если apt dist-upgrade сообщает о неудовлетворённых зависимостях для пакетов Ceph на узле без Ceph, добавьте репозиторий Ceph Quincy no-subscription из шага 3 и снова выполните apt update. Некоторым пакетам Proxmox VE он может понадобиться во время обновления.
Узел не загружается
Подключитесь через IP-KVM, чтобы увидеть ошибку загрузки. При проблемах с GRUB смотрите официальную страницу Recover From Grub Failure.
Что дальше
Proxmox VE 8 больше не получает обновлений. Запланируйте переход на Proxmox VE 9 на Debian 13 Trixie. Он выполняется по той же схеме, со скриптом проверки pve8to9.
Если не хотите выполнять мажорные обновления сами, специалисты INTROSERV по системному администрированию спланируют и проведут обновление за вас.