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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
KVM 虚拟化
kvm虚拟机快照
这篇文章主要介绍了KVM虚拟机快照的创建、管理、恢复以及删除的详细步骤,包括查看快照信息、创建快照、模拟系统破坏后基于快照恢复虚拟机、使用快照的注意事项以及如何删除快照。
87 2
|
2月前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
277 1
|
3月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
80 2
|
4月前
|
KVM 虚拟化
KVM虚拟机的桥接网络
文章主要介绍了KVM虚拟机的NAT和桥接网络类型的工作原理、配置方法以及如何进行网络模式的切换。
59 3
KVM虚拟机的桥接网络
|
4月前
|
KVM 虚拟化
KVM虚拟机的克隆
这篇文章介绍了如何使用KVM虚拟机进行完整克隆和链接克隆,包括手动克隆和使用virt-clone工具克隆的方法,以及如何编写脚本来实现自动化克隆和删除虚拟机。
106 3
KVM虚拟机的克隆
|
4月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
167 1
KVM虚拟机的热迁移
|
4月前
|
KVM 虚拟化 数据安全/隐私保护
KVM虚拟机安装实战
本文讲述了如何创建并使用VNC连接KVM虚拟机的详细教程,包括安装图解和命令行参数说明。
140 8
|
4月前
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
152 3
|
2月前
|
Ubuntu 网络安全 虚拟化
VMware虚拟机ping不通原因排查及分析
下面以 VMware 虚拟机为例进行介绍。
1055 3