KVM虚拟机,如何设置虚拟机的CPU型号与物理机是一样的

简介:

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,如需转载请自行联系原作者
目录
相关文章
|
5天前
|
Linux KVM 数据库
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统。服务器上运行数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件。 服务器故障: 工作人员操作失误删除了服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复误删除虚拟机中raw格式的磁盘文件。
服务器数据恢复—服务器误删除KVM虚拟机数据恢复案例
|
7天前
|
存储 弹性计算 运维
|
7天前
|
弹性计算 Shell KVM
查看KVM 虚拟机中的网卡信息
【4月更文挑战第29天】
10 0
|
7天前
|
弹性计算 Shell KVM
快速克隆KVM 虚拟机
【4月更文挑战第29天】
19 3
|
7天前
|
存储 弹性计算 运维
|
7天前
|
弹性计算 Shell KVM
|
7天前
|
运维 IDE Linux
KVM详解(九)——CentOS6虚拟机关机失败问题解决
KVM详解(九)——CentOS6虚拟机关机失败问题解决
22 5
|
7天前
|
运维 Linux KVM
KVM详解(八)——KVM虚拟机自启动
KVM详解(八)——KVM虚拟机自启动
19 5
|
7天前
|
虚拟化
vmware克隆虚拟机后没有ip地址的问题
解决vmware克隆虚拟机后没有内网ip的问题
|
7天前
|
算法 虚拟化 C++
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
139 0