I manage a server that currently runs Debian/Etch, and Xen 3.0. Each virtual machine is also running Debian/Etch.
Lenny is the next release of Debian, and includes Xen 3.2. Unfortunately, I believe there is no automatic upgrade path (via dist-upgrade) between Xen 3.0 and Xen 3.2. (Xen 3.0 is listed as an obsolete package in the lenny release notes).
What steps should I follow to end up with the server running lenny/xen3.2 and the virtual machines running lenny?
I was able to migrate a Debian Etch/Xen 3.0 server to Lenny/Xen 3.2 using dist-upgrade. All apt-get did was download the appropriate packages and install them. After making sure the grub config is correct and will be booting 3.2 all of my paravirtual machines booted up. All of the PV machines are Gentoo so I can't comment on the client upgrade for Debian but it shouldn't be that difficult. I did have some issues with an HVM machine and had to rebuild it.
I find changing Xen packages on the fly extremely risky. Since this is virtualization, you should build a new lenny Xen 3.2 server (or maybe 3.3 or 3.4 from source since it's out), do a migration test with a copy of your actual domains and then update your actual server to see if it works. This allows you to be on the safe side of things and avoid a potential server crash/reinstallation/downtime.
I have had several bad experiences so I tend to try to avoid these updates unless really necessary.
I have performed the same upgrade, and have taken some notes:
Start with the guests:
Install packages. Some scripts I used had removed udev, so had to reinstall it.
aptitude install udev linux-modules-2.6-xen-amd64
Add the following to /etc/inittab, otherwise you lose your
xm console
option (Then no ssh means no access without manual mount & modify)0:2345:respawn:/sbin/getty 38400 hvc0
I shut down guests at this stage, until dom0 reboot. This may not be suitable for all, but I do to be on the safe side.
Continue with host:
Have all relevant packages installed, make sure xen package versions are all 3.2
aptitude install xen-utils bridge-utils xen-hypervisor linux-image-xen-amd64 linux-modules-xen-amd64
Check grub menu.lst