0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxmox VE 8.3から9.0へのアップグレード

Posted at

はじめに

Proxmox VE 9.0が2025年8月5日にリリースされたことを受け、自宅ラボ環境でアップグレードを実施しました。本記事では、実際のアップグレード作業の詳細な手順と、作業中に遭遇した問題・解決方法について報告します。

検証環境

  • 現行バージョン: pve-manager/8.3.0/c1689ccb1065a83b
  • サーバーIP: 192.168.11.56
  • 運用VM数: 2台(1台はlocal-zfs, 1台はiSCSI-LVM上に実装)
  • ストレージ: local-zfs, iSCSI-LVM, local-nvme-zfs

Proxmox VE 9.0の概要

主要な改善点

1. 基盤技術の刷新

  • Debian 13 "Trixie" ベース
  • Linux Kernel 6.14.8-2 による最新ハードウェアサポート
  • QEMU 10.0.2LXC 6.0.4ZFS 2.3.3Ceph Squid 19.2.3 への更新

2. 注目の新機能

  • シック プロビジョニングLVMでのスナップショット対応
  • SDNファブリック機能 (OpenFabric、OSPF対応)
  • HAアフィニティルール
  • モバイルUI刷新 (Rust製Yewフレームワーク)

アップグレード前の準備

現在のシステム状況確認

# 現在のバージョン確認
pveversion

# システム情報確認  
uname -a
cat /etc/debian_version

# 稼働VM一覧確認
qm list
root@tx1320m1:~# pveversion
pve-manager/8.3.0/c1689ccb1065a83b (running kernel: 6.8.12-4-pve)

root@tx1320m1:~# uname -a
Linux tx1320m1 6.8.12-4-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-4 (2024-11-06T15:04Z) x86_64 GNU/Linux
root@tx1320m1:~# cat /etc/debian_version
12.8

root@tx1320m1:~# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
       100 rhel9                stopped    4096              60.00 0         
       101 RHEL9-Proxmox84-iSCSI stopped    4096             100.00 0    

image.png


バックアップの実施

重要: アップグレード前の必須作業として、包括的なバックアップを実施します。

# 全VMのバックアップ実行(必要に応じて)
vzdump --all 1 --storage local --compress gzip --mode snapshot

# 重要設定ファイルのバックアップ
cp -r /etc/pve /root/backup-pve-$(date +%Y%m%d)
cp /etc/network/interfaces /root/backup-interfaces-$(date +%Y%m%d)  
cp /etc/passwd /root/backup-passwd-$(date +%Y%m%d)
cp /etc/resolv.conf /root/backup-resolv-$(date +%Y%m%d)
root@tx1320m1:~# cp -r /etc/pve /root/backup-pve-$(date +%Y%m%d)
root@tx1320m1:~# cp /etc/network/interfaces /root/backup-interfaces-$(date +%Y%m%d)  
root@tx1320m1:~# cp /etc/passwd /root/backup-passwd-$(date +%Y%m%d)
root@tx1320m1:~# cp /etc/resolv.conf /root/backup-resolv-$(date +%Y%m%d)
root@tx1320m1:~# ls -alF /root/
total 62
drwx------  4 root root   12 Aug 24 10:53 ./
drwxr-xr-x 20 root root   24 Mar 10 23:34 ../
-rw-r--r--  1 root root  248 Aug 24 10:53 backup-interfaces-20250824
-rw-r--r--  1 root root 1472 Aug 24 10:53 backup-passwd-20250824
drwxr-xr-x  9 root root   27 Aug 24 10:52 backup-pve-20250824/
-rw-r--r--  1 root root   50 Aug 24 10:53 backup-resolv-20250824
-rw-------  1 root root 2528 Aug 19 00:54 .bash_history
-rw-r--r--  1 root root  571 Apr 11  2021 .bashrc
-rw-r--r--  1 root root   31 Mar 10 22:35 .forward
-rw-r--r--  1 root root  161 Jul  9  2019 .profile
-rw-------  1 root root 1024 Mar 10 22:40 .rnd
drwx------  2 root root    6 Mar 10 22:40 .ssh/

アップグレード作業の実施

ステップ1: Proxmox VE 8.4への中間アップグレード

公式ガイドに従い、まず8.4系への更新を実施します。

# パッケージリストの更新
apt update

# 最新パッケージへの更新
apt dist-upgrade
root@tx1320m1:~# apt update
Get:1 http://security.debian.org bookworm-security InRelease [48.0 kB]
Get:2 http://security.debian.org bookworm-security/main amd64 Packages [277 kB]
Get:3 http://security.debian.org bookworm-security/main Translation-en [167 kB]                               
Get:4 http://download.proxmox.com/debian/pve bookworm InRelease [2,768 B]                                     
Hit:5 http://ftp.jp.debian.org/debian bookworm InRelease               
Get:6 http://ftp.jp.debian.org/debian bookworm-updates InRelease [55.4 kB]
Fetched 550 kB in 8s (72.2 kB/s)                                                                              
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
177 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@tx1320m1:~# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done

省略

