Tutorial on Upgrading Proxmox VE 8 to 9 (and the Errors I Encountered)

Proxmox VE 8 sudah melewati masa dukungannya: EOL resminya Agustus 2026, sedangkan sekarang Oktober 2026. Dasarnya, Debian 12 (Bookworm), berakhir dukungan keamanannya pada Juli 2026. Server yang masih di seri 8 tidak lagi mendapat patch keamanan.


 

Proxmox VE

Debian

Rilis pertama

Proxmox EOL

9

13 (Trixie)

2025-08

belum ditentukan

8

12 (Bookworm)

2023-06

2026-08

Cerita saya berawal dari hal kecil. Saya meng-upgrade sebuah container Ubuntu 22.04 ke 24.04, lalu container itu tidak mau start dengan pesan unsupported Ubuntu version '24.04'. Penyebabnya Proxmox VE saya masih 8.1.4, yang belum mengenal Ubuntu 24.04. Dari situ saya memutuskan sekalian naik sampai Proxmox VE 9.

Alur upgrade

  1. Update Proxmox VE 8.1 ke 8.4 terbaru (syarat sebelum naik ke 9).
  2. Jalankan checker pve8to9, lalu perbaiki FAIL dan warning penting.
  3. Ganti repository dari Bookworm ke Trixie, kemudian apt dist-upgrade.
  4. Reboot dan verifikasi.

Host saya satu node (bukan cluster, tanpa Ceph), root di LVM, boot UEFI dengan GRUB, dan semua guest berupa container LXC. Kalau setup Anda berbeda, baca juga panduan resmi di bagian Sumber.

Persiapan sebelum mulai

Pastikan lima hal ini beres sebelum menyentuh repository. Syaratnya mengacu pada panduan resmi Proxmox.

  • Versi minimal 8.4.1. Cek dengan pveversion. Server saya mulai dari 8.1.4, jadi tahap 1 di bawah wajib.
  • Ruang root minimal 5 GB, idealnya lebih dari 10 GB. Cek dengan df -h /.
  • Backup valid untuk semua guest. Saya memakai storage NFS di NAS.
  • Akses console yang tidak bergantung jaringan, misalnya iLO, IPMI, atau monitor langsung. Kalau jaringan tidak naik setelah reboot, hanya jalur ini yang bisa menyelamatkan.
  • tmux kalau Anda bekerja lewat SSH, supaya upgrade tidak mati saat koneksi putus. Jangan pakai console bawaan web UI, karena sesinya terputus saat layanan Proxmox di-restart.

Backup guest dan konfigurasi

pvesm status
vzdump --all --storage <nama-storage> --mode snapshot

Backup guest tidak mencakup konfigurasi host. Simpan juga konfigurasi jaringan dan folder /etc/pve ke tempat lain:

cp -a /etc/network/interfaces /root/interfaces.bak
tar czf /mnt/pve/<nama-storage>/pve-host-config-$(date +%F).tar.gz \
  /etc/pve /etc/network/interfaces /etc/hosts /etc/fstab /etc/apt

Sebelum lanjut, pastikan setiap guest punya file backup terbaru dengan pvesm list <nama-storage> --content backup. Satu backup yang belum pernah diuji restore lebih baik dari tidak ada, tetapi uji restore pada satu guest kecil jauh lebih meyakinkan.

Tahap 1: update ke Proxmox VE 8.4 terbaru

Panduan resmi mensyaratkan 8.4.1 atau lebih baru sebelum naik ke 9. Di server saya, apt full-upgrade berjalan tanpa pernah menaikkan pve-manager: versinya tetap 8.1.4. Setelah dicek, penyebabnya jelas. Di host tidak ada repository Proxmox sama sekali, hanya repository Debian:

grep -rH "^deb" /etc/apt/sources.list /etc/apt/sources.list.d/

Tanpa repository Proxmox, apt hanya melihat paket Debian dan tidak tahu ada pve-manager versi baru. Solusinya menambahkan repository pve-no-subscription (untuk yang tidak punya langganan) beserta kunci GPG-nya:

echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-no-subscription.list

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
  -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

apt update
apt policy pve-manager pve-container | head -12

Kunci GPG diunduh dari domain enterprise.proxmox.com, tetapi itu hanya alamat unduhan kunci. Repository yang aktif tetap no-subscription dan tidak memerlukan langganan. Pada apt policy, nilai Candidate untuk pve-manager harus lebih tinggi dari versi terpasang. Di server saya muncul 8.4.21.

