Hello..

can you send cpu info(/proc/cpuinfo or dmidecode)?

see =>

https://wiki.libvirt.org/page/Libvirt_identifies_host_processor_as_a_different_model_from_the_hardware_documentation

https://serverfault.com/questions/585791/which-cpu-model-to-set-for-guest-kvm-when-processor-is-ivy-bridge

libvirt linux => /usr/share/libvirt/cpu_map.xml

qemu => qemu-system-x86_64 --cpu ?

x86           qemu64  QEMU Virtual CPU version 2.5+
x86           phenom  AMD Phenom(tm) 9550 Quad-Core Processor
x86         core2duo  Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
x86            kvm64  Common KVM processor
x86           qemu32  QEMU Virtual CPU version 2.5+
x86            kvm32  Common 32-bit KVM processor
x86          coreduo  Genuine Intel(R) CPU           T2600  @ 2.16GHz
x86 486
x86 pentium
x86 pentium2
x86 pentium3
x86           athlon  QEMU Virtual CPU version 2.5+
x86             n270  Intel(R) Atom(TM) CPU N270   @ 1.60GHz
x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)
x86 *Westmere  Westmere E56xx/L56xx/X56xx (Nehalem-C)*
x86      SandyBridge  Intel Xeon E312xx (Sandy Bridge)
x86        IvyBridge  Intel Xeon E3-12xx v2 (Ivy Bridge)
x86    Haswell-noTSX  Intel Core Processor (Haswell, no TSX)
x86          Haswell  Intel Core Processor (Haswell)
x86  Broadwell-noTSX  Intel Core Processor (Broadwell, no TSX)
x86        Broadwell  Intel Core Processor (Broadwell)
x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)
x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)
x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)
x86       Opteron_G4  AMD Opteron 62xx class CPU
x86       Opteron_G5  AMD Opteron 63xx class CPU
x86 host KVM processor with all supported host features (only available in KVM mode)

Regards.


On 05/07/17 01:05, Oisin O'Malley wrote:
Hi,

Thanks for the suggestion, but it’s still not working. I have changed both 
nodes to use the Westmere CPU model, which is the lowest common CPU instruction 
set. The following is in the nova.conf on both nodes;

cpu_mode = custom
cpu_model = Westmere
libvirt_cpu_mode = custom
libvirt_cpu_model = Westmere

I'm beginning to suspect that because the VM has "cpu mode='host-model'" in its xml CPU 
definition, libvirt is incorrectly comparing the current host CPU to the target host instead of 
comparing the guest CPU to the target host CPU. This would be consistent with the error message which 
states that target host (Westmere) isn't compatible with the 'Broadwell-noTSX' CPU model, even though 
the VM is configured as Westmere (<model fallback='allow'>Westmere</model>).

Original Error Message;
Host CPU does not provide required features: fma, x2apic, movbe, tsc-deadline, 
xsave, osxsave, avx, f16c, rdrand, fsgsbase, tsc_adjust, bmi1, hle, avx2, smep, 
bmi2, erms, invpcid, rtm, rdseed, adx, smap, xsaveopt, abm, 3dnowprefetch; try 
using 'Broadwell-noTSX' CPU model

As  mentioned previously, when the VM is booted on a compute node with "cpu_model = 
Westmere" in its nova.conf, the VMs XML CPU definition contains the following and 
DOES live migrate;

<cpu mode='custom' match='exact'>
     <model fallback='allow'>Westmere</model>

Therefore it appears if  a VM XML CPU definition contains "cpu mode='host-model'" the cpu 
model is ignored and the 2 host CPU models are compared. And if  "cpu mode='custom'", 
guest and target CPU models are compared. This would also be consistent with the fact I can migrate 
from a Westmere to a Broadwell, as Broadwell is a superset of Westmere but not the other way around.

Any suggestions with dealing with this? Rebooting all hosted instances isn't 
really an option for us.

Regards,
Oisin




From: rag.open....@openmailbox.org [mailto:rag.open....@openmailbox.org]
Sent: Tuesday, 4 July 2017 9:41 AM
To: Oisin O'Malley <oisin.omal...@iocane.com.au>
Subject: Re: [Openstack] Live Migration and LibVirt CPU Mode

Hello Malley, excuse me for delay...

for resolve your problem consider change architecture in 2 compute nodes..

compute1

cat /proc/cpuinfo
compute2

cat /proc/cpuinfo

search middle architecture for this processor..
my example in my situation

1º compute
model name    : AMD Phenom(tm) II X6 1090T Processor
2º compute
model name    : AMD A8-7600 Radeon R7, 10 Compute Cores 4C+6G

and de nova in 2 compute:
libvirt_cpu_mode = custom
cpu_mode = custom
libvirt_cpu_model=Opteron_G3
cpu_model=Opteron_G3

Custom:

If your nova.conf file contains cpu_mode=custom, you can explicitly specify one of 
the supported named models using the cpu_model configuration option. For example, 
to configure the KVM guests to expose >Nehalem CPUs, your nova.conf file should 
contain

Nova cpu

that's all. Search compatible architecture

Oisin O'Malley
Systems Engineer
Iocane Pty Ltd
763 South Road
Black Forest SA 5035

Office:+61 (8) 8413 1010
Fax:+61 (8) 8231 2050
Email:oisin.omal...@iocane.com.au
Web:www.iocane.com.au

Better for business


_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to