Processing triggers for proxmox-backup-file-restore (3.4.6-1) ...
Updating file-restore initramfs...
14343 blocks
Processing triggers for initramfs-tools (0.142+deb12u3) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-13-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
Copying and configuring kernels on /dev/disk/by-uuid/90AF-4123
        Copying kernel 6.8.12-13-pve
        Copying kernel 6.8.12-4-pve
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-13-pve
Found initrd image: /boot/initrd.img-6.8.12-13-pve
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
done
Processing triggers for ca-certificates (20230311+deb12u1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for pve-ha-manager (4.0.7) ...

再起動:

# 念のため再起動
reboot

更新完了後のバージョン確認:

# バージョン確認(8.4.1以上であることを確認)
pveversion
root@tx1320m1:~# pveversion
pve-manager/8.4.11/14a32011146091ed (running kernel: 6.8.12-4-pve)

ステップ2: pve8to9チェッカーによる事前診断

Proxmox VE 9への準備状況をチェックする専用ツールを実行します。

# アップグレードチェック
pve8to9
root@tx1320m1:~# pve8to9
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages up-to-date

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 8.4-0

Checking running kernel version..
PASS: running kernel '6.8.12-13-pve' is considered suitable for upgrade.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'TrueNAS' enabled and active.
PASS: storage 'iSCSI-LVM' enabled and active.
PASS: storage 'local' enabled and active.
PASS: storage 'local-nvme-zfs' enabled and active.
PASS: storage 'local-zfs' 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 'tx1320m1' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.11.56' 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...
INFO: systemd-boot package installed on legacy-boot system is not necessary, consider removing it
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 'iSCSI-LVM' has guest volumes with autoactivation enabled
WARN: 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. Some affected volumes are on shared LVM storages, which has known issues (Bugzilla #4997). Disabling autoactivation for those is strongly recommended!
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: Checking lvm config for thin_check_options...
PASS: Check for correct thin_check_options passed
INFO: Check space requirements for RRD migration...
PASS: Enough free disk space for increased RRD metric granularity requirements, which is roughly 4.79 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.
        Ensure you enable the 'non-free-firmware' component in the apt sources and run:
        apt install intel-microcode
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '--full' parameter

= SUMMARY =

TOTAL:    44
PASSED:   35
SKIPPED:  6
WARNINGS: 2
FAILURES: 0

ATTENTION: Please check the output for detailed information!

pve8to9チェッカーを実行した際に出力された以下の2つの警告について、対処方法を記載します。

1. Intel Microcode警告

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.

2. LVM Autoactivation警告

WARN: 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.

エラーの背景と重要性

Intel Microcodeとは

Intel Microcodeは、CPUの動作を制御する低レベルソフトウェアで、以下の重要な役割があります:

  • セキュリティ修正: Spectre/Meltdown等の脆弱性対策
  • バグ修正: CPUの動作不良修正
  • パフォーマンス最適化: 処理効率の向上

なぜ警告が出るのか:

  • Proxmoxはセキュリティ向上のため推奨している
  • ただしライセンス上の理由でデフォルトではインストールされない
  • 特に仮想化環境では影響が拡大するため重要

LVM Autoactivationとは

LVM Autoactivationは、システム起動時やストレージ接続時にLogical Volume(LV)を自動的にアクティブ化する機能です。

PVE 9.0での変更点:

  • 従来: 自動アクティベーション有効(デフォルト)
  • PVE 9.0: 自動アクティベーション無効(新デフォルト)
  • 理由: 共有ストレージでの競合問題を防止

なぜ問題になるのか:

クラスター環境での問題例:
Node1: VM起動 → LVアクティブ
Node2: 同じLVを自動アクティブ化 → 競合発生
結果: VM作成失敗・マイグレーション失敗

対処1: Intel Microcodeのインストール

ステップ1: リポジトリ設定確認

# 現在の設定確認
cat /etc/apt/sources.list
cat /etc/debian_version
root@tx1320m1:~# cat /etc/apt/sources.list
cat /etc/debian_version
deb http://ftp.jp.debian.org/debian bookworm main contrib

deb http://ftp.jp.debian.org/debian bookworm-updates main contrib

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

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

12.11

ステップ2: non-free-firmwareリポジトリの追加

Proxmox VE 8.4(Debian 12 Bookworm)の場合:

# バックアップ作成
cp /etc/apt/sources.list /etc/apt/sources.list.backup-$(date +%Y%m%d)

# Debian 12用の正しい設定
cat > /etc/apt/sources.list << EOF
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
root@tx1320m1:~# cp /etc/apt/sources.list /etc/apt/sources.list.backup-$(date +%Y%m%d)
root@tx1320m1:~# cat > /etc/apt/sources.list << EOF
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
root@tx1320m1:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
root@tx1320m1:~# cat /etc/apt/sources.list.backup-20250824 
deb http://ftp.jp.debian.org/debian bookworm main contrib

deb http://ftp.jp.debian.org/debian bookworm-updates main contrib

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

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

ステップ3: パッケージインストール

# パッケージリスト更新
apt update

# intel-microcodeの利用可能性確認
apt policy intel-microcode
root@tx1320m1:~# apt update
Get:1 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:2 http://deb.debian.org/debian bookworm InRelease [151 kB]              
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://security.debian.org/debian-security bookworm-security/main amd64 Packages [277 kB]
Get:5 http://security.debian.org/debian-security bookworm-security/main Translation-en [167 kB]
Get:6 http://security.debian.org/debian-security bookworm-security/contrib amd64 Packages [896 B]
Get:7 http://security.debian.org/debian-security bookworm-security/contrib Translation-en [652 B]
Get:8 http://security.debian.org/debian-security bookworm-security/non-free-firmware amd64 Packages [688 B]
Get:9 http://security.debian.org/debian-security bookworm-security/non-free-firmware Translation-en [472 B]
Get:10 http://deb.debian.org/debian bookworm/main amd64 Packages [8,793 kB]
Get:11 http://deb.debian.org/debian bookworm/main Translation-en [6,109 kB]
Get:12 http://deb.debian.org/debian bookworm/contrib amd64 Packages [53.5 kB]
Get:13 http://deb.debian.org/debian bookworm/contrib Translation-en [48.4 kB]
Get:14 http://deb.debian.org/debian bookworm/non-free amd64 Packages [102 kB]
Get:15 http://deb.debian.org/debian bookworm/non-free Translation-en [68.1 kB]
Get:16 http://deb.debian.org/debian bookworm/non-free-firmware amd64 Packages [6,372 B]
Get:17 http://deb.debian.org/debian bookworm/non-free-firmware Translation-en [20.9 kB]
Get:18 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6,924 B]                            
Get:19 http://deb.debian.org/debian bookworm-updates/main Translation-en [5,448 B]                            
Fetched 15.9 MB in 8s (1,922 kB/s)                                                                            
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@tx1320m1:~# apt policy intel-microcode
intel-microcode:
  Installed: (none)
  Candidate: 3.20250512.1~deb12u1
  Version table:
     3.20250512.1~deb12u1 500
        500 http://security.debian.org/debian-security bookworm-security/non-free-firmware amd64 Packages
     3.20250211.1~deb12u1 500
        500 http://deb.debian.org/debian bookworm/non-free-firmware amd64 Packages
# インストール実行
apt install intel-microcode
root@tx1320m1:~# apt install intel-microcode
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  iucode-tool
The following NEW packages will be installed:
  intel-microcode iucode-tool
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.2 MB of archives.
After this operation, 19.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://deb.debian.org/debian bookworm/main amd64 iucode-tool amd64 2.3.1-3 [56.1 kB]
Get:2 http://security.debian.org/debian-security bookworm-security/non-free-firmware amd64 intel-microcode amd64 3.20250512.1~deb12u1 [11.1 MB]
Fetched 11.2 MB in 1s (21.0 MB/s)                                            
Selecting previously unselected package iucode-tool.
(Reading database ... 54105 files and directories currently installed.)
Preparing to unpack .../iucode-tool_2.3.1-3_amd64.deb ...
Unpacking iucode-tool (2.3.1-3) ...
Selecting previously unselected package intel-microcode.
Preparing to unpack .../intel-microcode_3.20250512.1~deb12u1_amd64.deb ...
Unpacking intel-microcode (3.20250512.1~deb12u1) ...
Setting up iucode-tool (2.3.1-3) ...
Setting up intel-microcode (3.20250512.1~deb12u1) ...
intel-microcode: microcode will be updated at next boot
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for initramfs-tools (0.142+deb12u3) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-13-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
Copying and configuring kernels on /dev/disk/by-uuid/90AF-4123
        Copying kernel 6.8.12-13-pve
        Copying kernel 6.8.12-4-pve
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-13-pve
Found initrd image: /boot/initrd.img-6.8.12-13-pve
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
done

ステップ4: インストール確認

# インストール確認
dpkg -l | grep intel-microcode

# マイクロコードファイル確認
ls -la /lib/firmware/intel-ucode/

# 現在のマイクロコード情報
cat /proc/cpuinfo | grep microcode | head -1
root@tx1320m1:~# dpkg -l | grep intel-microcode
ii  intel-microcode                      3.20250512.1~deb12u1                amd64        Processor microcode firmware for Intel CPUs
root@tx1320m1:~# ls -la /lib/firmware/intel-ucode/
total 19580
drwxr-xr-x  2 root root     127 Aug 24 12:28 .
drwxr-xr-x 74 root root     288 Aug 24 12:28 ..
-rw-r--r--  1 root root    8192 May 19 08:06 06-0f-02
-rw-r--r--  1 root root   12288 May 19 08:06 06-0f-06
-rw-r--r--  1 root root    8192 May 19 08:06 06-0f-07
-rw-r--r--  1 root root    4096 May 19 08:06 06-0f-0a
-rw-r--r--  1 root root   28672 May 19 08:06 06-0f-0b
-rw-r--r--  1 root root   12288 May 19 08:06 06-0f-0d
-rw-r--r--  1 root root   16384 May 19 08:06 06-16-01
-rw-r--r--  1 root root   20480 May 19 08:06 06-17-06
-rw-r--r--  1 root root    4096 May 19 08:06 06-17-07
-rw-r--r--  1 root root   24576 May 19 08:06 06-17-0a
-rw-r--r--  1 root root   14336 May 19 08:06 06-1a-04
-rw-r--r--  1 root root   12288 May 19 08:06 06-1a-05
-rw-r--r--  1 root root   15360 May 19 08:06 06-1c-02
-rw-r--r--  1 root root   20480 May 19 08:06 06-1c-0a
-rw-r--r--  1 root root    4096 May 19 08:06 06-1d-01
-rw-r--r--  1 root root    9216 May 19 08:06 06-1e-05
-rw-r--r--  1 root root    9216 May 19 08:06 06-25-02
-rw-r--r--  1 root root    4096 May 19 08:06 06-25-05
-rw-r--r--  1 root root   12288 May 19 08:06 06-2a-07
-rw-r--r--  1 root root   11264 May 19 08:06 06-2c-02
-rw-r--r--  1 root root   18432 May 19 08:06 06-2d-06
-rw-r--r--  1 root root   19456 May 19 08:06 06-2d-07
-rw-r--r--  1 root root    9216 May 19 08:06 06-2e-06
-rw-r--r--  1 root root   14336 May 19 08:06 06-2f-02
-rw-r--r--  1 root root  104448 May 19 08:06 06-37-08
-rw-r--r--  1 root root   52224 May 19 08:06 06-37-09
-rw-r--r--  1 root root   14336 May 19 08:06 06-3a-09.initramfs
-rw-r--r--  1 root root   23552 May 19 08:06 06-3c-03.initramfs
-rw-r--r--  1 root root   19456 May 19 08:06 06-3d-04.initramfs
-rw-r--r--  1 root root   16384 May 19 08:06 06-3e-04
-rw-r--r--  1 root root   11264 May 19 08:06 06-3e-06
-rw-r--r--  1 root root   17408 May 19 08:06 06-3e-07
-rw-r--r--  1 root root   38912 May 19 08:06 06-3f-02.initramfs
-rw-r--r--  1 root root   23552 May 19 08:06 06-3f-04.initramfs
-rw-r--r--  1 root root   22528 May 19 08:06 06-45-01.initramfs
-rw-r--r--  1 root root   25600 May 19 08:06 06-46-01.initramfs
-rw-r--r--  1 root root   14336 May 19 08:06 06-47-01.initramfs
-rw-r--r--  1 root root   69632 May 19 08:06 06-4c-03
-rw-r--r--  1 root root   68608 May 19 08:06 06-4c-04
-rw-r--r--  1 root root   84992 May 19 08:06 06-4d-08
-rw-r--r--  1 root root  106496 May 19 08:06 06-4e-03.initramfs
-rw-r--r--  1 root root   35840 May 19 08:06 06-4f-01.initramfs
-rw-r--r--  1 root root   36864 May 19 08:06 06-55-03
-rw-r--r--  1 root root   44032 May 19 08:06 06-55-04
-rw-r--r--  1 root root   47104 May 19 08:06 06-55-05
-rw-r--r--  1 root root   39936 May 19 08:06 06-55-07
-rw-r--r--  1 root root   30720 May 19 08:06 06-55-0b
-rw-r--r--  1 root root   32768 May 19 08:06 06-56-02.initramfs
-rw-r--r--  1 root root   28672 May 19 08:06 06-56-03
-rw-r--r--  1 root root   27648 May 19 08:06 06-56-04
-rw-r--r--  1 root root   23552 May 19 08:06 06-56-05
-rw-r--r--  1 root root   15360 May 19 08:06 06-5c-02
-rw-r--r--  1 root root   17408 May 19 08:06 06-5c-09
-rw-r--r--  1 root root   16384 May 19 08:06 06-5c-0a
-rw-r--r--  1 root root  109568 May 19 08:06 06-5e-03.initramfs
-rw-r--r--  1 root root   11264 May 19 08:06 06-5f-01
-rw-r--r--  1 root root   87040 May 19 08:06 06-66-03
-rw-r--r--  1 root root  283648 May 19 08:06 06-6a-05
-rw-r--r--  1 root root  309248 May 19 08:06 06-6a-06
-rw-r--r--  1 root root  300032 May 19 08:06 06-6c-01
-rw-r--r--  1 root root   76800 May 19 08:06 06-7a-01
-rw-r--r--  1 root root   76800 May 19 08:06 06-7a-08
-rw-r--r--  1 root root  115712 May 19 08:06 06-7e-05
-rw-r--r--  1 root root   34816 May 19 08:06 06-8a-01
-rw-r--r--  1 root root  112640 May 19 08:06 06-8c-01
-rw-r--r--  1 root root   99328 May 19 08:06 06-8c-02
-rw-r--r--  1 root root  105472 May 19 08:06 06-8d-01
-rw-r--r--  1 root root  212992 May 19 08:06 06-8e-09.initramfs
-rw-r--r--  1 root root  105472 May 19 08:06 06-8e-0a.initramfs
-rw-r--r--  1 root root  106496 May 19 08:06 06-8e-0b.initramfs
-rw-r--r--  1 root root  106496 May 19 08:06 06-8e-0c.initramfs
-rw-r--r--  1 root root 1216512 May 19 08:06 06-8f-04
-rw-r--r--  1 root root 1216512 May 19 08:06 06-8f-05
-rw-r--r--  1 root root 1216512 May 19 08:06 06-8f-06
-rw-r--r--  1 root root  591872 May 19 08:06 06-8f-07
-rw-r--r--  1 root root 1216512 May 19 08:06 06-8f-08
-rw-r--r--  1 root root   20480 May 19 08:06 06-96-01
-rw-r--r--  1 root root  226304 May 19 08:06 06-97-02
-rw-r--r--  1 root root  226304 May 19 08:06 06-97-05
-rw-r--r--  1 root root  224256 May 19 08:06 06-9a-03
-rw-r--r--  1 root root  344064 May 19 08:06 06-9a-04
-rw-r--r--  1 root root   20480 May 19 08:06 06-9c-00
-rw-r--r--  1 root root  108544 May 19 08:06 06-9e-09.initramfs
-rw-r--r--  1 root root  105472 May 19 08:06 06-9e-0a.initramfs
-rw-r--r--  1 root root  106496 May 19 08:06 06-9e-0b.initramfs
-rw-r--r--  1 root root  106496 May 19 08:06 06-9e-0c.initramfs
-rw-r--r--  1 root root  106496 May 19 08:06 06-9e-0d.initramfs
-rw-r--r--  1 root root   97280 May 19 08:06 06-a5-02
-rw-r--r--  1 root root   98304 May 19 08:06 06-a5-03
-rw-r--r--  1 root root   97280 May 19 08:06 06-a5-05
-rw-r--r--  1 root root   98304 May 19 08:06 06-a6-00
-rw-r--r--  1 root root   97280 May 19 08:06 06-a6-01
-rw-r--r--  1 root root  108544 May 19 08:06 06-a7-01
-rw-r--r--  1 root root  140288 May 19 08:06 06-aa-04
-rw-r--r--  1 root root 3299328 May 19 08:06 06-ad-01
-rw-r--r--  1 root root 1542144 May 19 08:06 06-af-03
-rw-r--r--  1 root root  136192 May 19 08:06 06-b5-00
-rw-r--r--  1 root root  219136 May 19 08:06 06-b7-01
-rw-r--r--  1 root root  219136 May 19 08:06 06-b7-04
-rw-r--r--  1 root root  224256 May 19 08:06 06-ba-02
-rw-r--r--  1 root root  224256 May 19 08:06 06-ba-03
-rw-r--r--  1 root root  224256 May 19 08:06 06-ba-08
-rw-r--r--  1 root root   79872 May 19 08:06 06-bd-01
-rw-r--r--  1 root root  139264 May 19 08:06 06-be-00
-rw-r--r--  1 root root  226304 May 19 08:06 06-bf-02
-rw-r--r--  1 root root  226304 May 19 08:06 06-bf-05
-rw-r--r--  1 root root  226304 May 19 08:06 06-bf-06
-rw-r--r--  1 root root  226304 May 19 08:06 06-bf-07
-rw-r--r--  1 root root   90112 May 19 08:06 06-c5-02
-rw-r--r--  1 root root   90112 May 19 08:06 06-c6-02
-rw-r--r--  1 root root   90112 May 19 08:06 06-c6-04
-rw-r--r--  1 root root   90112 May 19 08:06 06-ca-02
-rw-r--r--  1 root root  563200 May 19 08:06 06-cf-02
-rw-r--r--  1 root root    7168 May 19 08:06 0f-03-04
-rw-r--r--  1 root root   10240 May 19 08:06 0f-04-01
-rw-r--r--  1 root root    2048 May 19 08:06 0f-04-03
-rw-r--r--  1 root root    3072 May 19 08:06 0f-04-04
-rw-r--r--  1 root root    3072 May 19 08:06 0f-04-07
-rw-r--r--  1 root root    9216 May 19 08:06 0f-04-08
-rw-r--r--  1 root root    2048 May 19 08:06 0f-04-09
-rw-r--r--  1 root root    4096 May 19 08:06 0f-04-0a
-rw-r--r--  1 root root    3072 May 19 08:06 0f-06-02
-rw-r--r--  1 root root    6144 May 19 08:06 0f-06-04
-rw-r--r--  1 root root    4096 May 19 08:06 0f-06-05
-rw-r--r--  1 root root    2048 May 19 08:06 0f-06-08
root@tx1320m1:~# cat /proc/cpuinfo | grep microcode | head -1
microcode       : 0x27

対処2: LVM Autoactivationの無効化

ステップ1: 現在の状況確認

# 影響を受けるストレージ確認
pvs
lvs | grep -E "(vm-|base-)"

# 自動アクティベーション状態確認
lvs -o name,lv_active_locally,autoactivation | grep vm-
root@tx1320m1:~# pvs
lvs | grep -E "(vm-|base-)"
  PV         VG           Fmt  Attr PSize   PFree  
  /dev/sdb   iSCSI-LVM-VG lvm2 a--  379.99g 279.99g
  vm-101-disk-0 iSCSI-LVM-VG -wi-a----- 100.00g                                                    
root@tx1320m1:~# pvs
  PV         VG           Fmt  Attr PSize   PFree  
  /dev/sdb   iSCSI-LVM-VG lvm2 a--  379.99g 279.99g
root@tx1320m1:~# lvs | grep -E "(vm-|base-)"
  vm-101-disk-0 iSCSI-LVM-VG -wi-a----- 100.00g                                                    
root@tx1320m1:~# lvs -o name,lv_active_locally,autoactivation | grep vm-
  vm-101-disk-0 active locally enabled

ステップ2: 公式移行スクリプトの実行

# スクリプト内容の事前確認(任意)
cat /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation

# 移行スクリプト実行
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
root@tx1320m1:~# /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
INFO: Starting with PVE 9, autoactivation will be disabled for new LVM/LVM-thin guest volumes. This script disables autoactivation for existing LVM/LVM-thin guest volumes.
Disable autoactivation on 1 guest volumes on storage 'iSCSI-LVM'? (y/N)? y
INFO: disabling autoactivation for iSCSI-LVM-VG/vm-101-disk-0 on storage 'iSCSI-LVM'...
  Logical volume iSCSI-LVM-VG/vm-101-disk-0 changed.
PASS: all guest volumes on storage 'iSCSI-LVM' now have autoactivation disabled
PASS: successfully disabled autoactivation for existing guest volumes on all enabled and active LVM/LVM-thin storages.

ステップ3: 設定変更の確認

# 変更結果確認
lvs -o name,lv_active_locally,autoactivation | grep vm-

# VM動作状況確認(影響がないことを確認)
qm list
root@tx1320m1:~# lvs -o name,lv_active_locally,autoactivation | grep vm-
  vm-101-disk-0 active locally        
root@tx1320m1:~# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
       100 rhel9                stopped    4096              60.00 0         
       101 RHEL9-Proxmox84-iSCSI stopped    4096             100.00 0         

対処完了後の確認

両方の問題が解決されたかチェック

# pve8to9チェッカーで確認
pve8to9
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages up-to-date

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 8.4-0

Checking running kernel version..
PASS: running kernel '6.8.12-13-pve' is considered suitable for upgrade.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'TrueNAS' enabled and active.
PASS: storage 'iSCSI-LVM' enabled and active.
PASS: storage 'local' enabled and active.
PASS: storage 'local-nvme-zfs' enabled and active.
PASS: storage 'local-zfs' 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 'tx1320m1' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.11.56' 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...
INFO: systemd-boot package installed on legacy-boot system is not necessary, consider removing it
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...
PASS: all guest volumes on storage 'iSCSI-LVM' have autoactivation disabled
PASS: No problematic volumes found.
INFO: Checking lvm config for thin_check_options...
PASS: Check for correct thin_check_options passed
INFO: Check space requirements for RRD migration...
PASS: Enough free disk space for increased RRD metric granularity requirements, which is roughly 4.79 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.
PASS: Found matching CPU microcode package 'intel-microcode' installed.
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '--full' parameter

= SUMMARY =

TOTAL:    44
PASSED:   38
SKIPPED:  6
WARNINGS: 0
FAILURES: 0

システム再起動(Microcode適用のため)

# マイクロコード適用のため再起動
reboot

再起動後の最終確認:

# マイクロコード適用確認
dmesg | grep microcode
root@tx1320m1:~# dmesg | grep microcode
[    0.604445] microcode: Current revision: 0x00000028
[    0.604447] microcode: Updated early from: 0x00000027

ステップ3: APTリポジトリの更新

Debian基盤リポジトリの更新

# 現在のリポジトリ設定確認
cat /etc/apt/sources.list

# 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
root@tx1320m1:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
root@tx1320m1:~# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
root@tx1320m1:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware

Proxmox VE 9リポジトリの追加

Enterprise版の場合:

cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

No-Subscription版の場合:

cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

念のため、両方のリポジトリを追加しておきます。

root@tx1320m1:~# cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
root@tx1320m1:~# cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

No-SubscriptionでEnterpriseリポジトリを有効にすると、次行程のapt updateが失敗します。
EnterpriseリポジトリをWebUIから手動で無効に設定する必要があります。

image.png

リポジトリ設定の確認

# パッケージインデックス更新
apt update

# リポジトリ設定確認
apt policy
root@tx1320m1:~# apt update
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://security.debian.org/debian-security trixie-security InRelease
Hit:3 http://deb.debian.org/debian trixie-updates InRelease
Hit:4 http://download.proxmox.com/debian/pve trixie InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
579 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@tx1320m1:~# apt policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 Packages
     release o=Proxmox,a=stable,n=trixie,l=Proxmox Debian Repository,c=pve-no-subscription,b=amd64
     origin download.proxmox.com
 500 http://security.debian.org/debian-security trixie-security/main amd64 Packages
     release v=13,o=Debian,a=stable-security,n=trixie-security,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://deb.debian.org/debian trixie-updates/main amd64 Packages
     release v=13-updates,o=Debian,a=stable-updates,n=trixie-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian trixie/non-free-firmware amd64 Packages
     release v=13.0,o=Debian,a=stable,n=trixie,l=Debian,c=non-free-firmware,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian trixie/non-free amd64 Packages
     release v=13.0,o=Debian,a=stable,n=trixie,l=Debian,c=non-free,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian trixie/contrib amd64 Packages
     release v=13.0,o=Debian,a=stable,n=trixie,l=Debian,c=contrib,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian trixie/main amd64 Packages
     release v=13.0,o=Debian,a=stable,n=trixie,l=Debian,c=main,b=amd64
     origin deb.debian.org
Pinned packages:

ステップ4: システムアップグレードの実行

メジャーアップグレードを実行します。

# メジャーアップグレード実行
apt dist-upgrade
root@tx1320m1:~# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  libarchive13 libasound2 libcurl3-gnutls libcurl4 libdb5.3 libdbi1 libdw1 libefiboot1 libefivar1 libelf1
  libevent-2.1-7 libevent-core-2.1-7 libext2fs2 libfuse2 libgdbm-compat4 libgdbm6 libglib2.0-0 libgnutls-dane0
  libgnutls30 libgnutlsxx30 libgoogle-perftools4 libhogweed6 libipset13 libisns0 libknet1 liblttng-ust-common1
  liblttng-ust-ctl5 liblttng-ust1 libmagic1 libmpg123-0 libnettle8 libnozzle1 libnpth0 liboath0 liborc-0.4-0
  libpcap0.8 libpng16-16 libprotobuf32 libpsl5 libqt5core5a libqt5dbus5 libqt5network5 librdmacm1 libreadline8
  librrd8 libsmbclient libssh2-1 libssl3 libstatgrab10 libtcmalloc-minimal4 libtevent0 libtirpc3 liburcu8
  libusbredirparser1 libuv1 libzfs4linux libzpool5linux python3-distutils python3-lib2to3
The following NEW packages will be installed:
  conntrack dracut-install fonts-dejavu-mono frr frr-pythontools fuse3 gcc-14-base gir1.2-girepository-2.0
  gir1.2-glib-2.0 grub-efi-amd64-unsigned initramfs-tools-bin libaio1t64 libapt-pkg7.0 libarchive13t64
  libasound2t64 libassuan9 libatomic1 libcares2 libcbor0.10 libclass-methodmaker-perl libcompel1
  libcurl3t64-gnutls libcurl4t64 libdb5.3t64 libdbi1t64 libdrm-amdgpu1 libdrm-intel1 libdw1t64 libefiboot1t64
  libefivar1t64 libelf1t64 libevent-2.1-7t64 libevent-core-2.1-7t64 libext2fs2t64 libflac14 libfuse2t64
  libfuse3-4 libgdbm-compat4t64 libgdbm6t64 libgirepository-1.0-1 libglib2.0-0t64 libglib2.0-data
  libgnutls-dane0t64 libgnutls30t64 libgoogle-perftools4t64 libhogweed6t64 libicu76 libio-compress-brotli-perl
  libipset13t64 libisns0t64 libjs-bootstrap5 libknet1t64 liblastlog2-2 libldap-common libldap2 libllvm19
  liblsof0 liblttng-ust-common1t64 liblttng-ust-ctl5t64 liblttng-ust1t64 liblua5.4-0 libmagic1t64
  libmpg123-0t64 libnbd0 libnettle8t64 libnghttp3-9 libngtcp2-16 libngtcp2-crypto-gnutls8 libnozzle1t64
  libnpth0t64 liboath0t64 liborc-0.4-0t64 libpcap0.8t64 libpciaccess0 libpcre2-posix3 libperl5.40
  libpng16-16t64 libprotobuf32t64 libpsl5t64 libpython3.13-minimal libpython3.13-stdlib libqb-tools
  libqt5core5t64 libqt5dbus5t64 libqt5network5t64 librdmacm1t64 libreadline8t64 libreiserfscore0t64 librrd8t64
  libsensors-config libsensors5 libsframe1 libsmbclient0 libsndio7.0 libssh2-1t64 libssl3t64 libstatgrab10t64

省略

(Reading database ... 54256 files and directories currently installed.)
Preparing to unpack .../base-files_13.8_amd64.deb ...
Unpacking base-files (13.8) over (12.4+deb12u11) ...
Setting up base-files (13.8) ...
Installing new version of config file /etc/debian_version ...

Configuration file '/etc/issue'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** issue (Y/I/N/O/D/Z) [default=N] ? Y

Yと入力してEnter

Installing new version of config file /etc/issue ...
Installing new version of config file /etc/issue.net ...
Updating /etc/profile to current default.
Updating /root/.profile to current default.
(Reading database ... 54267 files and directories currently installed.)

省略

There are services installed on your system which need to be restarted
when certain libraries, such as libpam, libc, and libssl, are upgraded.
Since these restarts may cause interruptions of service for the system,
you will normally be prompted on each upgrade for the list of services
you wish to restart.
You can choose this option to avoid being prompted; instead,
all necessary restarts will be done for you automatically
so you can avoid being asked questions on each library upgrade.           

Restart services during package upgrades without asking?                                
<Yes> <No>

サービスの自動再起動を行うため、Yesを選択します。

省略

Adding boot menu entry for UEFI Firmware Settings ...
done
Setting up libpve-notify-perl (9.0.6) ...
Setting up grub-efi-amd64-signed (1+2.12+9+pmx2) ...
Setting up grub-efi-amd64-unsigned (2.12-9+pmx2) ...
Setting up libpve-network-perl (1.1.6) ...
Setting up grub2-common (2.12-9+pmx2) ...
Setting up python3-rbd (19.2.3-pve1) ...
Setting up glusterfs-client (11.1-6) ...
Setting up grub-pc-bin (2.12-9+pmx2) ...
Setting up lvm2 (2.03.31-2+pmx1) ...

Configuration file '/etc/lvm/lvm.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** lvm.conf (Y/I/N/O/D/Z) [default=N] ? Y

Yと入力してEnter

Setting up pve-container (6.0.9) ...
Setting up qemu-server (9.0.18) ...
Setting up pve-manager (9.0.5) ...

Configuration file '/etc/apt/sources.list.d/pve-enterprise.sources'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** pve-enterprise.sources (Y/I/N/O/D/Z) [default=N] ?

Yと入力してEnter

省略

update-initramfs: Generating /boot/initrd.img-6.14.8-2-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
Copying and configuring kernels on /dev/disk/by-uuid/90AF-4123
        Copying kernel 6.14.8-2-pve
        Copying kernel 6.8.12-13-pve
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.8-2-pve
Found initrd image: /boot/initrd.img-6.14.8-2-pve
Found linux image: /boot/vmlinuz-6.8.12-13-pve
Found initrd image: /boot/initrd.img-6.8.12-13-pve
Adding boot menu entry for UEFI Firmware Settings ...
done
Processing triggers for postfix (3.10.3-2) ...
Restarting postfix
Processing triggers for pve-ha-manager (5.0.4) ...

設定ファイル更新の対応

アップグレード過程で設定ファイルの更新について確認を求められます。


主要な設定ファイルの推奨選択:

ファイル 推奨選択 理由
/etc/issue N(現在のまま) Proxmox VEが自動生成
/etc/lvm/lvm.conf Y(新バージョン) 新バージョンに反映

念のため、差分を確認してみました。

root@tx1320m1:/etc/lvm# diff /etc/issue.dpkg-old /etc/issue

差分なし

root@tx1320m1:/etc/lvm# diff -ruN lvm.conf.dpkg-old lvm.conf

非常に多くの差分があるが、以下の箇所以外ほぼ全てコメントアウトされている。

report {
}

ステップ5: システム再起動と確認

# システム再起動
reboot

アップグレード完了後の確認

システム動作確認

再起動後、アップグレード結果を確認します。

# バージョン確認
pveversion

# カーネル確認
uname -r

# サービス状態確認  
systemctl status pve-cluster
systemctl status pvedaemon
systemctl status pveproxy
root@tx1320m1:~# pveversion
pve-manager/9.0.5/9c5600b249dbfd2f (running kernel: 6.14.8-2-pve)
root@tx1320m1:~# uname -r
6.14.8-2-pve
root@tx1320m1:~# systemctl status pve-cluster
systemctl status pvedaemon
systemctl status pveproxy
● pve-cluster.service - The Proxmox VE cluster filesystem
     Loaded: loaded (/usr/lib/systemd/system/pve-cluster.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-08-24 15:57:35 JST; 1min 20s ago
 Invocation: 8570c7312f1c45f194778764bb48488d
    Process: 1083 ExecStart=/usr/bin/pmxcfs (code=exited, status=0/SUCCESS)
   Main PID: 1197 (pmxcfs)
      Tasks: 7 (limit: 38354)
     Memory: 35.7M (peak: 41.9M)
        CPU: 113ms
     CGroup: /system.slice/pve-cluster.service
             mq1197 /usr/bin/pmxcfs

Aug 24 15:57:34 tx1320m1 systemd[1]: Starting pve-cluster.service - The Proxmox VE cluster filesystem...
Aug 24 15:57:34 tx1320m1 pmxcfs[1083]: [main] notice: resolved node name 'tx1320m1' to '192.168.11.56' for default node IP address
Aug 24 15:57:34 tx1320m1 pmxcfs[1083]: [main] notice: resolved node name 'tx1320m1' to '192.168.11.56' for default node IP address
Aug 24 15:57:35 tx1320m1 systemd[1]: Started pve-cluster.service - The Proxmox VE cluster filesystem.
● pvedaemon.service - PVE API Daemon
     Loaded: loaded (/usr/lib/systemd/system/pvedaemon.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-08-24 15:57:40 JST; 1min 15s ago
 Invocation: d1d34242404146cc92157e0d95f8ca40
    Process: 1379 ExecStart=/usr/bin/pvedaemon start (code=exited, status=0/SUCCESS)
   Main PID: 1430 (pvedaemon)
      Tasks: 4 (limit: 38354)
     Memory: 155M (peak: 176.6M)
        CPU: 1.099s
     CGroup: /system.slice/pvedaemon.service
             tq1430 pvedaemon
             tq1431 "pvedaemon worker"
             tq1432 "pvedaemon worker"
             mq1433 "pvedaemon worker"

Aug 24 15:57:35 tx1320m1 systemd[1]: Starting pvedaemon.service - PVE API Daemon...
Aug 24 15:57:40 tx1320m1 pvedaemon[1430]: starting server
Aug 24 15:57:40 tx1320m1 pvedaemon[1430]: starting 3 worker(s)
Aug 24 15:57:40 tx1320m1 pvedaemon[1430]: worker 1431 started
Aug 24 15:57:40 tx1320m1 pvedaemon[1430]: worker 1432 started
Aug 24 15:57:40 tx1320m1 pvedaemon[1430]: worker 1433 started
Aug 24 15:57:40 tx1320m1 systemd[1]: Started pvedaemon.service - PVE API Daemon.
● pveproxy.service - PVE API Proxy Server
     Loaded: loaded (/usr/lib/systemd/system/pveproxy.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-08-24 15:57:42 JST; 1min 13s ago
 Invocation: 2700dec19918479a8971316ed107dc4d
    Process: 1439 ExecStartPre=/usr/bin/pvecm updatecerts --silent (code=exited, status=0/SUCCESS)
    Process: 1442 ExecStart=/usr/bin/pveproxy start (code=exited, status=0/SUCCESS)
    Process: 1450 ExecStartPost=sh -c [ ! -e /var/log/pveam.log ] && /usr/bin/pveupdate (code=exited, status=1/FAILURE)
   Main PID: 1445 (pveproxy)
      Tasks: 4 (limit: 38354)
     Memory: 158.1M (peak: 178M)
        CPU: 1.279s
     CGroup: /system.slice/pveproxy.service
             tq1445 pveproxy
             tq1446 "pveproxy worker"
             tq1447 "pveproxy worker"
             mq1448 "pveproxy worker"

Aug 24 15:57:40 tx1320m1 systemd[1]: Starting pveproxy.service - PVE API Proxy Server...
Aug 24 15:57:42 tx1320m1 pveproxy[1445]: starting server
Aug 24 15:57:42 tx1320m1 pveproxy[1445]: starting 3 worker(s)
Aug 24 15:57:42 tx1320m1 pveproxy[1445]: worker 1446 started
Aug 24 15:57:42 tx1320m1 pveproxy[1445]: worker 1447 started
Aug 24 15:57:42 tx1320m1 pveproxy[1445]: worker 1448 started
Aug 24 15:57:42 tx1320m1 systemd[1]: Started pveproxy.service - PVE API Proxy Server.

VM動作状況確認

# VM一覧と状態確認
qm list

# 各VMの詳細状態確認
qm status [VMID]
root@tx1320m1:~# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID
       100 rhel9                running    4096              60.00 2105
       101 RHEL9-Proxmox84-iSCSI running    4096             100.00 2215

WebUI動作確認

アップグレード後のWebUIにログインして、以前作成した仮想マシンが起動していることを確認しました。
https://192.168.11.56:8006/)

image.png


まとめ

Proxmox VE 8.3から9.0へのアップグレードを行い、以前作成した仮想マシンが動作することを確認しました。


参考資料

注意: アップグレード実施前には、必ずテスト環境での検証と十分なバックアップを実施してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?