Overview
Updating a debian etch (v4.1) system to lenny (v5.0) also involves an upgrade of xen from v3.0 to v3.2. This can create quite some hassle for specific setups.
The documentation below describes some of the issues, that we ran into, when we upgraded the https://systemausfall.org server.
Problematic details
Update the kernel
Update the kernel link for all domU
To ease the maintenance of the domU kernel during upgrades, we use symlinks in /boot:
thorax:~# ls -l /boot lrwxrwxrwx 1 root root 35 2008-12-28 05:20 domU-initrd -> /boot/initrd.img-2.6.18-6-xen-amd64 lrwxrwxrwx 1 root root 32 2008-12-28 05:20 domU-kernel -> /boot/vmlinuz-2.6.18-6-xen-amd64 -- snipped some more details --
Update these links to the new domU kernel:
lrwxrwxrwx 1 root root 35 2008-12-28 05:20 domU-initrd -> /boot/initrd.img-2.6.26-1-xen-amd64 lrwxrwxrwx 1 root root 32 2008-12-28 05:20 domU-kernel -> /boot/vmlinuz-2.6.26-1-xen-amd64
Make sure, that all xen host configuration files (e.g. in /etc/xen/ or /etc/xen/vm/) contain the following lines:
kernel = '/boot/domU-kernel' ramdisk = '/boot/domU-initrd'
Update the configuration file of xen-tools (/etc/xen-tools/xen-tools.conf) to use these kernel symlinks by default for new xen hosts:
kernel = /boot/domU-kernel initrd = /boot/domU-initrd #kernel = /boot/vmlinuz-`uname -r` #initrd = /boot/initrd.img-`uname -r`
Update the new module directory in all domU
Plain copying
- shutdown all xen hosts
- mount the system partitions of the xen hosts
copy the new modules directory:
cp -a /lib/modules/`uname -r` $MNT_DIR/lib/modules/
Using a shared read-only blockdevice for all domU
Here we use a separate partition for /lib/modules that is shared among all domU hosts.
create the logical volume (only for LVM - assuming the volume group is named xen-vol):
lvcreate -n xen-shared-modules -L 1G xen-vol mkfs.ext3 /dev/xen-vol/xen-shared-modules
add this block device (read-only!) to all domU (see disk in /etc/xen/vm/${NAME_OF_HOST}.cfg):
'phy:xen-vol/xen-shared-modules,sda4,r',
mount the device in dom0 and copy the module directory:
mount /dev/xen-vol/xen-shared-modules /mnt cp -a /lib/modules/. /mnt/ umount /mnt
add the following line to /etc/fstab in each domU:
/dev/sda4 /lib/modules auto defaults 0 0