Lanjutkan dengan upgrade, lalu cek hasilnya:

apt full-upgrade
pveversion

Sebelum reboot, pastikan kernel baru sudah terpasang dengan dpkg -l | grep proxmox-kernel. Kernel baru baru aktif setelah reboot. Pada tahap ini container Ubuntu 24.04 saya sudah bisa start lagi, karena pve-container yang baru mengenal 24.04.

Catatan: update dalam satu seri mayor (8.1 ke 8.4) boleh langsung lompat. Tidak perlu lewat 8.2 dan 8.3 satu per satu.

Tahap 2: jalankan pve8to9 dan bereskan temuannya

pve8to9 ada di paket Proxmox VE 8.4. Ia hanya memeriksa dan melaporkan, tanpa mengubah sistem. Jalankan dengan semua pengecekan aktif, lalu ulangi setelah tiap perbaikan:

pve8to9 --full
pve8to9 --full | grep -E "WARN|FAIL"

Saya mendapat satu FAIL dan tiga warning:

Temuan

Arti

Tindakan

FAIL: systemd-boot meta-package terpasang

Paket ini bisa mengacaukan upgrade paket boot. Server saya boot lewat GRUB.

Wajib dihapus

WARN: bootloader EFI cadangan tidak ikut diperbarui GRUB

Risiko gagal boot setelah GRUB diperbarui

Sebaiknya diperbaiki

WARN: intel-microcode tidak ditemukan

Tidak ada patch microcode CPU

Boleh ditunda

WARN: guest masih berjalan

Hanya pengingat akan ada downtime

Abaikan

Hapus systemd-boot

Periksa dulu apa yang akan ikut terhapus, lalu hapus:

apt -s remove systemd-boot
apt remove systemd-boot

Hanya hapus kalau Anda memang tidak memakai systemd-boot sebagai bootloader. Di server GRUB seperti saya, aman. Setelah itu FAIL hilang.

Perbaiki bootloader EFI

echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
apt install --reinstall grub-efi-amd64

Keluaran Installation finished. No error reported. menandakan GRUB terpasang. Peringatan File descriptor 3 leaked on vgs invocation boleh diabaikan, karena hanya pesan kosmetik dari LVM.

Pasang microcode Intel

Aktifkan komponen non-free-firmware di /etc/apt/sources.list, lalu pasang paketnya:

sed -i 's/main contrib/main contrib non-free-firmware/' /etc/apt/sources.list
apt update
apt install intel-microcode

Microcode baru aktif setelah reboot. Saya memasangnya setelah upgrade ke Proxmox 9, tetapi urutannya tidak penting.

Catatan opsional: LVM autoactivation

Checker juga memberi NOTICE soal volume LVM-thin dengan autoactivation. Untuk storage lokal seperti saya ini tidak bermasalah. Kalau mau mengikuti perilaku default Proxmox 9, jalankan /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation.

Target akhir tahap ini: 0 FAIL. Warning yang tersisa harus Anda pahami, bukan sekadar diabaikan.

Tahap 3: ganti repository ke Trixie dan upgrade

Bagian ini yang paling menentukan, jadi kerjakan lewat console iLO atau SSH di dalam tmux. Semua guest akan mati selama proses, jadi beri tahu pengguna terlebih dahulu.

1. Matikan guest dan siapkan sesi

apt install -y tmux
tmux new -s pve9

for id in 100 101 105; do pct shutdown $id; done   # sesuaikan ID container Anda
pct list

Kalau SSH putus, masuk lagi lalu tmux attach -t pve9.

2. Ganti repository Debian dan Proxmox

Semua entri Bookworm harus menjadi Trixie. File repository Proxmox lama saya pindahkan, lalu diganti dengan format deb822 yang dipakai panduan resmi:

sed -i 's/bookworm/trixie/g' /etc/apt/sources.list

mv /etc/apt/sources.list.d/pve-no-subscription.list /root/pve-no-subscription.list.bak

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

apt update
apt policy | grep -E "trixie|bookworm"

Pastikan file /usr/share/keyrings/proxmox-archive-keyring.gpg ada, dan hasil apt policy hanya berisi baris trixie. Kalau masih ada bookworm atau error, perbaiki dulu sebelum lanjut. Di server saya ada 589 paket yang siap di-upgrade.

3. Jalankan upgrade

