Обновляем Proxmox 8 до Proxmox 9 (OCI)
Здрасти, приехали. Сегодня будем обновлять proxmox 8 на 9.1 Оно в принципе и необязательно, но очень хотелось потыкать новую фичу с OCI.
OCI это способ запускать контейнеры из Docker-образов. То есть proxmox теперь умеет скачивать Docker-образы (OCI-images) и превращать их в LXC-контейнеры.
ЧИТАТЬ ПЕРВЫМ В ТЕЛЕГРАМ ЧИТАТЬ ПЕРВЫМ В MAX
А нахуя? Чтобы проще запускать приложения, которые уже существуют в виде Docker-образов. Теперь в LXC не нужно поднимать отдельно докер демон, все работает из коробки.
Ладно, отвлеклись. Про OCI отдельно распишу. Сегодня обновляем всю эту трихомудию до нужной версии.
Бекапить я ничего не буду, бекапы для слабаков. Но ты меня не слушай, делай правильно и подстилай соломку.
Даже если у меня всё пойдет по пиздец, это отличный кейс, чтобы отдебажить проблему и решить её.
Приступаем к апгрейду Proxmox
Если не читал пост про Post-Install (часть 1, часть 2), советую заглянуть и поднастроить на нужные репозитории.
Заходим по ssh на сервер с proxmox и устанавливаем последние обновления.
apt update && apt upgrade
Мне долетело около 500 мегабайт. Давно не обновлялся.
Запускаем скрипт проверки, сможет ли твой proxmox вообще апгрейднуться до нужной версии.
pve8to9
Запускается проверка по чек-листу:

Критикалов нет, можно апгрейдить. На варнинги похуй, оно не критично, но если есть желание можешь пофиксить всё на берегу. Готовые команды оно тебе выведет, чё как чинить.
Я запускал базовый чеклист, но есть полная проверка. Запускается так:
pve8to9 --full
Но обычно хватает базовой проверки, просто знай что есть такой ключ.
На всякий случай проверяем версию proxmox:
pveversion
pve-manager/8.4.14/b502d23c55afcba1 (running kernel: 6.8.12-10-pve)
Ага, всё в порядке. Теперь займемся репозиториями, запускаем:
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
Добавляем дополнительные репозитории:
printf "%s\n" \
"Types: deb" \
"URIs: https://enterprise.proxmox.com/debian/pve" \
"Suites: trixie" \
"Components: pve-enterprise" \
"Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg" \
| tee /etc/apt/sources.list.d/pve-enterprise.sources > /dev/null
и второй:
printf "%s\n" \
"Types: deb" \
"URIs: http://download.proxmox.com/debian/pve" \
"Suites: trixie" \
"Components: pve-no-subscription" \
"Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg" \
| tee /etc/apt/sources.list.d/proxmox.sources > /dev/null
Обновляем репозитории для CEPH:
printf "%s\n" \
"Types: deb" \
"URIs: https://enterprise.proxmox.com/debian/ceph-squid" \
"Suites: trixie" \
"Components: enterprise" \
"Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg" \
| tee /etc/apt/sources.list.d/ceph.sources > /dev/null
и второй:
printf "%s\n" \
"Types: deb" \
"URIs: http://download.proxmox.com/debian/ceph-squid" \
"Suites: trixie" \
"Components: no-subscription" \
"Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg" \
| tee /etc/apt/sources.list.d/ceph.sources > /dev/null
Основные пиздострадания закончены, приступаем к апгрейду:
apt update
apt dist-upgrade
После первой команды может вылезти куча какой-то непонятной залупы, не обращай внимания, запускай dist-upgrade и молись.

Ну нормально, что-то прилетело. Жмем «Y» и ждем… Иии начинают задавать всякие вопросы, нужно просто жать кнопки.
Сначала жмешь «q», потом уже по ситуации ориентируйся, у всех по-разному. Раз ты затеял эту возьню, значит знаешь что делаешь. Я на вопросы перезаписи конфигов везде отвечал «N», опять-же не критично.

Смотрим в шапке версию, отлично, апгрейд успешно произведен до версии 9.1.1.
Проверяем в консоли:
pveversion
pve-manager/9.1.1/42db4a6cf33dac83 (running kernel: 6.8.12-10-pve)
Вот и чудненько! Теперь ребутим сервер, чтобы подхватилось новое ядро.
reboot
И снова молимся, чтобы этот космический корабль вообще загрузился.
Иииии победа! Сервер успешно перезагружен и proxmox работает в штатном режиме.

И даже появилась фича с OCI:

Поздравляю, ты только что превзошел себя и победил очень волнительную задачу, можешь смело добавлять строчку в резюме.
На этом спешу распрощаться, чуть позже расскажу про OCI.