libvirt中 cpu mode可以有以下3种:

custom :

该模式下cpu element用来描述guest可见的CPU,该模式也是mode的default模式,它会使得persistent guest不论host CPU是怎样,guest可见的CPU是一样的。有利于migration。

host-model :

该模式下,domain初始化时会copy当前host cpu的capabilities到guest 的domain。match attribute 和任何feature elements不适用该模式。

host-passthrough:

该模式下,guest可见的CPU与当前运行之上的host的CPU完全相同,model和任何feature elements不适用该模式。

https://libvirt.org/formatdomain.html#elementsCPU

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-libvirt-dom-xml-cpu-model-top.html

libvirt cpu mode 在nova中通过一下nova.conf来配置:

# Set to "host-model" to clone the host CPU feature flags; to "host-
# passthrough" to use the host CPU model exactly; to "custom" to use a named
# CPU model; to "none" to not set any CPU model. If virt_type="kvm|qemu", it
# will default to "host-model", otherwise it will default to "none" (string
# value)
# Allowed values: host-model, host-passthrough, custom, none
#cpu_mode = <None>

https://wiki.openstack.org/wiki/LibvirtXMLCPUModel

https://review.openstack.org/#/c/286520/3/specs/newton/approved/expose-host-capabilities.rst

打算扩展和统一host capability,主要在现有的host capability之上扩展以下3个方面:

  1. 版本capability
  2. 用在image filter的architecture, hypervisor type, VM mode
  3. 不易被发现的e.g.: SSD, SR-IOV, fibre channel, etc。

https://review.openstack.org/#/c/309762/2/specs/newton/approved/standardize-capabilities.rst

试图采用枚举的方式(nova.objects.fields.Enum-based)来同一capability的描述模型。

它首先定义了capabilities:

A capability is a *singular* piece of information describing some **functionality** or **feature** of an entity that can be provided to a custom。

比如:

* `hw:x86_cpu_instruction_set_ext:sse`

* `hw:x86_cpu_instruction_set_ext:mmx`

用来表述CPU的指令集

* `virt:libvirt:set_admin_pass`

* `virt:libvirt:huge_pages`

* `virt:libvirt:uefi_boot`

用来表述libvirt的capability.

libvirt cpu mode的更多相关文章

  1. 干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相

    下载地址:Libvirt Qemu KVM 教程大全 http://files.cnblogs.com/popsuper1982/LibvirtQemuKVM.pptx 1. 概论 1.1 虚拟化的基 ...

  2. libvirt/qemu特性之numa

    博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! Numa 查看主机node情况 使用virsh命令查看 virsh # c ...

  3. 安装nova

    在控制节点上执行 controllerHost='controller' controllerIP='172.31.240.49' MYSQL_PASSWD='m4r!adbOP' RABBIT_PA ...

  4. Guest CPU model configuration in libvirt with QEMU/KVM

    每个hypervisor对于guest能看到的cpu model定义都不同,Xen 提供host pass through,所以guest能看到的cpu和host完全相同. QEMU/KVM中gues ...

  5. KVM libvirt的CPU热添加

    一. NUMA1. NUMA 介绍    早期的时候,每台服务器都是单CPU,随着技术的发展,出现了多CPU共同工作的需求.    NUMA(Non-Uniform Memory Access,非一致 ...

  6. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  7. KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  8. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  9. KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

随机推荐

  1. django实现密码非加密的注册(数据对象插入)

    数据模型 from django.db import models class userinfo(models.Model): username = models.CharField(max_leng ...

  2. linux 文件和文件夹的ctime,mtime,atime的差别

    多了不再赘述,看以下解释 st_atime            Time when file data was last accessed. Changed by  the            f ...

  3. Map.Entry<K,V>分析

    一.好处 你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦? Set keys = map.keySet( ); if(keys != null) { Iterator iterator ...

  4. locust基本使用

    # coding:utf-8 from locust import HttpLocust,TaskSet,task class BlogDemo(TaskSet): '''用户行为:打开我的博客首页d ...

  5. centos7 Mysql5.6 升级Mysql5.7

    1 2. 卸载Mysql5.6 ,一共有三个包 要卸载: (1)先卸载mysql-server包 : 执行命令  yum remove mysql mysql-server (2)再卸载mysql-c ...

  6. 使用Kotlin开发Android应用(III):扩展函数和默认值

    通过前面两篇文章,我们学习了Kotlin的基本知识,并知道如何配置工程,本文将接着介绍Java没有的而Kotlin实现了的有趣的特性.记住当你对Kotlin语言有任何疑问时,请参考官方指南.该指南组织 ...

  7. activiti部署到linux后流程图不显示汉字的问题

    linux和windows的字体文件一般是不一样的,默认情况下,linux的java7中一般不支持中文,activiti的动态流程图中的汉字需要java调用汉字的字库,这里需要配置一下java的汉字字 ...

  8. 美图秀秀 web开发图片编辑器

    美图秀秀web开发平台 http://open.web.meitu.com/wiki/ 1.环境配置 1.1.设置crossdomain.xml 下载crossdomain.xml文件,把解压出来的c ...

  9. Java字段初始化规律:

    Java字段初始化规律: Java进行初始化的地方有两个,初始化块和构造函数,其中初始化块又分为静态初始化块和实例初始化块(以上程序为实例初始化块).静态初始化块是类中由static修饰的初始化块,实 ...

  10. 自定义Cell需要注意的问题

    使用xib创建cell时需要在设置单元格样式时使用[[NSBundel mainBundel] loadNibName:@“xib的文件名”owner:self option:nil][0]来初始化单 ...