Proxmox VE — Обновляемся с 5 до 6 версии

Здравствуйте, Уважаемые читатели!

В июле 2019 года вышло обновление для Proxmox VE 6.0

Я не спешил с обновлением, ведь как известно «работает не трогай». Но в итоге мой энтузиазм и понимание того, что не стоит сидеть на задворках развития системы, дали свои плоды. Я решил, что обновлению быть, чтобы система была в актуальном состоянии. Ведь существует риск того, что при переходах через версию, могут быть серьезные проблемы.

На тот момент пока я решился уже вышла версия Proxmox VE 6.1 в декабре 2019 года.

Что нового в 6 версии?

Оригинал — Roadmap#Proxmox_VE_6.1 | Roadmap#Proxmox_VE_6.0
Перевод — Релиз Proxmox VE 6.1 | Релиз Proxmox VE 6.0

Из основных примечательных изменений:

  • Пакетная база синхронизирована с Debian 10.2
  • Ядро Linux обновлено до версии 5.3
  • Дополнительное ядро Linux 5.0 на основе пакетов из Ubuntu 19.04 с поддержкой ZFS
  • Обновлены версии LXC до 3.2, QEMU до 4.1.1 и ZFS до 0.8.2
  • Разрешено применение файлов .img в качестве альтернативы образам .iso (хм… RouterOS CHR под The Dude без конвертации в qcow2 ?)
  • Переработан интерфейс для просмотра логов

Остальное можете почитать в патчнотах.

Обновление с 5 на 6

Я начал обновление имея версию Virtual Environment 5.4-13
Обновление лучше всего проводить при непосредственном доступе к PVE. Т.е. или SSH, или IPMI на серверной материнке, или монитор и клавиатура.

Если работаете по SSH, запускайте команду в screen или tmux, иначе при обрыве связи можете получить нерабочую систему и придется все восстанавливать.

Отключаем все виртуальные машины, делаем бекап всей PVE системы или не делаете, если не боитесь.

Обновляемся до последней версии PVE 5

apt update
apt dist-upgrade -y

После процедуры обновления запускаем утилиту pve5to6. Пока никаких изменений не будет, это просто утилита для проверки готовности системы к обновлению.
Еще раз убедимся, что все виртуальные машины остановлены и продолжим.

pve5to6

Результат выполнения команды

= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages uptodate

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 5.4-2

Checking running kernel version..
PASS: expected running kernel '4.15.18-21-pve'.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'local' enabled and active.
PASS: storage 'local-backup' enabled and active.
PASS: storage 'local-zfs' enabled and active.

= MISCELLANEOUS CHECKS =

INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if the local node's hostname 'pve1' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.88.6' configured and active on single interface.
INFO: Check node certificate's RSA key size
PASS: Certificate 'pve-root-ca.pem' passed Debian Busters security level for TLS connections (4096 >= 2048)
PASS: Certificate 'pve-ssl.pem' passed Debian Busters security level for TLS connections (2048 >= 2048)
INFO: Checking KVM nesting support, which breaks live migration for VMs using it..
PASS: KVM nested parameter not set.

= SUMMARY =

TOTAL:    16
PASSED:   14
SKIPPED:  2
WARNINGS: 0
FAILURES: 0

Вы могли заметить, что я не использую Кластер и Ceph, потому два пункта у меня были пропущены при проверке.

Если вы выполняли установку по моей инструкции, то необходимо заменить в /etc/apt/sources.list и /etc/apt/sources.list.d/pve-no-subscription.list ветку обновлений со stretch на buster

Сделаем это с помощью команды sed

sed -i 's/stretch/buster/g' /etc/apt/sources.list
sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/pve-no-subscription.list

Проверим командой cat

cat /etc/apt/sources.list
deb http://ftp.ru.debian.org/debian buster main contrib

deb http://ftp.ru.debian.org/debian buster-updates main contrib

# security updates
deb http://security.debian.org buster/updates main contrib

cat /etc/apt/sources.list.d/pve-no-subscription.list

# proxmox no subscriptions repo
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

Далее стандартная процедура проверки обновления.

apt update
663 packages can be upgraded

И начала выполнения обновления до 6 версии.

apt dist-upgrade -y

Ждем скачивания и начала выполнения установки. Я ждал долго, видимо канал репозитория был ограничен.

Получаем уведомление и нажимаем Enter для продолжения

Screenshot_1
Предупреждение

Еще попросят подтвердить раскладку клавиатуры. Т.к. я работаю с английской, то оставил выбор на English (US)

Screenshot_2
Подтверждаем раскладку кливиатуры

Получаем уведомление с предложением изменения файла /etc/issue
Выбираем N

Поступает запрос на перезапуск сервисов. Соглашаемся на перезапуск.

Screenshot_4
Соглашаемся на перезапуск служб и сервисов

 

Т.к. у меня стояли еще дополнительные сервисы, появилось еще несколько запросов на обновление файлов конфигураций:

/etc/nginx/nginx.conf
/etc/default/snmpd
/etc/apt/sources.list.d/pve-no-subscription.list

Во всех случаях я ответил N т.к. менять ничего не собирался.

После окончания процесса установки, выполняем перезагрузку подав команду

reboot

Дожидаемся загрузки и проверяем систему. Видим новую версию в WEB GUI, что означает успешное обновление!

Screenshot_8
Версия изменилась

 

Убираем окно о подписке(снова)

Правда снова появляется окно предлагающее оформить подписку на платную тех.поддержку и enterprice репозиторий.

Нам это не нужно и мы снова подаем ряд команд, чтобы его убрать.
Делаем резервную копию файла

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

Меняем переменную

sed -i "s/getNoSubKeyHtml:/getNoSubKeyHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

 

Теперь ничего не будет нам мешать.

 

Вот и весь процесс обновления Proxmox VE. Ничего сложного 🙂

Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉

UPD: 22.10.2022 (Обновление с 6 до 7 версии)

Что нового? Релиз Proxmox VE 7.2

Процесс обновления в целом идентичен переходу с 5 на 6 версию.
Важным отличием является изменение системы бэкапов, тут нужно будет его перенастроить.

И еще одно важное замечание, это если в дальнейшем обновлять существующие контейнеры Debian до 11 версии, то нужно включить Nesting. В новых контейнерах этот параметр включен по умолчанию. Иначе будете ждать входа по 5-10 секунд.