OpenStack起的虚拟机运行VPP报CPU不支持SSE4.2扩展指令集问题

报错如下:
ERROR: This binary requires CPU with SSE4.2 extensions.。

虚拟机上看看CPU信息,确实没有sse4_2:
cat /proc/cpuinfo

flags           : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx pdpe1gb lm rep_good nopl pni cx16 x2apic popcnt hypervisor lahf_lm kaiser

解决思路:
1.宿主机上看看CPU信息,发现是支持SSE4.2扩展指令集的;
2.那应该是虚拟给虚拟机的CPU信息不完整;
3.宿主机上执行virsh list,找到虚拟机ID;
执行virsh dumpxml看一下virt起虚拟机的xml信息中的CPU一项,没有host-model,关于这个host-model,http://libvirt.org/formatdomain.html中有介绍

host-model
The host-model mode is essentially a shortcut to copying host CPU definition from capabilities XML into domain XML. 

解决方法是更新一下虚拟机镜像的元数据:Image CPU mode—>CPU Mode---->hw_cpu_mode---->host-model

更新后起的虚拟机xml文件里有如下一项:


虚拟机里cat /proc/cpuinfo如下,有 sse4_2一项:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat invpcid_single kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt

你可能感兴趣的:(OpenStack,基础架构)