[Openstack] Cannot boot from volume with 2 devices

Gaurav Gupta gauravgupta at gmail.com
Tue Nov 1 16:52:58 UTC 2011


Hi all, I asked a question on Launchpad. but haven't heard back anything
yet. Trying this forum to see if someone has any idea how to resolve this
issue:
https://answers.launchpad.net/nova/+question/176938

To summarize:
----------------------

Say I had 2 disks, disk1 and disk2 (represented by 2 volumes). disk1 has
the root-file-system and disk2 has some data. I boot an instances using the
boot-from-volumes extension, and specify the 2 disks such as disk1 should
be attached to /dev/vda and disk2 to /dev/vdb. When the instance is
launched it fails to boot, because it tries to find the root-filesystem on
disk2 instead.

The underlying problem is with virsh/libvirt. Boot fails because in the
libvirt.xml file created by Openstack, disk2 (/dev/vdb) is listed before
disk1 (/dev/vda). So, what happens is that the hypervisor attaches disk2
first (since its listed first in the XML). Therefore when these disks are
attached on the guest, disk2 appears as /dev/vda and disk1 as /dev/vdb,
which causes the boot failure. Later the kernel tries to find the root
filesystem on '/dev/vda' (because thats' what is selected as the root) and
it fails for obvious reason. I think it's a virsh bug. It should be smart
about it and attach the devices in the right order.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20111101/168f2081/attachment.html>


More information about the Openstack mailing list