Proxmox VE Upgrade 8 to 9
🇹🇭 ภาษาไทย
ภาพรวม
การอัปเกรด Proxmox VE จากเวอร์ชัน 8.x (Debian 12 Bookworm) ไปยัง 9.x (Debian 13 Trixie) มีสองวิธีหลัก: ติดตั้งใหม่ หรือ อัปเกรด in-place ผ่าน apt
| PVE 8.x | PVE 9.x | |
|---|---|---|
| Debian Base | Debian 12 Bookworm | Debian 13 Trixie |
| Kernel | 6.8 | 6.14 |
Prerequisites (ก่อนอัปเกรด in-place)
ตรวจสอบสิ่งต่อไปนี้ก่อนเริ่ม:
- อัปเดต PVE 8 ให้เป็น version ล่าสุดก่อน — ต้องอยู่บน PVE 8.4 หรือใหม่กว่า
- Ceph users (สำคัญมาก): ต้องอัปเกรด Ceph เป็น Squid (19.2) ก่อน ห้ามข้ามขั้นตอนนี้เด็ดขาด
- Proxmox Backup Server: หากติดตั้ง PBS ร่วมกัน ต้องทำตาม PBS 3→4 upgrade guide แยกต่างหาก
- Console access: ต้องมี IPMI, iKVM หรือ physical console — ไม่ควรพึ่ง SSH เพียงอย่างเดียว หาก SSH เป็นทางเดียว ให้ใช้
tmuxหรือscreenเพื่อป้องกัน session หลุด - Disk space: ต้องมีพื้นที่ว่างบน root mount อย่างน้อย 5 GB (แนะนำ 10 GB ขึ้นไป)
- Cluster health: หากใช้งาน cluster ต้องตรวจสอบให้ cluster อยู่ในสถานะ healthy ก่อน
- Backup: มี backup ที่ valid และทดสอบแล้วของ VM และ container ทุกตัว
วิธีที่ 1: ติดตั้งใหม่ (New Installation)
เหมาะสำหรับ standalone node หรือเมื่อต้องการ clean start
- Backup VM และ container ทั้งหมดไปยัง external storage
- Backup ไฟล์ config สำคัญ:
/etc/pve/etc/passwd/etc/network/interfaces/etc/resolv.conf
- ติดตั้ง PVE 9 จาก ISO ใหม่
- Clear browser cache (Ctrl+Shift+R)
- Rebuild cluster หากใช้งาน clustering
- Restore
/etc/pve/storage.cfg - Restore firewall configs จาก
/etc/pve/firewall/ - Restore VM จาก backup
วิธีที่ 2: In-place Upgrade ผ่าน apt
ขั้นตอนที่ 1 — รัน pve8to9 checker
pve8to9 # ตรวจสอบเบื้องต้น
pve8to9 --full # ตรวจสอบทั้งหมด (ควรรันอย่างน้อยหนึ่งครั้ง)แก้ไขปัญหาที่ checker แจ้งก่อนดำเนินการต่อ
ขั้นตอนที่ 2 — อัปเดตเป็น PVE 8.4 ล่าสุด
apt update && apt dist-upgrade
pveversion # ต้องแสดง >= 8.4.1
ceph --version # หากใช้ Ceph ต้องแสดง 19.x (Squid)ขั้นตอนที่ 3 — อัปเดต APT repos เป็น 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ขั้นตอนที่ 4 — เพิ่ม PVE 9 repo
Enterprise (มี subscription):
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
EOFNo-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ขั้นตอนที่ 5 — อัปเดต Ceph repo (เฉพาะผู้ใช้ Ceph)
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/ceph-squid
Suites: trixie
Components: enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt updateขั้นตอนที่ 6 — รัน dist-upgrade
apt dist-upgradeใช้เวลา 5–60 นาทีขึ้นอยู่กับความเร็ว storage ตอบคำถามเกี่ยวกับ config files ตามที่ระบบถาม
ขั้นตอนที่ 7 — Reboot เข้า kernel ใหม่
rebootหลังอัปเกรด
- Clear browser cache: Ctrl+Shift+R (Windows/Linux) หรือ Cmd+Alt+R (Mac)
- Cluster: อัปเกรด node ที่เหลือทีละตัว ไม่ควรอัปเกรดพร้อมกัน
- HA groups → HA rules: migrate อัตโนมัติเมื่อทุก node อัปเกรดเสร็จ
- Modernize APT sources (optional):
apt modernize-sources
Known Issues และ Breaking Changes
| # | ปัญหา | วิธีแก้ |
|---|---|---|
| 1 | NIC rename: Kernel 6.14 อาจเปลี่ยนชื่อ network interface | เตรียม IPMI/console access; ใช้ pve-network-interface-pinning |
| 2 | GRUB LVM UEFI bug: ระบบที่ใช้ UEFI + LVM อาจบูตไม่ขึ้น | รัน apt install grub-efi-amd64 ก่อน reboot |
| 3 | cgroup v1 ถูกลบ: Container ที่ใช้ systemd < v230 (CentOS 7, Ubuntu 16.04) จะทำงานไม่ได้ | อัปเกรด guest OS หรือเปลี่ยนไปใช้ VM |
| 4 | LVM thin autoactivation: ต้องรัน migration script | /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation (pve8to9 จะแจ้งถ้าจำเป็น) |
| 5 | /tmp เปลี่ยนเป็น tmpfs: ใช้ RAM สูงสุด 50%; ไฟล์จะถูกลบสม่ำเสมอ | ตรวจสอบ app ที่เก็บไฟล์ใน /tmp ระยะยาว |
| 6 | sysctl.conf ไม่ถูก apply: settings ใน /etc/sysctl.conf ถูก ignore | ย้ายไปที่ /etc/sysctl.d/NN-name.conf |
| 7 | Veeam + QEMU machine >= 10.0: ไม่ compatible | Pin machine type เป็น 9.2+pve1 หรือรอก่อนอัปเกรด |
| 8 | NVIDIA vGPU: ต้องการ GRID >= 18.3 (driver 570.158.02+) สำหรับ kernel 6.14 | อัปเดต NVIDIA drivers ก่อน |
| 9 | systemd-boot meta-package: อาจทำให้เกิดปัญหาถ้าไม่ได้ configure เอง | Remove ออก; pve8to9 จะแนะนำ |
| 10 | FRR Ceph Full Mesh: deadlock issue | แก้ไข post-up line ใน network config ก่อน reboot |
Related Pages
- Proxmox VE — parent index page
- Proxmox VE Admin Guide — full admin guide
🇬🇧 English
Overview
Upgrading Proxmox VE from version 8.x (Debian 12 Bookworm) to 9.x (Debian 13 Trixie) can be done via two methods: a new installation with VM restore, or an in-place upgrade via apt.
| PVE 8.x | PVE 9.x | |
|---|---|---|
| Debian Base | Debian 12 Bookworm | Debian 13 Trixie |
| Kernel | 6.8 | 6.14 |
Prerequisites (In-place Upgrade)
Verify all of the following before starting:
- Update PVE 8 to the latest packages first — must be on PVE 8.4 or newer
- Ceph users (critical): You MUST upgrade Ceph to Squid (19.2) BEFORE upgrading PVE — do not skip this step
- Proxmox Backup Server: If PBS is co-installed, follow the separate PBS 3→4 upgrade guide
- Console access: Reliable IPMI, iKVM, or physical console access is required — do not rely solely on SSH; if SSH is your only option, use
tmuxorscreento survive connection drops - Disk space: At least 5 GB free on the root mount (10+ GB recommended)
- Cluster health: If clustered, verify the cluster is in a healthy state before proceeding
- Backups: Valid, tested backups of all VMs and containers must exist
Method 1: New Installation
Best suited for standalone nodes or when a clean start is preferred.
- Back up all VMs and containers to external storage
- Back up critical config files:
/etc/pve/etc/passwd/etc/network/interfaces/etc/resolv.conf
- Install PVE 9 from a fresh ISO
- Clear browser cache (Ctrl+Shift+R)
- Rebuild cluster if applicable
- Restore
/etc/pve/storage.cfg - Restore firewall configs from
/etc/pve/firewall/ - Restore VMs from backup
Method 2: In-place Upgrade via apt
Step 1 — Run the pve8to9 checker
pve8to9 # basic checks
pve8to9 --full # all checks (run at least once)Fix all reported issues before continuing.
Step 2 — Update to latest PVE 8.4
apt update && apt dist-upgrade
pveversion # must show >= 8.4.1
ceph --version # if using Ceph, must show 19.x (Squid)Step 3 — Update APT repos to Trixie
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.listStep 4 — Add PVE 9 repository
Enterprise (with subscription):
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
EOFNo-subscription (free):
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
EOFStep 5 — Update Ceph repository (Ceph users only)
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/ceph-squid
Suites: trixie
Components: enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt updateStep 6 — Run dist-upgrade
apt dist-upgradeThis takes 5–60 minutes depending on storage speed. Answer any config file prompts as they appear.
Step 7 — Reboot into the new kernel
rebootPost-Upgrade Steps
- Clear browser cache: Ctrl+Shift+R (Windows/Linux) or Cmd+Alt+R (Mac)
- Clusters: Upgrade remaining nodes one at a time — never all at once
- HA groups → HA rules: Automatically migrated once all nodes in the cluster have been upgraded
- Modernize APT sources (optional):
apt modernize-sources
Known Issues and Breaking Changes
| # | Issue | Mitigation |
|---|---|---|
| 1 | NIC rename: Kernel 6.14 may rename network interfaces | Have IPMI/console ready; use pve-network-interface-pinning tool |
| 2 | GRUB LVM UEFI bug: UEFI + LVM systems may fail to boot | Run apt install grub-efi-amd64 before rebooting |
| 3 | cgroup v1 removed: Containers with systemd < v230 (CentOS 7, Ubuntu 16.04) will not work in PVE 9 | Upgrade guest OS or migrate to VM |
| 4 | LVM thin autoactivation: Requires migration script | Run /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation (pve8to9 will flag if needed) |
| 5 | /tmp is now tmpfs: Uses up to 50% of RAM; files are cleaned regularly | Audit apps that store long-lived data in /tmp |
| 6 | sysctl.conf ignored: Settings in /etc/sysctl.conf are no longer applied | Move settings to /etc/sysctl.d/NN-name.conf |
| 7 | Veeam + QEMU machine >= 10.0: Incompatible | Pin machine type to 9.2+pve1 or postpone upgrade |
| 8 | NVIDIA vGPU: Requires GRID >= 18.3 (driver 570.158.02+) for kernel 6.14 | Update NVIDIA drivers before upgrading |
| 9 | systemd-boot meta-package: Can cause issues if not manually configured | Remove unless manually set up; pve8to9 will advise |
| 10 | FRR Ceph Full Mesh: Deadlock issue during reboot | Fix the post-up line in network config before rebooting |
Related Pages
- Proxmox VE — parent index page
- Proxmox VE Admin Guide — full admin guide