CPU host-passthrough技术与应用

为了保证虚拟机在不同宿主机之间迁移的时候的兼容性,Libvirt对CPU提炼出标准的几种类型,在/usr/share/libvirt/cpu_map.xml中可以查到。cpu_map.xml不仅是CPU型号,还有生产商信息、每种型号的CPU特性定义等信息,如下所示:

<cpus>
  <arch name=‘x86‘>
    <!-- vendor definitions -->
    <vendor name=‘Intel‘ string=‘GenuineIntel‘/>
    <vendor name=‘AMD‘ string=‘AuthenticAMD‘/>

    <!-- standard features, EDX -->
    <feature name=‘fpu‘> <!-- CPUID_FP87 -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000001‘/>
    </feature>
    <feature name=‘vme‘> <!-- CPUID_VME -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000002‘/>
    </feature>
    <feature name=‘de‘> <!-- CPUID_DE -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000004‘/>
    </feature>
    <feature name=‘pse‘> <!-- CPUID_PSE -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000008‘/>
    </feature>
    <feature name=‘tsc‘> <!-- CPUID_TSC -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000010‘/>
    </feature>
    <feature name=‘msr‘> <!-- CPUID_MSR -->
      <cpuid function=‘0x00000001‘ edx=‘0x00000020‘/>
    </feature>
 ...
<!-- models -->
    <model name=‘486‘>
      <feature name=‘fpu‘/>
      <feature name=‘vme‘/>
      <feature name=‘pse‘/>
    </model>
...
  <!-- Intel CPU models -->
    <model name=‘Conroe‘>
      <model name=‘pentiumpro‘/>
      <vendor name=‘Intel‘/>
      <feature name=‘mtrr‘/>
      <feature name=‘mca‘/>
      <feature name=‘pse36‘/>
      <feature name=‘clflush‘/>
      <feature name=‘pni‘/>
      <feature name=‘ssse3‘/>
      <feature name=‘syscall‘/>
      <feature name=‘nx‘/>
      <feature name=‘lm‘/>
      <feature name=‘lahf_lm‘/>
    </model>

Centos6.6所带的Libvirt主要规定了以下几种CPU型号:‘486‘,‘pentium‘,‘pentium2‘,‘pentium3‘,‘pentiumpro‘,‘coreduo‘

CPU模式配置

1)custom模式

xml配置文件如下:

<cpu mode=‘custom‘ match=‘exact‘>
    <model fallback=‘allow‘>kvm64</model>
</cpu>

2)host-model模式

根据物理CPU的特性,选择一个最靠近的标准CPU型号。如果没有指定CPU模式,默认也是使用这种模式,xml配置文件如下:

<cpu mode=‘host-model‘ />

3)host-passthrough模式

直接将物理CPU暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理CPU的型号,xml配置文件如下:

<cpu mode=‘host-passthrough‘ />

注意:使用host-model模式,Libvirt会根据物理CPU的型号,从规定的CPU中选择一种最接近的CPU型号,而使用host-passthrough模式直接看到的就是物理CPU的型号

CPU host-passthrough技术的应用场景

HOST技术使用于以下场景

1)需要将物理CPU的一些特性传给虚拟机使用,比如使用虚拟机嵌套的nested技术的时候

2)需要在虚拟机里面看到和物理CPU一模一样的CPU品牌型号,这个在公有云很有意义,用户体验比较好

注意:使用CPU host-passthrough技术需要注意,不同型号的CPU宿主机之间虚拟机不能迁移

时间: 2024-10-21 19:03:28

CPU host-passthrough技术与应用的相关文章

CPU,内存虚拟化技术

内容从<深度实践KVM>一书总结 CPU.内存虚拟化技术与应用场景 NUMA技术与应用1.SMP技术2.MPP模式3.NUMA技术(none Uniform memory access architecture)非一致性内存访问架构numactl --hardware :查看当前CPU硬件的情况 numastat -c qemu-kvm 关闭Linux系统的自动平衡:echo 0 > /proc/sys/kernel/numa_balancing虚拟机NUMA信息查看与配置 virsh

Intel系列CPU的流水线技术的发展

Intel系列CPU的流水线技术的发展 CPU(Central processing Unit),又称“微处理器(Microprocessor)”,是现代计算机的核心部件.对于PC而言,CPU的规格与频率常常被用来作为衡量一台电脑性能强弱重要指标. 在提高CPU计算能力的过程中,流水线技术对提高CPU的效率产生了显著作用,就像流水生产在汽车制造业中一样,它对处理器的发展影响深远. Intel公司创于1968年美国,纵观IT发展史,很少能有公司能像Intel这样屹立多年仍旧保持强大生命力的.作为现

