我做实验的时候,把主机A的KVM虚拟机迁移到主机B时,提示报错如下
[root@server_3 qemu]
# virsh start openstack
error: Failed to start domain openstack
error: the CPU is incompatible with host CPU: Host CPU does not provide required features: fma, x2apic, movbe, tsc-deadline, xsave, avx, f16c, rdrand, fsgsbase, bmi1, hle, avx2, smep, bmi2, erms, invpcid, rtm, mpx, rdseed, adx, smap, xsaveopt, xsavec, xgetbv1, abm, 3dnowprefetch
其实这个报错的意思就是新的CPU不支持某些指令集,确实我迁移过去的新主机,上面的CPU是很多年前的了,如何解决这个问题,很简单,就是把xml文件内的CPU型号,选择成和主机一致,即可
我之前的XML文件中关于CPU的定义如下:
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>Skylake-Client</model>
</cpu>
然后修改成和主机一致:
<cpu mode='host-passthrough' check='none'/>
再次重新定义,并启动,成功