关于CPU配置模式,深度实践KVM一书中有概要讲述,最近做KVM的CPU host 模式配置做了相关了解,但因为宿主机的型号种类较多可能无法进一步发布,现做记录

CPU配置模式可以有以下几种种模式:


一、custom 自己定义:

<cpu mode='custom' match='exact'>

    <model fallback='allow'>kvm64</model>

 ...

    <feature policy='require' name='monitor'/>

  </cpu>



二、host-model 

根据物理CPU的特性,选择一个最靠近的标准CPU型号,如果没有指定CPU模式,默认也是使用这种模式,xml配置文件为:


<cpu mode='host-model' />


三、host-passthrough

直接将物理CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理CPU的型号;xml配置文件为:


<cpu mode='host-passthrough'/>


四、两种host模式对比

(1)使用host-model看到的VCPU:Libvir 会根据物理cpu的型号,从规定的CPU中选择一种最接近的CPU型号

processor       : 3

vendor_id       : GenuineIntel

cpu family      : 6

model           : 44

model name      : Westmere E56xx/L56xx/X56xx (Nehalem-C)

...

(2)使用host-passthrough看到的VCPU:直接看到物理CPU的型号


processor       : 3

vendor_id       : GenuineIntel

cpu family      : 6

model           : 44

model name      : Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz


五、host技术适用于以下场景:

1 CPU压力非常大;

2需要将物理CPU的一些特性传给虚拟机使用;

3需要在虚拟机里面看到和物理CPU一模一样的CPU品牌型号,这个在一些公有云很有意义;


注意:host-passthrough 方式虚拟机不能迁移到不同型号的CPU上;