Proxmox VE 8 を9にアップグレードしたときのメモ
Proxmox VE がアップグレードできるようになっていた
コミュニティを見ていてαバージョンがリリースされていたのは知っていたけれどVer.9が正式リリースされたので早速自宅クラスタに適用してみる。
公式マニュアルを参照しつつ試していく。
今回はすでに稼働中のクラスタに適用するためinplace upgrade
を参照しつつ試してみる。
Cephは組んでいないのでスキップ。
事前準備
まずは全ノードのアップデートを済ませておく。
apt update && apt upgrade -y
で更新する。
8.4以降であればアップデートはできるようだけれどとりあえず最新にしておく。
GUIからのWEB SHELLではなくSSHで繋ぐように書いてあるので用意しておく(ターミナルマルチプレクサがあると良いとかなんとか、まあ今回はいい)
まずは一番使っていないnode3からあげてみる。
VMはできるだけ停止しておく。
チェック
pve8to9
でチェックリストを確認できるみたい。
ここを一通りパスできればOK.
pve8to9
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =
Checking for package updates..
WARN: updates for the following packages are available:
pve-docs, pve-manager, libpve-common-perl
Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 8.4-0
Checking running kernel version..
PASS: running kernel '6.8.12-10-pve' is considered suitable for upgrade.
= CHECKING CLUSTER HEALTH/SETTINGS =
PASS: systemd unit 'pve-cluster.service' is in state 'active'
PASS: systemd unit 'corosync.service' is in state 'active'
PASS: Cluster Filesystem is quorate.
Analzying quorum settings and state..
INFO: configured votes - nodes: 3
INFO: configured votes - qdevice: 0
INFO: current expected votes: 3
INFO: current total votes: 3
Checking nodelist entries..
PASS: nodelist settings OK
Checking totem settings..
PASS: totem settings OK
INFO: run 'pvecm status' to get detailed cluster status..
= CHECKING HYPER-CONVERGED CEPH STATUS =
SKIP: no hyper-converged ceph setup detected!
= CHECKING CONFIGURED STORAGES =
SKIP: storage 'KIOXIA960GB' disabled.
PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
PASS: storage 'synology-nfs-share' enabled and active.
INFO: Checking storage content type configuration..
PASS: no storage content problems found
PASS: no storage re-uses a directory for multiple content types.
INFO: Check for usage of native GlusterFS storage plugin...
PASS: No GlusterFS storage found.
INFO: Checking whether all external RBD storages have the 'keyring' option configured
SKIP: No RBD storage configured.
= VIRTUAL GUEST CHECKS =
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if LXCFS is running with FUSE3 library, if already upgraded..
SKIP: not yet upgraded, no need to check the FUSE library version LXCFS uses
INFO: Checking for VirtIO devices that would change their MTU...
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking VM configurations for outdated machine versions
PASS: All VM machine versions are recent enough
= 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 'pvescheduler.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for supported & active NTP service..
PASS: Detected active time synchronisation unit 'chrony.service'
INFO: Checking if the local node's hostname 'proxmoxve03' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.100.6' configured and active on single interface.
INFO: Check node certificate's RSA key size
PASS: Certificate 'pve-root-ca.pem' passed Debian Busters (and newer) security level for TLS connections (4096 >= 2048)
PASS: Certificate 'pve-ssl.pem' passed Debian Busters (and newer) security level for TLS connections (2048 >= 2048)
INFO: Checking backup retention settings..
PASS: no backup retention problems found.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking permission system changes..
INFO: Checking custom role IDs
PASS: no custom roles defined
INFO: Checking node and guest description/note length..
PASS: All node config descriptions fit in the new limit of 64 KiB
INFO: Checking if the suite for the Debian security repository is correct..
PASS: found no suite mismatch
INFO: Checking for existence of NVIDIA vGPU Manager..
PASS: No NVIDIA vGPU Service found.
INFO: Checking bootloader configuration...
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'
PASS: bootloader packages installed correctly
INFO: Check for dkms modules...
SKIP: could not get dkms status
INFO: Check for legacy 'filter' or 'group' sections in /etc/pve/notifications.cfg...
INFO: Check for legacy 'notification-policy' or 'notification-target' options in /etc/pve/jobs.cfg...
PASS: No legacy 'notification-policy' or 'notification-target' options found!
INFO: Check for LVM autoactivation settings on LVM and LVM-thin storages...
NOTICE: storage 'local-lvm' has guest volumes with autoactivation enabled
NOTICE: Starting with PVE 9, autoactivation will be disabled for new LVM/LVM-thin guest volumes. This system has some volumes that still have autoactivation enabled. All volumes with autoactivations reside on local storage, where this normally does not causes any issues.
You can run the following command to disable autoactivation for existing LVM/LVM-thin guest volumes:
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
INFO: Check space requirements for RRD migration...
PASS: Enough free disk space for increased RRD metric granularity requirements, which is roughly 40.17 MiB.
INFO: Checking for IPAM DB files that have not yet been migrated.
PASS: No legacy IPAM DB found.
PASS: No legacy MAC DB found.
INFO: Checking if the legacy sysctl file '/etc/sysctl.conf' needs to be migrated to new '/etc/sysctl.d/' path.
PASS: Legacy file '/etc/sysctl.conf' exists but does not contain any settings.
INFO: Checking if matching CPU microcode package is installed.
WARN: The matching CPU microcode package 'intel-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.
apt install intel-microcode
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '--full' parameter
= SUMMARY =
TOTAL: 48
PASSED: 37
SKIPPED: 6
WARNINGS: 3
FAILURES: 0
ATTENTION: Please check the output for detailed information!
warnがでているが、無視して良さそうなので今回は無視する。
リポジトリ更新
aptの設定などを更新する。
apt update
apt dist-upgrade
pveversion
pve-manager/8.4.9/649acf70aab54798 (running kernel: 6.8.12-10-pve)
最後のコマンドで8.4.1より新しいことをもう一度確認しておく。
次は参照先のリポジトリを変えるので書いてあるコマンドを実行しておく。
ノーサブスクリプションを使っているのでそちらも忘れずに。
今まではDebian bookworm ベースだったのが更新でtrixie に変わる。
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: [https://enterprise.proxmox.com/debian/pve](https://enterprise.proxmox.com/debian/pve)
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: [http://download.proxmox.com/debian/pve](http://download.proxmox.com/debian/pve)
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
更新し終わったら新しい物を落としてくるapt update
。
ちゃんとtrixie
から落としてきているかを確認しておく。
ここは結構時間がかかるので気長に待っておく。
アップグレード
一通り終わったらアップグレードする。
apt dist-upgrade
途中止まって選択を求められることがあるので環境に応じて回答する。
自分の環境ではすべてDefaultのNで回った。
最後にもう一度pve8to9
でチェックをする。
1nodeだけなぜか
FAIL: Found mixed old and new package repository suites, fix before upgrading! Mismatches:
found suite trixie at in /etc/apt/sources.list:1
found suite bookworm at in /etc/apt/sources.list.d/pve-no-subscription.list:3
Configure the same base-suite for all Proxmox and Debian provided repos and ask original vendor for any third-party repos.
E.g., for the upgrade to Proxmox VE 9 use the 'trixie' suite.
というFailがでたが、後で直せるので良しとする。
1nodeずつ再起動してみるとする。
再起動後
Linux proxmoxve03 6.14.8-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.8-2 (2025-07-22T10:04Z) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Aug 6 21:20:33 2025 from
root@proxmoxve03:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.0
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
無事にバージョンが上がっていた。
GUIでログインして更新できていてクラスタが組めていれば終了。
ソースリストの修正
node1以外でも更新後パッケージリストがおかしく更新ができない
starting apt-get update
Hit:1 http://ftp.jp.debian.org/debian trixie InRelease
Hit:2 http://ftp.jp.debian.org/debian trixie-updates InRelease
Hit:3 http://security.debian.org trixie-security InRelease
Hit:4 http://download.proxmox.com/debian/pve trixie InRelease
Err:5 https://enterprise.proxmox.com/debian/pve trixie InRelease
401 Unauthorized [IP: 103.76.41.50 443]
Reading package lists...
W: Target Packages (pve-no-subscription/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
W: Target Packages (pve-no-subscription/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
W: Target Translations (pve-no-subscription/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
E: Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/trixie/InRelease 401 Unauthorized [IP: 103.76.41.50 443]
E: The repository 'https://enterprise.proxmox.com/debian/pve trixie InRelease' is not signed.
W: Target Packages (pve-no-subscription/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
W: Target Packages (pve-no-subscription/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
W: Target Translations (pve-no-subscription/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:8 and /etc/apt/sources.list.d/proxmox.sources:1
TASK ERROR: command 'apt-get update' failed: exit code 100
Enterprise repository と重複している部分を削除すればできるようになるはず。
cd /etc/apt/sources.list.d/
ls
ceph.list proxmox.sources pve-enterprise.list pve-enterprise.sources
/etc/apt/sources.list.d# rm ceph.list
/etc/apt/sources.list.d# rm pve-enterprise.list
/etc/apt/sources.list.d# rm pve-enterprise.sources
/etc/apt/sources.list.d# rm proxmox.sources
Discussion