Now you can control grub from the serial console too and you’ll see the boot messages too.

Migrating

I had “plain” partitions on my lvm volumes; in order to install a boot manager you should have a “disk” with a partition table; i just added a small volume (256 MB) and put a /boot partition on it; that way you can still snapshot the real volume on the master, mount it and get a backup from it.

libvirt will use the first listed hard disk in the config as boot disk; but you can list “vdb” before “vda”, if “vdb” is your new boot disk and “vda” the data partition.

In order to install a boot manager in the kvm node i started from a small grml:http://grml.org/download/ iso; mount the volume, bind /dev (mount --bind /dev /mnt/vda/dev) and mount /boot (if you want to use it; don’t forget to copy the real data from /boot on your new boot partition).
Then chroot into your volume (as you probably don’t have zsh specify a shell) and install grub:

1
2
3
4

chroot /mnt/vda /bin/bash
grub-install
update-grub
exit

Now shutdown, remove the cd and start again.

Networking at Hetzner

IPv4

Hetzner routes all traffic to your main ip; so the easiest setup is to use the main ip on your master, and use additional ips on your nodes. NAT + portforwarding works too ofc.

Now add the IPv6 addresses you use “behind” eth0 (i.e. on the virbr* networks) to the neighbour “proxy” list.
For permanent config add each line as “post-up” in the eth0 inet6 section of your /etc/network/interfaces files.