Как правильно обновить Proxmox VE (PVE) до последней версии?

В этой статье мы рассмотрим, как правильно обновить гипервизор Proxmox Virtual Environment (PVE) до последней версии. Будут рассмотрены сценарии использования бесплатных репозиториев для установки, обновления мажорной версии (например, с 7.x до 8.x), обновление релиза между минорными версиями (с 8.3 до 8.4) и обновление Proxmox с локального ISO образа (для изолированной среды без доступа в Интернет).

Текущая версия Proxmox VE отображается в веб интерфейсе. Версии конкретных пакетов можно посмотреть в разделе Host -> Summary -> Package versions.

Узнать версию proxmox

Или выведите текущие версии пакетов PVE из консоли:

# pveversion -v

pveversion

Требования к обновлению:

  • Перед установкой обновлений на хосте Proxmox, нужно с мигрировать с него все активные виртуальные машины и LXC контейнеры, или выключить их.
  • Для standalone хостов желательно выполнить бэкап ВМ и контейнеров. Сохраните базовые конфигурационный файлы /etc/passwd , /etc/network/interfaces , /etc/resolv.conf , и директорию /etc/pve )
  • Не используйте для обновления веб-терминал в интерфейсе гипервизора. При потере связи с хостом, обновление может завершиться с ошибками.
  • Проверьте, что в корневом разделе достаточно свободного места (как минимум 5 Гб: # df -h ). См. как изменить размер корневого LVM раздела в Proxmox.
  • Убедитесь, что у вас есть физический доступ на консоль хоста PVE (через IPMI, ILO, KVM, iDRAC и т.д.) помимо SSH доступа
  • В кластере Proxmox хост, который вы обновляете нежно перевести в режим облуживания:
    # ha-manager crm-command node-maintenance enable NODENAME
    Вывести статус кластера:
    # ha-manager status

Обновляем Proxmox VE

Сначала рассмотрим, как выполнить обновление до следующей минорной версии Proxmox. В этом случае с 8.3 до версии 8.4.

Запустить обновление Proxmox можно из веб интерфейса (Updates -> Upgrade).

Обновление Proxmox VE из веб интерфейса

Но обновление из веб интерфейса PVE не самый правильный путь, т.к. если при обновлении возникнут проблемы, вы рискуете просто не увидеть их, если веб интерфейс отвалится.

Подключаемся к хосту Proxmox по SSH и обновляем список доступных в репозитории пакетов:

# apt update

Если у вас нет активной подписки на Proxmox, то при проверке обновлений на enterprise репозиториях появится ошибка:

Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/bookworm/InRelease 401 Unauthorized

apt update - обновить список пакетов на proxmox

Для получения обновлений на бесплатной версии Proxmox без покупки подписки, нужно переключиться на репозиторий pve-no-subscription.

(для Proxmox 8), отредактиуруйте файлы с репозиториями источниками. Закомментируйте строки с enterprise репозиториями и добавьте другие источники:

# nano /etc/apt/sources.list.d/pve-enterprise.list

deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://security.debian.org/debian-security bookworm-security main contrib

Добавить бесплатный репозиторий pve-no-subscription

# nano /etc/apt/sources.list.d/ceph.list

deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription
Важное отличие enterprise репозиториев Proxmox, в том что в них публикуются протестированные версии пакетов. При использовании free репозитория есть риск нарваться на сырой пакет. Поэтому не спешите обновлять Proxmox сразу после выхода новой версии. Подождите хотя бы пару недель.

После этого обновите репозитории и выполните обновление окружения:

# apt update

Вывести список пакетов, для которых доступны обновления:

# apt list --upgradable

apt list --upgradable - список пакетов для обновления

Запускаем обновление пакетов:

# apt dist-upgrade

Используйте apt dist-upgrade вместо apt upgrade, т.к. он гарантирует обновлений всех пакетов. Старые пакеты будут обновлены до новых версий, и некоторые устаревшие пакеты могут быть удалены для удовлетворения зависимостей.

При обновлении некоторые пакеты могут запрашивать подтверждение на перезапись файлов и/или перезапуск служб. После завершения установки обновлений, перезагрузите хост Proxmox.

Апгрейд между мажорными версиям Proxmox PVE (с 7 до 8)

Рассмотрим сценария обновления с версии Proxmox 7.x до 8. Переда началом апгрейда версии PVE нужно обновить версии всех пакетов в системе:

# apt update -y && apt upgrade -y

При обновлении между мажорными версиями Proxmox ознакомьтесь с предварительными шагами, описанными в официальной документации https://pve.proxmox.com/wiki/Main_Page .

Затем запустите специальный скрипт, который проверит сервер Proxmox и пакеты на совместимость с новой версией:

# pve7to8 --full

Скрипт выполняет несколько проверок на возможность обновления. Ошибки, выделенные красным, нужно исправить. Предупреждения можно игнорировать, но желательно изучить на их критичность для вашей конфигурации.

pve7to8 - скрипт проверки proxmox для обновления версии до 8

При использовании Ceph изучите документацию Proxmox 7 to 8 Upgrade Wiki. Передо обновлением PVE нужно обновиться до Ceph 17.2 Quincy.

В нашем примере старая нода Proxmox запущена на Debian 11 (кодовое имя bullseye). Нужно заменить старые репозитории на версии актуальные для Debian 12 (bookworm):

# sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list

(если применимо) Добавьте в файл sources.list репозиторий для бесплатной версии PVE:

deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

Также обновите репозитории для Ceph.

В вашем случае могут использовать и другие фалы репозиториев. Уточните имя файла для вашей конфигурации.

Можно использовать простой однострочный скрипт, который заменит репозиторий на bookworm во всех файлах:

# find /etc/apt/ -type f -name "*.list" -exec sed -i 's/bullseye/bookworm/g' {} +

При обновлении Proxmox может быть изменен MAC адрес, назначенный сетевому бриджу vmbr. Если это для вас важно, получите текущий MAC адрес:

# ip -c link

И зафиксируйте его в файле /etc/network/interfaces:

auto vmbr0
iface vmbr0 inet static
       address xxx.xxx.xxx.xxx
        hwaddress aa:bb:11:22:33:4

После этого нужно обновить источники пакетов и запустите обновление:

# apt update
# apt dist-upgrade

Дождитесь окончания обновления, перезагрузите хост. Если PVE обновился успешно, очистите кэш apt:

# apt autoremove
# apt clean

Офлайн обновление версии Proxmox

В изолированной среде (без доступа в интернет) можно выполнить офлайн обновление версии Proxmox с скачанного ISO образа.

Монтируем в Linux ISO образ с последней версией Proxmox:

# mkdir /media/iso
# mount /mnt/pve/datastore2/template/iso/proxmox-ve_8.4-1.iso /media/iso -t iso9660 -o loop

Теперь добавляем путь к локальному ISO образу в качестве репозитория в файл sources.list:

# nano /etc/apt/sources.list

##Proxmox Version update to 8.4.0
deb [trusted=yes] file:/media/iso/ bookworm pve
deb [trusted=yes] file:/media/iso/proxmox/packages/ /
deb [trusted=yes] file:/media/iso/ bookworm main

sources.list - обновление proxmox из локального ISO образа

Обновляем список пакетов:

# apt update

Смотрим список пакетов, которые будут обновлены:

# apt list --upgradable

Запускаем обновление версии Proxmox:
# apt upgrade
# apt dist-upgrade

apt dist-upgrade - обновление версии PVE

Перезапустите хост Proxmox:

# systemctl reboot

Проверяем, что версия Proxmox обновилась.

Версия Proxmox обновлена


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)