Today I upgraded my home server software. This machine is a hand-built box, running a number of virtual machines (KVM and OpenVZ) all managed by Proxmox.
Prior to this morning, this was using Proxmox version 1.9, which runs under Debian 5 ("Lenny"). The Debian project retired Lenny a short time ago (so no more regular security updates), so it was time for the Proxmox team to move on. Proxmox 2.0, which has a revamped web interface and runs on Debian 6 ("Squeeze") was released at the end of March, so now was the time, on a quiet Sunday morning, to take the plunge.
Preparation comprised backing up all the virtual machines. Then it was simply a case of running the in-place upgrade script. Note that the preferred approach is a new install to bare metal, but I don't have the resources for that. The upgrade process is only guaranteed to work if the original installation is unsullied, which I thought to be the case. However, I was wrong!
The first thing that went wrong was that I had added some package repositories (to enable ClamAV to update properly), so this caused the upgrade script to fail. Also, I had installed the APC daemon for monitoring my UPS, which caused another failure. These were easy problems to fix, and fortunately the upgrade script can be run repeatedly (apparently it's idempotent, which I thought was a problem that Pele had).
Eventually I got everything sorted out, and all the VMs booted up. Except for the total absence of networking, it was great! Fortunately, I'd experienced this problem before. Kernel upgrades occasionally cause udev (the Linux kernel device manager) to remap the ethernet device (i.e. give it a different id, causing the network startup scripts to fail). Again, an easy fix, once the initial head-scratching was over.
In summary, everything works (again). I have a shiny new interface to play with, and hopefully I won't need to do this again for a couple of years.