2

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!

Nick
  • 4,433
  • 29
  • 67
  • 95

1 Answers1

1

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

dyasny
  • 18,482
  • 6
  • 48
  • 63