systemctl disable --now systemd-journald-audit.socket
apt dist-upgrade

Perintah pertama mencegah log audit kernel membanjiri jurnal selama upgrade, sesuai catatan di panduan resmi. Proses dist-upgrade bisa belasan sampai puluhan menit tergantung kecepatan disk. Jangan reboot di tengah proses.

Selama upgrade akan muncul beberapa pertanyaan soal file konfigurasi. Pilihan yang saya pakai, mengikuti rekomendasi panduan:

File atau pertanyaan

Pilihan

apt-listchanges

tekan q

/etc/issue

keep versi saat ini (No)

/etc/lvm/lvm.conf

pakai versi baru (Yes), kalau tidak pernah Anda ubah

/etc/ssh/sshd_config

pakai versi baru (Yes), kalau tidak pernah Anda ubah. Lihat diff dulu.

/etc/default/grub

keep (No), kalau ragu

/etc/chrony/chrony.conf

pakai versi baru (Yes), kalau tidak ada perubahan lokal

Restart services

pakai default

Kalau dist-upgrade berhenti karena error, jalankan apt -f install lalu ulangi apt dist-upgrade. Kalau muncul peringatan You are attempting to remove the meta-package 'proxmox-ve'!, jangan lanjutkan. Itu tanda ada repository yang belum benar untuk Trixie.

Tahap 4: sebelum reboot, reboot, dan verifikasi

Setelah dist-upgrade selesai, di server saya paket Proxmox sudah menjadi pve-manager 9.2.21 dan proxmox-ve 9.2.0, dengan kernel baru 7.0.14-25-pve terpasang. Host belum memakainya sampai reboot. Versi persisnya akan berbeda tergantung kapan Anda mengerjakannya.

Sebelum reboot

Panduan resmi memperingatkan bahwa GRUB versi lama bisa gagal boot dari LVM dalam mode UEFI. Kalau root Anda di LVM dan boot lewat UEFI, pastikan GRUB versi baru terpasang:

[ -d /sys/firmware/efi ] && apt install grub-efi-amd64
pve8to9 --full | grep -E "WARN|FAIL"
update-grub

Syarat lulus: 0 FAIL. Warning yang boleh tersisa hanya soal kernel yang belum aktif karena belum reboot. Keluaran update-grub harus memuat kernel baru, dan kernel lama tetap ada sebagai cadangan.

Catat juga nama NIC dengan ip -br a dan simpan /etc/network/interfaces. Kernel baru kadang mengubah nama interface jaringan.

Reboot

reboot

Panduan resmi menegaskan reboot wajib setelah upgrade, bahkan kalau Anda sudah memakai kernel versi baru sebelumnya, karena kernel di Proxmox 9 dibangun ulang dengan compiler dan ABI yang baru.

Verifikasi

pveversion                    # pve-manager/9.x
uname -r                      # kernel baru
dmesg | grep -i microcode     # microcode dimuat
systemctl --failed            # layanan yang gagal
ip -br a                      # NIC dan bridge harus UP
pvesm status                  # storage aktif
pct list

Lalu start guest satu per satu dan cek aplikasinya. Di browser, paksa muat ulang web UI dengan Ctrl+Shift+R.

[Hasil verifikasi saya: isi dengan versi akhir dan kondisi guest setelah reboot.]

Kalau ada yang tidak beres

  • Jaringan tidak naik. Masuk lewat console, jalankan ip -br a untuk melihat nama NIC yang baru, lalu sesuaikan bridge-ports di /etc/network/interfaces. Di Proxmox 9 ada alat pve-network-interface-pinning untuk mengunci nama interface.
  • Kernel baru gagal boot. Di menu GRUB, pilih Advanced options lalu kernel lama.
  • Container gagal start. Jalankan pct start <id> --debug 2>&1 | tail -30 dan baca pesannya.

Error yang saya temui dan solusinya

Berikut semua error dan warning yang muncul selama proses, urut sesuai kejadian. Cocokkan dengan pesan di layar Anda.

Gejala

Penyebab

Solusi

E: Repository ... ppa.launchpad.net/ondrej/php ... changed its 'Label' value saat apt update di container Ubuntu

Pemilik PPA mengganti label repositori. Apt memblokir perubahan metadata sampai disetujui.

apt update --allow-releaseinfo-change

unsupported Ubuntu version '24.04' saat pct start

pve-container di Proxmox VE 8.1 belum mengenal Ubuntu 24.04

