1、在kvm主机上修改配置文件
1
2
3
4
5
6
7
|
[root@node160 ~]
# virsh edit CentOS-7.3-X86_64
将xml配置文件中的:
<cpu mode=
'custom'
match=
'exact'
>
<model fallback=
'allow'
>IvyBridge<
/model
>
<
/cpu
>
修改为:
<cpu mode=
'host-passthrough'
/>
|
2、kvm关于cpu型号的定义(也就说默认支持模拟这些cpu型号)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@node160 ~]
# cat /usr/share/libvirt/cpu_map.xml | tail -11
<model name=
'POWERPC_e5500'
>
<vendor name=
'Freescale'
/>
<pvr value=
'0x80240000'
mask=
'0xffff0000'
/>
<
/model
>
<model name=
'POWERPC_e6500'
>
<vendor name=
'Freescale'
/>
<pvr value=
'0x80400000'
mask=
'0xffff0000'
/>
<
/model
>
<
/arch
>
<
/cpus
>
如上所示:我这里仅截取部分内容
'486'
'pentium'
'pentium2'
'pentium3'
'pentiumpro'
'coreduo'
'pentiumpro'
'n270'
'coreduo'
'core2duo'
'qemu32'
'kvm32'
'cpu64-rhel5'
'cpu64-rhel6'
'kvm64'
'qemu64'
'Conroe'
'Penryn'
'Nehalem'
'Westmere'
'SandyBridge'
'Haswell'
'athlon'
'phenom'
'Opteron_G1'
'Opteron_G2'
'Opteron_G3'
'Opteron_G4'
'Opteron_G5'
'POWER7'
'POWER7_v2.1'
'POWER7_v2.3'
使用这种方案主要是为了在虚拟机迁移的时候,在不同的宿主机间保证兼容性。
|
3、cpu配置模式主要有以下几种
1
2
3
4
5
6
7
8
9
10
|
a、custom 自己定义(默认)
<cpu mode=
'custom'
match=
'exact'
>
<model fallback=
'allow'
>kvm64<
/model
>
...
<feature policy=
'require'
name=
'monitor'
/>
<
/cpu
>
b、host-model(根据物理CPU的特性,选择一个最靠近的标准CPU型号,如果没有指定CPU模式,默认这种模式)
<cpu mode=
'host-model'
/>
c、host-passthrough(直接将物理CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理CPU的型号)
<cpu mode=
'host-passthrough'
/>
|
4、在虚拟机内,查看cpu的信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@localhost ~]
# cat /proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping: 9
microcode: 0x1
cpu MHz: 2494.342
cache size: 4096 KB
physical
id
: 0
siblings: 1
core
id
: 0
cpu cores: 1
apicid: 0
initial apicid: 0
fpu:
yes
fpu_exception:
yes
cpuid level: 13
wp:
yes
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 rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep
bogomips: 4988.68
clflush size: 64
cache_alignment: 64
address sizes: 42 bits physical, 48 bits virtual
power management:
|
5、关于host-passthrough的注意事项
-
需要将物理CPU的一些特性传给虚拟机使用,比如虚拟机嵌套的nested技术的时候
-
需要在虚拟机里面看到和物理CPU一模一样的CPU品牌型号,这个在一些公有云很有意义,用户体验比较好
-
注意,不同型号的CPU的宿主机之间虚拟机不能迁移
本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1926131,如需转载请自行联系原作者