Як оновити 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 із системного адміністрування сплануть і проведуть оновлення за вас.