Proxmox VE バージョンアップ手順(8.2.2->8.3.0)
はじめに
Proxmox VEは、高機能なオープンソースの仮想化プラットフォームです。バージョンアップを行うことで、新機能やセキュリティ修正を適用できます。しかし、バージョンアップ作業は慎重に行う必要があります。この記事では、Proxmox VE 8.2.2から8.3.0へのバージョンアップ手順について詳しく解説します。
準備
1. 現在のバージョンの確認
バージョンアップを行う前に、現在使用しているProxmox VEのバージョンを確認します。
pveversion
root@pve:~# pveversion
pve-manager/8.2.2/9355359cd7afbae4 (running kernel: 6.8.4-2-pve)
これにより、現在のバージョンとインストールされているパッケージの情報が表示されます。
2. バックアップの取得
バージョンアップ中に問題が発生する可能性を考慮し、以下のバックアップを取得しておきます。
-
仮想マシンとコンテナのバックアップ
GUIまたはCLIで仮想マシンやコンテナをバックアップします。
vzdump <VMID> --dumpdir /path/to/backup --compress zstd
-
設定ファイルのバックアップ
Proxmoxの設定ファイルをバックアップします。
tar czvf /root/proxmox-config-backup.tar.gz /etc/pve
root@pve:~# tar czvf /root/proxmox-config-backup.tar.gz /etc/pve
tar: Removing leading `/' from member names
/etc/pve/
/etc/pve/.debug
/etc/pve/.vmlist
/etc/pve/.members
/etc/pve/lxc
/etc/pve/local
/etc/pve/.rrd
/etc/pve/.version
/etc/pve/.clusterlog
/etc/pve/openvz
/etc/pve/qemu-server
/etc/pve/storage.cfg
/etc/pve/user.cfg
/etc/pve/pve-root-ca.pem
/etc/pve/priv/
/etc/pve/priv/pve-root-ca.key
/etc/pve/priv/pve-root-ca.srl
/etc/pve/priv/authorized_keys
/etc/pve/priv/authkey.key
/etc/pve/priv/lock/
/etc/pve/priv/acme/
/etc/pve/virtual-guest/
/etc/pve/firewall/
/etc/pve/sdn/
/etc/pve/vzdump.cron
/etc/pve/datacenter.cfg
/etc/pve/mapping/
/etc/pve/authkey.pub
/etc/pve/ha/
/etc/pve/authkey.pub.old
/etc/pve/pve-www.key
/etc/pve/nodes/
/etc/pve/nodes/pve/
/etc/pve/nodes/pve/lxc/
/etc/pve/nodes/pve/pve-ssl.key
/etc/pve/nodes/pve/lrm_status
/etc/pve/nodes/pve/pve-ssl.pem
/etc/pve/nodes/pve/priv/
/etc/pve/nodes/pve/ssh_known_hosts
/etc/pve/nodes/pve/openvz/
/etc/pve/nodes/pve/qemu-server/
/etc/pve/nodes/pve/qemu-server/100.conf
3. システム状態の確認
バージョンアップを行う前に、システムが正常な状態であることを確認します。
pvecm status # クラスター状態の確認
df -h # ディスク容量の確認
free -m # メモリ使用状況の確認
root@pve:~# pvecm status
Error: Corosync config '/etc/pve/corosync.conf' does not exist - is this node part of a cluster?
root@pve:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 48G 0 48G 0% /dev
tmpfs 9.5G 1.4M 9.5G 1% /run
/dev/mapper/pve-root 94G 7.1G 83G 8% /
tmpfs 48G 46M 48G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/fuse 128M 16K 128M 1% /etc/pve
tmpfs 9.5G 0 9.5G 0% /run/user/0
root@pve:~# free -m
total used free shared buff/cache available
Mem: 96640 2473 89417 52 5557 94167
Swap: 8191 0 8191
手順
1. パッケージリポジトリの設定
Proxmox VEのアップグレードには、適切なリポジトリが必要です。リポジトリの設定を確認・更新します。
-
リポジトリの確認
/etc/apt/sources.list.d/pve-enterprise.list
を確認し、適切なリポジトリが設定されているか確認します。
root@pve:~# ls -alF /etc/apt/sources.list.d/
total 16
drwxr-xr-x 2 root root 4096 Nov 5 16:36 ./
drwxr-xr-x 9 root root 4096 Nov 5 16:36 ../
-rw-r--r-- 1 root root 74 Aug 1 19:45 ceph.list
-rw-r--r-- 1 root root 70 Apr 24 2024 pve-enterprise.list
-
エンタープライズリポジトリの無効化
次のコマンドでエンタープライズリポジトリを無効化します。
sed -i 's/^deb /#deb /' /etc/apt/sources.list.d/pve-enterprise.list sed -i 's/^deb /#deb /' /etc/apt/sources.list.d/ceph.list
実行後、ファイルの内容を確認してください。このファイル内のリポジトリエントリがコメントアウトされているはずです。
cat /etc/apt/sources.list.d/pve-enterprise.list #deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise cat /etc/apt/sources.list.d/ceph.list #deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise
-
無償リポジトリの追加
無償版の
pve-no-subscription
リポジトリを使用するため、以下のコマンドを実行してリポジトリファイルを作成します。echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
作成後、
/etc/apt/sources.list.d/pve-no-subscription.list
の内容を確認します。cat /etc/apt/sources.list.d/pve-no-subscription.list deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
-
リポジトリの更新
リポジトリを更新して、無償リポジトリが有効になっていることを確認します。
apt update
root@pve:~# apt update
Hit:1 http://ftp.jp.debian.org/debian bookworm InRelease
Hit:2 http://ftp.jp.debian.org/debian bookworm-updates InRelease
Hit:3 http://security.debian.org bookworm-security InRelease
Hit:4 http://download.proxmox.com/debian/pve bookworm InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
125 packages can be upgraded. Run 'apt list --upgradable' to see them.
エラーが表示されないことを確認してください。
4. **システムのアップグレード(必要に応じて)**
無償リポジトリが有効になったら、システムをアップグレードします。
```bash
apt full-upgrade -y
root@pve:~# apt full-upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
libpve-network-api-perl proxmox-kernel-6.8.12-4-pve-signed
The following packages will be upgraded:
base-files bash bind9-dnsutils bind9-host bind9-libs bsdextrautils bsdutils btrfs-progs curl
distro-info-data eject fdisk gnutls-bin ifupdown2 initramfs-tools initramfs-tools-core iputils-ping
krb5-locales less libarchive13 libblkid1 libc-bin libc-l10n libc6 libcurl3-gnutls libcurl4 libexpat1
libfdisk1 libfreetype6 libglib2.0-0 libgnutls-dane0 libgnutls30 libgnutlsxx30 libgssapi-krb5-2
libgstreamer-plugins-base1.0-0 libjs-extjs libk5crypto3 libkrb5-3 libkrb5support0 libmount1 libmpg123-0
libnghttp2-14 libnss-systemd libnss3 libnvpair3linux liboath0 libopeniscsiusr libpam-systemd
libproxmox-acme-perl libproxmox-acme-plugins libproxmox-rs-perl libpve-access-control
libpve-cluster-api-perl libpve-cluster-perl libpve-common-perl libpve-guest-common-perl
libpve-http-server-perl libpve-network-perl libpve-notify-perl libpve-rs-perl libpve-storage-perl
libpython3.11-minimal libpython3.11-stdlib libqt5core5a libqt5dbus5 libqt5network5 libseccomp2 libsmartcols1
libsqlite3-0 libssl3 libsystemd-shared libsystemd0 libudev1 libuuid1 libuutil3linux libzfs4linux
libzpool5linux locales mount nano novnc-pve open-iscsi openssh-client openssh-server openssh-sftp-server
openssl postfix proxmox-archive-keyring proxmox-backup-client proxmox-backup-file-restore proxmox-firewall
proxmox-kernel-6.8 proxmox-mail-forward proxmox-offline-mirror-docs proxmox-offline-mirror-helper
proxmox-termproxy proxmox-ve proxmox-widget-toolkit pve-cluster pve-container pve-docs pve-esxi-import-tools
pve-firewall pve-firmware pve-ha-manager pve-i18n pve-manager pve-qemu-kvm python3-idna python3.11
python3.11-minimal qemu-server spl sqlite3 ssh systemd systemd-boot systemd-boot-efi systemd-sysv udev
util-linux util-linux-extra zfs-initramfs zfs-zed zfsutils-linux
125 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 371 MB of archives.
After this operation, 677 MB of additional disk space will be used.
...
Processing triggers for dbus (1.14.10-1~deb12u1) ...
Processing triggers for debianutils (5.7-0.5~deb12u1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for libc-bin (2.36-9+deb12u9) ...
Processing triggers for systemd (252.31-1~deb12u1) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for initramfs-tools (0.142+deb12u1) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-4-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi.
Alternatively, use --esp-path= to specify path to mount point.
Processing triggers for pve-ha-manager (4.0.6) ...
注意点:
- パッケージの更新には時間がかかる場合があります。
- 予め、仮想マシンやコンテナを停止した上で実施してください。
3. 再起動
パッケージの更新後、システムを再起動します。
reboot
再起動後の確認:
-
pveversion
コマンドでバージョンが正しく更新されていることを確認します。
root@pve:~# pveversion
pve-manager/8.3.0/c1689ccb1065a83b (running kernel: 6.8.12-4-pve)
- クラスターのノード間通信や仮想マシンの起動を確認します。
注意点
-
クラスター環境での作業
クラスター環境では、1つのノードずつ順番にバージョンアップを行う必要があります。他のノードに影響を与えないよう、作業中は仮想マシンやストレージの状態を慎重に監視してください。 -
カスタム設定の注意
/etc/pve
や/etc/network/interfaces
などにカスタム設定がある場合は、アップグレード後に動作を確認し、必要に応じて設定を修正します。
トラブルシューティング
-
アップデートが失敗した場合
エラーメッセージを確認し、必要に応じて以下のコマンドでシステム状態を修復します。
dpkg --configure -a
apt install -f
-
仮想マシンが起動しない場合
仮想マシンの設定ファイルを確認し、エラーを修正します。
qm config <VMID>
-
ネットワークの問題
/etc/network/interfaces
ファイルを確認し、設定を再適用します。
systemctl restart networking