本文共 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的宿主机之间虚拟机不能迁移