Upgrading single-node PVE 8.3.3 to 9: any gotchas with LXC containers?

ciarandwi

Member
Aug 22, 2024
21
9
8
Hi all,

I'm planning to upgrade our only Proxmox host from PVE 8.3.3 (Debian 12, kernel 6.8.12-8-pve) to PVE 9, and before I do I'd like to hear about other people's experiences.

Setup:
  • Single node, no cluster, on a Scaleway dedicated server
  • 7 unprivileged LXC containers (Ubuntu 22.04, and one on 26.04): Rails apps, a database, Redis, a search engine, and nginx
  • No VMs and no Ceph
  • Host firewall with iptables (iptables-persistent), with Tailscale installed on the host
My plan:
  1. Update to the latest 8.4 and run pve8to9 --full
  2. Take a vzdump backup of every container (done, copied off the server)
  3. Switch the package sources to Trixie, run apt dist-upgrade, then reboot out of hours
Questions:
  • Has anyone had LXC containers fail to start after the upgrade, especially older Ubuntu ones?
  • Any problems with iptables-persistent or Tailscale on the host after moving to Trixie?
  • Any network config changes, such as interface names changing, that could lock me out?
  • Is it worth doing a practice run on a spare server first, or is an in-place upgrade usually painless for a simple setup like this?
Thanks in advance!
 
Just to be sure, you know that page? --> https://pve.proxmox.com/wiki/Upgrade_from_8_to_9
I followed it multiple times and it worked in every single case.

But I can not answer your question nevertheless - I am using only a very few LXCs, sorry.

You may install PVE9 in a VM. (Ignore possibly warnings regarding missing CPU features - containers should work.) Then restore your backups in there. That would be a very good pre-upgrade test!
 
  • Like
Reactions: ciarandwi
When PVE 8 was going EOL in one-week, I backed up the /etc directory and existing LXCs (don't run any VMs) via the native backup functionality.

Did a clean install of PVE 9 and restored the LXCs. LXCs came up with no issues.

I didn't do an upgrade because didn't want to deal with a one-off cases with networking and having to blacklist the Infiniband module of the Mellanox ConnectX-3 NIC.

Already been running PVE 9 at work, so that was a good training on-ramp.

Irregardless of the operating system (Windows, Linux, macOS, whoever), in-place upgrades of major OS versions always seem to backfire on me. Guess you can blame it on Murphy's Law. I seem to spend more time troubleshooting then just doing a backup, clean install, then a restore. YMMV.
 
Thanks for the advice peeps.

We currently have a cloud server which has it installed. Since I cant have 2 proxmox instances on one server.

My plan is:
  1. Buy a new cloud server
  2. Install Proxmox 9 onto it (or the latest version)
  3. Copy containers from backups across to new proxmox
  4. Point all traffic to new nginx container
  5. Do my work on the old proxmox/server.
    1. Update proxmox on there etc
  6. Smoke test to make sure it's all working
  7. Migrate traffic back over the first server
  8. Cancel the new server's subscription
Though it's an expensive plan, its the safest one I can find... We might lose some data due to a container being the database but i'm willing to sacrifice that.

This is the only way that I can think of that will keep it running smoothly without having servers, load balancing etc. We're a small company so we haven't got to that point yet.

I'd also like to mention, i'm no network god, I'm just a full-stack developer who knows how to make websites run. It's the networking part of this that scares me. Too many times have I taken things down
 
Last edited:
  • Like
Reactions: Johannes S