KVM虚拟化CPU技术总结

KVM虚拟化CPU技术总结 一 NUMA技术介绍NUMA是一种解决多CPU共同工作的技术方案,我们先回顾下多CPU共同工作的技术架构历史.多CPU共同工作主要有三种架构,分别是SMP MPP NUMA架构.SMP MPP NUMA 都是为了解决多CPU共同工作的问题.早期的时候,每台服务器都是单CPU,随着技术发展,出现了多CPU共同工作的需求,最早的多CPU技术是SMP.SMP 多个CPU通过一个总线访问存储器,因此SMP系统有时也被称为一致存储器访问(UMA)结构体系,一致性意指无论在什么时

虚拟化技术原理(CPU、内存、IO)

本文来自:http://www.ywnds.com/?p=5856 虚拟化 云计算现在已经非常成熟了,而虚拟化是构建云计算基础架构不可或缺的关键技术之一. 云计算的云端系统, 其实质上就是一个大型的分布式系统. 虚拟化通过在一个物理平台上虚拟出更多的虚拟平台, 而其中的每一个虚拟平台则可以作为独立的终端加入云端的分布式系统. 比起直接使用物理平台, 虚拟化在资源的有效利用. 动态调配和高可靠性方面有着巨大的优势. 利用虚拟化, 企业不必抛弃现有的基础架构即可构建全新的信息基础架构,从而更加充分地

CPU封装技术介绍

所谓“CPU封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术.以CPU为例,我们实际看到的体积和外观并不是真正的CPU内核的大小和面貌,而是CPU内核等元件经过封装后的产品. CPU封装对于芯片来说是必须的,也是至关重要的.因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降.另一方面,封装后的芯片也更便于安装和运输.由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的.封装也可以说是指安装半导体集成电

CPU纯软件全虚拟化技术

我们在前面的文章中提到了虚拟化技术的大致分类情况,即分为全虚拟化.半虚拟化和硬件辅助虚拟化技术3大类别.而我们虚拟化技术最主要的虚拟主体就是我们的硬件CPU.内存和IO,那么我们的CPU在全虚拟化模式下如何工作?在半虚拟化下如何工作?在硬件辅助虚拟化模式下如何工作?或着说细分下来,我们又可以分为CPU的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术,内存的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术以及IO设备的全虚拟化技术.半虚拟化技术和硬件辅助虚拟化技术.本次我们就来说说CPU的全虚拟化技

CPU纯软件半虚拟化技术

在2003年出现的Xen,使用了另外的一种半虚拟化的方案来解决x86架构下CPU的敏感指令问题.主要采用Hypercall技术.Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相关的操作都转换为发给VMM的Hypercall(超级调用),由VMM继续进行处理.而Hypercall支持的批处理和异步这两种优化方式,使得通过Hypercall能得到近似于物理机的速度. 1.Hypercall技术 对于x86体系结构CPU,Xen使用超级调用来替换被监控的操作,其中包括x86架构

从CPU的技术参数认识CPU

CPU是PC的核心所在,在以下的文章里面我们从几个与CPU相关的性能参数谈起,使读者初步对CPU有个全面的了解,这样将有助于加深读者对PC的了解. 1.CPU的内部结构与工作原理 CPU是Central Processing Unit--中央处理器的缩写,它由运算器和控制器组成,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分.CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的

[虚拟化] CPU虚拟化技术 - Introduction

虚拟化技术的分类主要有服务器虚拟化.存储虚拟化.网络虚拟化.应用虚拟化. 服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化.内存虚拟化.I/O虚拟化: 按照虚拟化程度可分为:全虚拟化.半虚拟化.硬件辅助虚拟化. 将不同的虚拟化对象和程度组合,可得出 9种 不同的服务器虚拟化技术. 首先详细介绍下服务器虚拟化之CPU虚拟化,后续讲解中再详细介绍内存虚拟化及I/O虚拟化. 二.CPU虚拟化 ·CPU全虚拟化技术 主要采用优先级压缩技术(Ring Compression)和 二进制代码翻译技术(

GPU虚拟化技术

一.GPU概述 GPU的英文名称为Graphic Processing Unit,GPU中文全称为计算机图形处理器,由1999 年NVIDIA 公司提出.GPU这一概念也是相对于计算机系统中的CPU而言的,由于人们对图形的需求越来越大,尤其是在家用系统和游戏发烧友,而传统的CPU不能满足现状,因此需要提供一个专门处理图形的核心处理器.GPU 作为硬件显卡的"心脏",地位等同于CPU在计算机系统中的作用.同时GPU也可以用来作为区分2D硬件显卡和3D硬件显卡的重要依据.2D硬件显卡主要通