Upgrading my servers from Ubuntu 24.04.4 LTS to 26.04.1 LTS
📆 2026-10-05 11:25
It was time.
My servers were running Ubuntu 24.04.4 LTS, and with Ubuntu 26.04.1 LTS available, I decided it was finally time to upgrade them. Of course, upgrading several servers at once is a great way to turn a quiet evening into an exciting troubleshooting session. So I did what any cautious homelabber would do:
I upgraded one server first.
The test subject
The first victim was lenovo1. I logged in, made sure everything looked normal, and ran:
That's it. The upgrade process did its thing and I waited. And waited. And waited some more. Eventually it reached 100%.
There was, however, one little bit of interaction required during the upgrade.
Ubuntu asked me what to do with my existing NUT configuration files. Since I already had my UPS setup configured exactly the way I wanted, I chose to keep my current versions. Three times. I had to confirm that I wanted to keep:
Installing and configuring NUT (Network UPS Tools) for your home lab
The moment of truth
I rebooted lenovo1. Time for the moment of truth. Did it boot? Yes. I sshed to lenovo1 and was greeted with:
Nothing appeared to have exploded. This was the part where I could have immediately started upgrading all the other machines.
The rest of the herd
Once lenovo1 survived the upgrade and rebooted successfully, I proceeded with the rest:
I repeated the same process on each machine: do-release-upgrade. Wait for 100%. Keep the existing NUT configuration when asked. Reboot. Check that everything works.
No downtime
The nice thing about having the servers behind Keepalived is that I didn't have to take my public services offline while doing all this.
The services exposed to the outside world include:
- Gemini
- Gopher
- Finger
- HTTPS
Normally, rebooting the server currently handling the traffic would mean a little outage. But with Keepalived, the Virtual IP can move to another node when one goes down. So I could upgrade and reboot one server while another node continued handling the traffic.
No maintenance page. No "I'll be back soon." No angry users from the 2 people who might actually notice that my Gopher server is not online.
The services stayed online while I worked through the cluster.
I originally installed Keepalived after discovering that tiny was a single point of failure for the entire cluster and I wrote about that adventure here:
Cluster Outage Postmortem: Missing Keepalived
That little bit of redundancy turned out to be particularly useful during this upgrade.
My servers survived another major Ubuntu upgrade, the UPS configuration survived intact, my public services stayed online, and I didn't even have to reach for the rescue USB.
I'll call that a BIG win.