Even on a blog.
Yeah, I said it. It’s not like it’s a big secret. Documenting things sucks. It completely takes us away from the tinkering that we love to do. “Wow, I got this cool thing working! Damn, now I have to document it? Rats.”
But here we are.
As promised, I present to you a detailed write-up of my Proxmox 8 -> 9 “upgrade”. Well, as detailed as I choose to make it anyway. But before we get started, promise me you won’t let the work goons know about this, because then they’ll want me to start documenting there too. Oh the horror.
Ready? Here we go.
It all began one morning when I logged into the GUI of my Proxmox 8 system. To my horror, I saw a banner at the top notifying me that support for Proxmox 8 would end on August 31, 2026. I was so distraught I didn’t even remember to take a screen shot of it. (Well, maybe not that distraught, but I still didn’t screen snap it. Oh well.)
I thus began the arduous task of determining just how to upgrade a Proxmox system, since I’d never upgraded a major version before. The options before me were to upgrade in place or wipe and re-install. Let’s just say that, after poring over the available documentation on the subject, I elected to wipe and re-install. (I’ve never liked in place upgrades anyway, so this fell right in line with my general M.O.). This is why “upgrade” comes with those quotes around it — it’s really not an upgrade.
It’s wiping the box and starting over.
The process I set forth from that decision point forward occurred over a period of several weeks – a few months, even. I’d pick it up, then I’d put it down, but the goal was to try to make the 08/31/2026 “drop dead” date, even though I was never particularly concerned about missing the date and being late. I was much more concerned about making it work without losing any data.
I began by spinning up Proxmox 9 on a couple mini-pcs I have, and going about creating VMs on it as I’m used to on 8. No blips, no surprises.
The next step was to figure out how I wanted to preserve the VMs I wished to save. Should I spin up Proxmox Backup Server somewhere? Should I, instead, create .tar files of what I want to save and move them off somewhere by hand? Should I do a combination of the two, or something altogether different?
I eventually settled on backing up each VM onto a hard drive dedicated for that purpose, using Proxmox’s built in backup functionality. I had 20 VMs on the system, and elected to preserve 14 of them while letting 6 of them disappear into the ether.
The next step was verifying that I could back up the VMs, restore them on Proxmox 9 and have them function normally. I decided to back up one VM of each OS I was running – Linux, Windows and Home Assistant – and copy those backups to yet another system I installed Proxmox on. This system has 4 hot-swap drive bays on it, and I figured I would leverage it as part of the process.
The restores on the test Proxmox 9 system worked perfectly, and so began the shut down and backup of each of the 14 VMs that were marked for retention. Once this was completed – it took several hours – the drive on which the backups were saved was removed from the Proxmox 8 server and added to the test PM9 server in one of the hot-swap bays.
At this point I had two copies of the VMs – the backup copy on the drive that was just moved and the VMs themselves which were still on the PM8 system. I became concerned about only having a single copy once the PM8 server was wiped, so I elected to make a copy of the backup drive by placing another spare drive I had laying around into one of the hot-swap bays and copying the data to it. Once I knew I had two physical copies, I was comfortable moving forward.
So I did.
I stuck my Ventoy USB stick into the P8 box, rebooted it, and told it to boot off the P9 install ISO. It just got real.
After installing, I configured the two 12TB drives on the system; this time foregoing ZFS and instead going with LVM-Thin mode. ZFS takes up a stupid amount of RAM to keep itself happy and I decided I didn’t want to go down that road again.
Once the storage was available, I shut the system down, physically reinstalled the drive upon which I had saved my VMs, and started back up. P9 saw the backups and I began restoring them one by one, which also took several hours.
Long story short, I encountered very few issues and everything has been up, running and happy. I did decide to disable the swap volume since Proxmox starts using it once RAM gets to 50% usage. I thought that “dumb”™, so I forced it to use that 128GB of RAM like it’s supposed to.
And for those that were wondering, I completed the process with 12 days to spare. Yay me!!
There you have it! Hope you enjoyed the novel!!
