Proxmox 8.0 has been released (June, 22, 2023) and includes several new features and a Debian version upgrade. Among the changes are:
- Debian 12 “Bookworm”, but using a newer Linux kernel 6.2
- QEMU 8.0.2, LXC 5.0.2, ZFS 2.1.12
- Optional Text mode installer (TUI)
- New default CPU type x86-64-v2-AES for VMs
- Ceph Quincy 17.2.6 and a new, stable Ceph Enterprise repository
- Authentication realm sync jobs
- ACL for network resources
- Resource mappings between PCI(e) or USB devices and nodes in a cluster
- and more….
Many have been asking how to upgrade, so I decided to put together an easy-to-follow post to get your Proxmox server upgraded to 8!
This might go without saying, but you’ll want to be sure you back up your Proxmox server’s configs as well as any virtual machines running on thi server. After you’ve done that, you’ll need to check to be sure you are running at least 7.4.15 or newer (If you need to upgrade from 6 to 7, see my post on how to do this). If you aren’t sure which version you are running, you can run this to check:
This should output something similar to:
1 pve-manager/7.4-15/a5d2a31e (running kernel: 5.15.108-1-pve)
Next we’ll want to run an upgrade script to check to if there are any potential issues during the upgrade process. Don’t worry, this does not execute anything other than checks and is safe to run multiple times.
You can run it by executing:
You can also run it with all checks enabled by executing:
1 pve7to8 --full
You should see something similar to the following in the output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ➜ ~ pve7to8 --full = 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 >= 7.4-1 Checking running kernel version.. PASS: running kernel '5.15.108-1-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 = PASS: storage 'backups' enabled and active. PASS: storage 'fast10' enabled and active. PASS: storage 'local' 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. = 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.. WARN: systemd-timesyncd is not the best choice for time-keeping on servers, due to only applying updates on boot. While not necessary for the upgrade it's recommended to use one of: * chrony (Default in new Proxmox VE installations) * ntpsec * openntpd INFO: Checking for running guests.. WARN: 6 running guest(s) detected - consider migrating or stopping them. INFO: Checking if the local node's hostname 'draco' is resolvable.. INFO: Checking if resolved IP is configured on local node.. PASS: Resolved node IP '192.168.0.11' 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 for clashes with new 'PVE' namespace.. PASS: no custom roles defined, so no clash with 'PVE' role ID namespace enforced in Proxmox VE 8 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 node and guest description/note length.. PASS: All node config descriptions fit in the new limit of 64 KiB 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 if the suite for the Debian security repository is correct.. INFO: Checking for existence of NVIDIA vGPU Manager.. PASS: No NVIDIA vGPU Service found. INFO: Checking bootloader configuration... SKIP: not yet upgraded, no need to check the presence of systemd-boot SKIP: No containers on node detected. = SUMMARY = TOTAL: 33 PASSED: 27 SKIPPED: 4 WARNINGS: 2 FAILURES: 0 ATTENTION: Please check the output for detailed information!
As you can see there are a few warnings but nothing failing. The warnings I have listed are ones related to time packages (which I am going to ignore) and one related to machines still running. To resolve the second warning I will shutdown all the machines before I upgrade.
We’ll want to be sure that we’ve applied all updates to our current installation before upgrading to 8. You can do this by running:
1 2 apt update apt dist-upgrade
If there are updates, I recommend applying them all, rebooting, and upgrading again if needed. Repeat this until there aren’t any up updates to apply.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ➜ ~ apt update Hit:1 http://security.debian.org bullseye-security InRelease Hit:2 http://download.proxmox.com/debian/pve bullseye InRelease Hit:3 http://ftp.us.debian.org/debian bullseye InRelease Hit:4 http://ftp.us.debian.org/debian bullseye-updates InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. ➜ ~ apt dist-upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Well need to update our Debian and Proxmox apt repositories to Bookworm:
1 sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
If you’re also using the “no-subscription” repository, you’ll also want to update those too:
1 sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
Mine is actually at
/etc/apt/sources.list.d/pve-no-enterprise.list so I will run instead:
1 sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-no-enterprise.list
You can verify these files by checking to be sure they were updated with
1 cat /etc/apt/sources.list
1 cat /etc/apt/sources.list.d/pve-install-repo.list
or for me personally:
1 cat /etc/apt/sources.list.d/pve-no-enterprise.list
You should see something like this:
1 deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
Remember, you are just verifying the
bookworm in each file.
If you’re running
ceph you’ll want to check the Proxmox 7 to 8 Upgrade Wiki for a few additional steps. I am not running
ceph so I will skip this part.
Now all that’s left is updating the system! If you’ve made it this far it’s now time to upgrade! I would recommend stopping or migrating any virtual machines and LXC containers before proceeding.
1 2 apt update apt dist-upgrade
This step may take some time depending on your internet speed and server resources.
The upgrade might ask you to approve changes to configurations files. I am going to defer to the Proxmox documentation for this step, which is shown below:
It’s suggested to check the difference for each file in question and choose the answer accordingly to what’s most appropriate for your setup. Common configuration files with changes, and the recommended choices are:
- /etc/issue -> Proxmox VE will auto-generate this file on boot, and it has only cosmetic effects on the login console.
- Using the default “No” (keep your currently-installed version) is safe here.
- /etc/lvm/lvm.conf -> Changes relevant for Proxmox VE will be updated, and a newer config version might be useful.
- If you did not make extra changes yourself and are unsure it’s suggested to choose “Yes” (install the package maintainer’s version) here.
- /etc/default/grub -> Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.
- It’s recommended to check the difference for any relevant change, note that changes in comments (lines starting with #) are not relevant.
- If unsure, we suggested to selected “No” (keep your currently-installed version)
After upgrading all packages you can verify the upgrade by running:
If all went well, you should see everything pass (or with minimal warnings).
You can now reboot your system.
After rebooting and logging into the system for the first time, you’ll want to clear your browser’s cache for pve web, or just hard reload:
- Windows (CTRL + SHIFT + R)
- macOS (⌘ + Alt + R)
If you have more servers in your cluster, repeat this for each server!
Enjoy Proxmox 8!
If you were looking to upgrade to Proxmox 8 today, I wrote a quick guide to help! I've already tested it on my production cluster and it works great!https://t.co/NFqv0XXyWB— Techno Tim (@TechnoTimLive) June 25, 2023
⚙️ See all the hardware I recommend at https://l.technotim.live/gear
🚀 Don’t forget to check out the 🚀Launchpad repo with all of the quick start source files