Для лиги лени: общеизвестное, душное, НЕ ПРОКАТИЛО.
Скажу сразу.
Я доигрался, пришлось переставлять систему.
5.2 Гб до неправильного обновления и всяких непотребных игр превратились в 8.1 Гб.
Дельта обновления еще 5.3 Гб.
На выходе:
pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)
Было: pveversion: pve-manager/8.4.0/ec58e45e1bcdf2ac (running kernel: 6.8.12-9-pve)
стало: pve-manager/8.4.9/649acf70aab54798 (running kernel: 6.8.12-9-pve)
и, после удачного обновления, pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)
Он сказал поехали (и запил водой)
Выполняем по инструкции: pve8to9. Кстати, в pve-manager/8.4.0/ этого скрипта не было.
Получаем:
= SUMMARY =
TOTAL: 42
PASSED: 33
SKIPPED: 6
WARNINGS: 3
FAILURES: 0
Что там?
WARN: updates for the following packages are available: pve-cluster
Что я могу сказать, кроме того что удивительное рядом?
apt update
apt list --upgradable –a
pve-cluster/stable 8.1.2 amd64 [upgradable from: 8.1.0]
pve-cluster/stable,now 8.1.0 amd64 [installed,upgradable to: 8.1.2]
Что происходит, и почему вчера не обновился pve cluster, при отсутствии кластера?
Примечание. После того, как я уронил систему, переставил с ноля, и обновился еще раз, проблема ушла, обновился и стал предлагать обновиться:
pve-cluster/stable 9.0.6 amd64 [upgradable from: 8.1.2]
Следующее предупреждение: WARN: systemd-boot meta-package installed but the system does not seem to use it for booting. This can cause problems on upgrades of other boot-related packages . Consider removing 'systemd-boot'
Сомнительно, но окей.
Третье предупреждение: WARN: The matching CPU microcode package 'amd64-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.
и не предупреждение, а напоминание:
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '-- full' parameter
А ?? Почему свежий инсталлятор PVE сам не поставил amd64-microcode, если считает их необходимым?
Понятно, что статья:
New AMD Zen 6 Linux Patches Posted - Confirming Up To 16 Memory Channels со ссылкой на вчерашний патч вышла не просто так, но все же.
Примечание. Это не связанные вещи. Обновление вышло для ядра для 2.5 новых фич.
Что там дальше по инструкции?
меняем репозитории локально
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
и, поскольку у меня сделан Nexus для проксирования репозиториев, не забываем добавить там новые данные
В инструкции, конечно, про это ни слова.
Дальше все по инструкции - apt update, получаем (со второй попытки) 581 packages can be upgraded.
apt list --upgradable | grep 8.4
получаем (со второй попытки(
proxmox-ve/stable 9.0.0 all [upgradable from: 8.4.0]
pve-manager/stable 9.0.3 all [upgradable from: 8.4.9]
qemu-server/stable 9.0.16 amd64 [upgradable from: 8.4.1]
Вот что странно. Я Ceph не использую, не люблю, и репозиторий с ним отключил.
но не тут то было – и в инструкции написано, что
Note: At this point a hyper-converged Ceph cluster installed directly in Proxmox VE must run Ceph 19.2 Squid, otherwise you need to upgrade Ceph first before upgrading to Proxmox VE 9 on Debian 13 Trixie!
Но в выборке apt list --upgradable | grep ceph есть
ceph-common/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2]
ceph-fuse/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2]
Пропустим и идем дальше:
apt dist-upgrade
The following NEW packages will be installed:
proxmox-kernel-6.14
proxmox-kernel-6.14.8-2-pve-signed
After this operation, 637 MB of additional disk space will be used.
За пять минут первая попытка обновления свалилось в ошибки:
Job for pvedaemon.service failed.
See "systemctl status pvedaemon.service" and "journalctl -xeu pvedaemon.service" for details.
Job for pvestatd.service failed.
See "systemctl status pvestatd.service" and "journalctl -xeu pvestatd.service" for details.
Job for pveproxy.service failed.
See "systemctl status pveproxy.service" and "journalctl -xeu pveproxy.service" for details.
Job for pvescheduler.service failed.
See "systemctl status pvescheduler.service" and "journalctl -xeu pvescheduler.service" for details.
Пустая, неделю назад установленная, ничем не нагруженная нода не может обновиться на ровном месте.
НУ ОТЛИЧНО.
В журналах:
proxmox pvedaemon[]: Compilation failed in require at /usr/share/perl5/PVE/API2/Cluster.pm line 14.
Сказать, что я ничего не понял в первые пару минут, это ничего не сказать.
Ребутнулся, и удивился еще больше.
Было pve-manager/8.4.9/() (running kernel: 6.8.12-9-pve)
Стало pve-manager/8.4.9/() (running kernel: 6.14.8-2-pve)
Ядро обновилось. PVE нет.
pve8to9 выдало ошибки:
Attempt to reload PVE/HA/Config.pm aborted.
Compilation failed in require at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
Compilation failed in require at /usr/share/perl5/PVE/API2/LXC/Status.pm line 24.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC/Status.pm line 29.
Compilation failed in require at /usr/share/perl5/PVE/API2/LXC.pm line 28.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC.pm line 28.
Compilation failed in require at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10.
Compilation failed in require at /usr/bin/pve8to9 line 6.
BEGIN failed--compilation aborted at /usr/bin/pve8to9 line 6.
В моем случае проще все переставить и повторить процедуру, чем разбираться, что пошло не так.
Может потому, что я прописал только:
deb http://my.local.proxy:8081/repository/Debian3/ trixie pve-no-subscription
Но не прописал Nexus прокси для:
trixie main contrib
trixie-updates main contrib
trixie-security main contrib
Следите за тем, что у вас в проксях и в /etc/apt/sources.list
Вопрос «зачем так сделано» остается открыт. Странный подход, что обновления не идут из одного источника, и есть риск получить проблем с зависимостями, когда Debian обновится, а Proxmox еще нет.
Доигрался я на скрипке. Необходимо переставить 8.4 еще раз, проверить настройки в /etc/apt/sources.list , перепроверить Nexus, и сделать обновление еще раз.
Потому что по умолчанию в /etc/apt/sources.list стоит то, что выбрано при установке. Я выбрал US – получил
deb http://ftp.us.debian.org/debian bookworm main contrib
deb http://ftp.us.debian.org/debian bookworm-updates main contrib
# security updates
deb http://security.debian.org bookworm-security main contrib
Вторая попытка обновления прошла удачно.
Очень неприятно то, что в процедуре обновления есть несколько пунктов для выполнения вручную.
Это чтение какой-то длинной страницы, выбор языка два раза, и напоследок вопросы «мы тут сервисы обновляем, вам их сразу перезагрузить или не сразу».
Само обновление после этих вопросов занимает где-то полчаса, и в середине процесса, где то на 98%, спрашивает еще пару вопросов про настройки, новые вы хотите или старые.
Что дальше писать, я еще не решил.
Или про Proxmox VE API , или воспользоваться полезным советом из комментариев и обновить Ansible нормально.
@editors, как сюда тег Proxmox добавить? не идет у меня этот каменный цветок.