Hi,
I try to understand the compare and baseline CPU commands with libvirt.
This functions are useful for the migration ? Before migrate a domain to
other host, libvirt verifies the CPU compatibility, that's right ?
I've got two 64bits hosts, one with an Intel CPU :
*<cpu>*
* **<arch>x86_64</arch>*
* **<model>Penryn</model>*
* **<vendor>Intel</vendor>*
* **<topology sockets='1' cores='2' threads='1'/>*
* **<feature name='xtpr'/>*
* **<feature name='tm2'/>*
* **<feature name='est'/>*
* **<feature name='vmx'/>*
* **<feature name='ds_cpl'/>*
* **<feature name='monitor'/>*
* **<feature name='pbe'/>*
* **<feature name='tm'/>*
* **<feature name='ht'/>*
* **<feature name='ss'/>*
* **<feature name='acpi'/>*
* **<feature name='ds'/>*
* **<feature name='vme'/>*
*</cpu>*
and one with an AMD CPU
*<cpu>*
* **<arch>x86_64</arch>*
* **<model>Opteron_G2</model>*
* **<vendor>AMD</vendor>*
* **<topology sockets='1' cores='2' threads='1'/>*
* **<feature name='3dnowprefetch'/>*
* **<feature name='cr8legacy'/>*
* **<feature name='extapic'/>*
* **<feature name='cmp_legacy'/>*
* **<feature name='3dnow'/>*
* **<feature name='3dnowext'/>*
* **<feature name='fxsr_opt'/>*
* **<feature name='mmxext'/>*
* **<feature name='ht'/>*
* **<feature name='vme'/>*
*</cpu>*
Baseline output :
AMD to intel:
*$ virsh cpu-baseline cpu_gargamel.xml *
*<cpu match='exact'>*
* <model>Opteron_G2</model>*
* <vendor>AMD</vendor>*
* <feature policy='require' name='3dnowprefetch'/>*
* <feature policy='require' name='cr8legacy'/>*
* <feature policy='require' name='extapic'/>*
* <feature policy='require' name='cmp_legacy'/>*
* <feature policy='require' name='3dnow'/>*
* <feature policy='require' name='3dnowext'/>*
* <feature policy='require' name='fxsr_opt'/>*
* <feature policy='require' name='mmxext'/>*
* <feature policy='require' name='ht'/>*
* <feature policy='require' name='vme'/>*
*</cpu>*
Intel to AMD:
*$ virsh cpu-baseline cpu_azrael.xml *
*<cpu match='exact'>*
* <model>Penryn</model>*
* <vendor>Intel</vendor>*
* <feature policy='require' name='xtpr'/>*
* <feature policy='require' name='tm2'/>*
* <feature policy='require' name='est'/>*
* <feature policy='require' name='vmx'/>*
* <feature policy='require' name='ds_cpl'/>*
* <feature policy='require' name='monitor'/>*
* <feature policy='require' name='pbe'/>*
* <feature policy='require' name='tm'/>*
* <feature policy='require' name='ht'/>*
* <feature policy='require' name='ss'/>*
* <feature policy='require' name='acpi'/>*
* <feature policy='require' name='ds'/>*
* <feature policy='require' name='vme'/>*
*</cpu>*
But if I try to migrate a domain from a host to another, the CPU compare
says there are incompatible.
I don't understand, I've done live migration manually (*migrate -d tcp:
192.168.1.10:4444*) with KVM and it's works nicely. Why it's not possible
trough libvirt ?
I use libvirt 0.7.5 with KVM on an Ubuntu LTS 10.04.
Regards,
Doude.