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

I'm moving Ubuntu Server guest machines from an Ubuntu Server Host to a CentOS 6 Host machine. My intent is to keep the guests as Ubuntu Servers and just change the OS of the Host.

I've moved the logical volume and virsh XML definitions to the new host machine. When I first tried to use virsh define ldap, I got the error:

error: Failed to define domain from ldap.xml
error: Cannot find QEMU binary /usr/bin/kvm: No such file or directory

So I changed

<emulator>/usr/bin/kvm</emulator>

to

<emulator>/usr/libexec/qemu-kvm</emulator>

in the XML file and I was able to define the machine. I'm guessing that that is the CentOS equivalent path.

When I attempt to start the vm though, I get this error:

# virsh start ldap
error: Failed to start domain ldap
error: internal error process exited while connecting to monitor: Supported machines are:
pc         RHEL 6.2.0 PC (alias of rhel6.2.0)
rhel6.2.0  RHEL 6.2.0 PC (default)
rhel6.1.0  RHEL 6.1.0 PC
rhel6.0.0  RHEL 6.0.0 PC
rhel5.5.0  RHEL 5.5.0 PC
rhel5.4.4  RHEL 5.4.4 PC
rhel5.4.0  RHEL 5.4.0 PC

I'm not sure what's going on... Is it trying to use para-virtualization instead of full virtualization? Or do I need to change something in the XML definition?

UPDATE:

Here's the Full XML Definition from virsh dumpxml ldap:

<domain type='kvm'>
  <name>ldap</name>
  <uuid>d947ed8d-d8d1-8388-59ad-7f620b391af2</uuid>
  <memory>262144</memory>
  <currentMemory>262144</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.14'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/mapper/mainvg-vm_ldap'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:8b:54:62'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>

I'm thinking that maybe:

<type arch='x86_64' machine='pc-0.14'>hvm</type>

Is the line its complaining about?

Should it be:

<type arch='x86_64' machine='pc'>hvm</type>

? All of the suggested/allowed options are RHEL though and its an Ubuntu Machine.

The machine did start though!

share|improve this question

1 Answer 1

up vote 1 down vote accepted

post the full xml definition you currently have. The error is about the lack of machine definition, the -M argument of qemu-kvm.

share|improve this answer
1  
See my update- I changed <type arch='x86_64' machine='pc-0.14'>hvm</type> to <type arch='x86_64' machine='pc'>hvm</type> and the machine started. Thank you! –  Nick Feb 10 '12 at 0:47
    
glad it worked for you –  dyasny Feb 10 '12 at 7:09

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.