博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KVM虚拟机,如何设置虚拟机的CPU型号与物理机是一样的
阅读量:5749 次
发布时间:2019-06-18

本文共 2475 字,大约阅读时间需要 8 分钟。

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,如需转载请自行联系原作者
你可能感兴趣的文章
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>
SRE工程师到底是做什么的?
查看>>
解读:Red Hat为什么收购Ansible
查看>>
Ossim下的安全合规管理
查看>>
DelphiWebMVC框架下BPL热部署实现
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>
单元测试
查看>>
spring.net 继承
查看>>
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>
用Bootstrap写一份简历
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>
从零开始学习IOS,(UILabel控件)详细使用和特殊效果
查看>>
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
7、设计模式-创建型模式-建造者模式
查看>>