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,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
KVM 虚拟化
kvm虚拟机快照
这篇文章主要介绍了KVM虚拟机快照的创建、管理、恢复以及删除的详细步骤,包括查看快照信息、创建快照、模拟系统破坏后基于快照恢复虚拟机、使用快照的注意事项以及如何删除快照。
40 2
|
1月前
|
KVM 虚拟化
KVM虚拟机的桥接网络
文章主要介绍了KVM虚拟机的NAT和桥接网络类型的工作原理、配置方法以及如何进行网络模式的切换。
28 3
KVM虚拟机的桥接网络
|
1月前
|
KVM 虚拟化
KVM虚拟机的克隆
这篇文章介绍了如何使用KVM虚拟机进行完整克隆和链接克隆,包括手动克隆和使用virt-clone工具克隆的方法,以及如何编写脚本来实现自动化克隆和删除虚拟机。
33 3
KVM虚拟机的克隆
|
1月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
48 1
KVM虚拟机的热迁移
|
1月前
|
KVM 虚拟化
kvm虚拟机磁盘管理
文章详细介绍了KVM虚拟机磁盘管理,包括磁盘格式概述、创建虚拟机时如何指定磁盘格式、以及磁盘工具的常用命令,旨在帮助用户更好地理解和操作KVM虚拟机的磁盘管理。
50 1
kvm虚拟机磁盘管理
|
1月前
|
KVM 虚拟化 数据安全/隐私保护
KVM虚拟机安装实战
本文讲述了如何创建并使用VNC连接KVM虚拟机的详细教程,包括安装图解和命令行参数说明。
50 8
|
1月前
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
30 3
|
12天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
71 5
|
10天前
|
Prometheus Kubernetes 监控
使用kubectl快速查看各个节点的CPU和内存占用量
在Kubernetes集群中,安装metrics-server,并使用kubectl快速查看集群中各个节点的资源使用情况。
25 0
|
2月前
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储