Xen + DRBD using pygrub.

I ran into this problem when I installed CentOS into a Xen domU using the HowTo:

http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

After installation, you are urged to use bootloader=”/usr/bin/pygrub”

However, trying to start the domU results in the error “Error: Disk
isn’t accessible”. A google search turns up speculation that this is
somehow pygrub’s fault, however, if one runs pygrub /dev/drbd0, it
works as expected.

The problem is in the xm utility, it attempts to resolve the disk name
(drbd0) into a device name (/dev/drbd0) by using the disk type (drbd).
However, it does not recognize the type drbd, so it fails to do so.
Attached is a patch that simply treats a drbd disk like phy and
returns “/dev/%s” % “drbd0″.

I realize that a resource (drbd0) may actually use a different device
node than /dev/drbd0, however, resolving this would require parsing
the drbd.conf file and also using the current host name to locate the
correct “on” section. I figure this patch is good enough to work for
most folks.

Here is the patch.


About this entry