Update Proxmox. Sementara, pct set <id> --ostype unmanaged, lalu kembalikan ke ubuntu setelah update.

apt full-upgrade tidak menaikkan pve-manager

Host tidak punya repository Proxmox, hanya repository Debian

Tambah repo pve-no-subscription dan kunci GPG (Tahap 1)

FAIL: systemd-boot meta-package installed

Paket ini ikut terpasang dari ISO Proxmox 8.1 sampai 8.4 dan mengganggu upgrade paket boot

apt remove systemd-boot, setelah dicek dengan apt -s remove

WARN: Removable bootloader found ... GRUB packages not set up to update it

GRUB tidak memperbarui bootloader EFI cadangan

debconf-set-selections lalu apt install --reinstall grub-efi-amd64

WARN: ... 'intel-microcode' could not be found

Komponen non-free-firmware belum aktif di apt

Aktifkan komponen itu, lalu apt install intel-microcode

Err: https://enterprise.proxmox.com/debian/pve trixie InRelease 401 Unauthorized setelah upgrade

pve-manager 9 memasang file repo enterprise, padahal tidak ada langganan

Pindahkan file pve-enterprise.sources (lihat di bawah)

Failed to restart postfix.service: Transaction contains conflicting jobs

Pemicu restart postfix dari paket bentrok dengan job systemd yang sedang berjalan

Tidak menghambat upgrade. Periksa systemctl status postfix setelah reboot.

chrony.service gagal dengan Fatal error: Could not send notification to $NOTIFY_SOCKET

Dugaan saya: chrony versi baru berjalan di bawah systemd lama yang belum dimuat ulang sebelum reboot

daemon-reload dan restart tidak berhasil sebelum reboot. Jam server saya masih benar, jadi saya lanjut reboot dan cek lagi sesudahnya.

Memindahkan repo enterprise yang tidak dipakai

Kalau Anda tidak punya langganan dan apt update memunculkan 401, cari lalu pindahkan file repo enterprise:

grep -l enterprise /etc/apt/sources.list.d/*
mv /etc/apt/sources.list.d/pve-enterprise.sources /root/pve-enterprise.sources.bak
apt update

Jalankan apt update lagi sampai bersih tanpa error. Kalau ada file ceph.sources yang mengarah ke enterprise.proxmox.com dan Anda tidak memakai Ceph, pindahkan juga.

Checklist ringkas dan penutup

Upgrade Proxmox 8 ke 9 sebenarnya sederhana kalau persiapannya benar. Sebagian besar masalah saya datang dari repository yang belum benar dan warning yang tidak dibereskan sebelum reboot.

  • Backup semua guest dan simpan konfigurasi host (/etc/pve, /etc/network/interfaces)
  • Akses console (iLO, IPMI, atau monitor) siap
  • Ruang root minimal 5 GB, idealnya lebih dari 10 GB
  • Repository Proxmox terpasang dan pveversion minimal 8.4.1
  • pve8to9 --full menunjukkan 0 FAIL
  • systemd-boot dihapus bila bootloader Anda GRUB
  • Bootloader EFI diperbaiki dan grub-efi-amd64 terpasang
  • Repository Debian dan Proxmox diganti ke Trixie, apt policy tanpa sisa Bookworm
  • apt dist-upgrade selesai tanpa error
  • File repo enterprise dipindahkan bila tanpa langganan
  • Reboot, lalu cek versi, kernel, jaringan, storage, dan semua guest

Soal container lama: Ubuntu 22.04 tidak bermasalah di Proxmox 9. Menurut panduan resmi, yang tidak lagi didukung hanya container dengan systemd versi 230 atau lebih lama (misalnya CentOS 7 dan Ubuntu 16.04), karena cgroup v1 dihapus.

Setelah upgrade, jadwalkan juga pembaruan container Ubuntu 22.04 ke 24.04. Urutannya: host ke Proxmox 9 dulu, baru container satu per satu, dan selalu buat backup sebelum tiap upgrade.

Sumber

Subscribe to receive free email updates:

0 Response to "Tutorial on Upgrading Proxmox VE 8 to 9 (and the Errors I Encountered)"

Posting Komentar

Aturan Berkomentar :

1. Berbicara menggunakan bahasa yang enak didengar. Tidak Untuk menyinggung perasaan orang Lain.

2.Spamming (Spam Comment)

3.Kalau Mau ngopy-paste artikel disini, Berikan sumbernya