Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I upgraded to Ubuntu 12.04.1 and now libvirt (via open nebula) successfully runs vms but they aren't finding the 2 drives (specifically, the boot drive). One is "hd" the other is "cdrom".

The machine boots but fails and displays something like "boot media not found hd" (this was in a vnc terminal and I didn't copy the output anywhere so that's not the verbatim message).

I tried constructing a new disk using the new version of qemu (via vmbuilder) and this new machine has the same problem as the old machine.

In case it matters (I can't see why it would) I'm using open nebula to manage the machines.

There's nothing relevant in any of the logs: syslog, libvirtd, oned. Which is to say nothing interesting/anomalous is reported when the machine is brought up.

Versions

libvirt 0.9.8-2ubuntu17.4

qemu-kvm 1.0+noroms-0ubuntu14.3

The libvirt xml config portions (relavent)

<os>
  <type arch='x86_64' machine='pc-1.0'>hvm</type>
  <boot dev='hd'/>
</os>
...
<devices>
  <emulator>/usr/bin/kvm</emulator>
  <disk type='file' device='disk'>
    <driver name='qemu' type='qcow2'/>
    <source file='/var/lib/one//203/images/disk.0'/>
    <target dev='sda' bus='scsi'/>
    <alias name='scsi0-0-0'/>
    <address type='drive' controller='0' bus='0' unit='0'/>
  </disk>
  <disk type='file' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source file='/var/lib/one//203/images/disk.1'/>
    <target dev='sdc' bus='scsi'/>
    <readonly/>
    <alias name='scsi0-0-2'/>
    <address type='drive' controller='0' bus='0' unit='2'/>
  </disk>
  <controller type='scsi' index='0'>
    <alias name='scsi0'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
  </controller>
  <memballoon model='virtio'>
    <alias name='balloon0'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
  </memballoon>
  ...
</devices>

The libvirt/qemu log contains

2012-11-25 22:19:24.328+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 256 -smp 1,sockets=1,cores=1,threads=1 -name one-204 -uuid 4be6c276-19e8-bdc2-e9c9-9ca5352f2be3 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/one-204.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device lsi,id=scsi0,bus=pci.0,addr=0x5 -drive file=/var/lib/one//204/images/disk.0,if=none,id=drive-scsi0-0-0,format=qcow2 -device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0,bootindex=1 -drive file=/var/lib/one//204/images/disk.1,if=none,media=cdrom,id=drive-scsi0-0-2,readonly=on,format=raw -device scsi-disk,bus=scsi0.0,scsi-id=2,drive=drive-scsi0-0-2,id=scsi0-0-2 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=02:00:c0:a8:00:68,bus=pci.0,addr=0x3 -netdev tap,fd=19,id=hostnet1 -device rtl8139,netdev=hostnet1,id=net1,mac=02:00:ad:f0:1b:94,bus=pci.0,addr=0x4 -usb -vnc 0.0.0.0:204 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
kvm: -device rtl8139,netdev=hostnet0,id=net0,mac=02:00:c0:a8:00:68,bus=pci.0,addr=0x3: pci_add_option_rom: failed to find romfile "pxe-rtl8139.rom"
kvm: -device rtl8139,netdev=hostnet1,id=net1,mac=02:00:ad:f0:1b:94,bus=pci.0,addr=0x4: pci_add_option_rom: failed to find romfile "pxe-rtl8139.rom"
share|improve this question
    
Is your image really a RAW image? –  Giovanni Toraldo Nov 27 '12 at 6:50
    
The 2nd disk is indeed a raw CD image. This is used to load the VM context for open nebula. However, the first disk is a qcow2 disk . –  bias Nov 27 '12 at 17:12

1 Answer 1

up vote 1 down vote accepted

This is related to QEMU Bug #485251.

There's a problem with qemu and kvm scsi bus support. Simply changing the vm to use virtio (for opennebula this means changing the context drive prefix to "v" from "s" i.e. "vda").

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.