栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

libvirt笔记(三)获取信息方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

libvirt笔记(三)获取信息方法

可以使用getCapabilities方法调用来获取关于虚拟化主机功能的信息。如果成功 它将返回一个包含XML功能的Python字符串(如下所述)。如果发生错误 则返回None。下面的代码演示了getCapabilities方法的使用:

import sys
​import libvirt
​conn None
​try:
​ conn libvirt.open( qemu:///system )
​except libvirt.libvirtError as e:
​ print(repr(e), file sys.stderr)
​ exit(1)
​caps conn.getCapabilities() # caps will be a string of XML
​print( Capabilities:n caps)
​conn.close()
​exit(0)

功能XML格式提供有关主机虚拟化技术的信息。特别是 它描述了虚拟化主机、虚拟化驱动程序和虚拟化技术可以启动的客户机的功能。请注意 XML的功能可能(而且确实)根据所使用的libvirt驱动程序而变化。

 capabilities 
​ host 
​ cpu 
​ arch x86_64 /arch 
​ /cpu 
​ migration_features 
​ live/ 
​ uri_transports 
​ uri_transport tcp /uri_transport 
​ /uri_transports 
​ /migration_features 
​ topology 
​ cells num 1 
​ cell id 0 
​ cpus num 2 
​ cpu id 0 / 
​ cpu id 1 / 
​ /cpus 
​ /cell 
​ /cells 
​ /topology 
​ /host 
​ guest 
​ os_type hvm /os_type 
​ arch name i686 
​ wordsize 32 /wordsize 
​ emulator /usr/bin/qemu /emulator 
​ machine pc /machine 
​ machine isapc /machine 
​ domain type qemu 
​ /domain 
​ domain type kvm 
​ emulator /usr/bin/qemu-kvm /emulator 
​ /domain 
​ /arch 
​ features 
​ pae/ 
​ nonpae/ 
​ acpi default on toggle yes / 
​ apic default on toggle no / 
​ /features 
​ /guest 
​ guest 
​ os_type hvm /os_type 
​ arch name x86_64 
​ wordsize 64 /wordsize 
​ emulator /usr/bin/qemu-system-x86_64 /emulator 
​ machine pc /machine 
​ machine isapc /machine 
​ domain type qemu 
​ /domain 
​ domain type kvm 
​ emulator /usr/bin/qemu-kvm /emulator 
​ /domain 
​ /arch 
​ features 
​ acpi default on toggle yes / 
​ apic default on toggle no / 
​ /features 
​ /guest 
​ /capabilities 

在功能XML中 总是有/host子文档和零个或多个/guest子文档(虽然允许有零个guest子文档 但这意味着这个特定驱动程序的任何guest都不能在这个特定的主机上启动)。
/host子文档描述主机的能力。
“/host/uuid”为主机的uuid。如果SMBIOS UUID可用且有效 则派生自该UUID 或者可以在libvirtd.conf中使用自定义值重写该UUID。如果上述两个选项都没有正确设置 那么每次重新启动libvirtd时都会生成一个临时UUID。
/host/cpu子文档描述了主机cpu的能力。libvirt在决定是否可以在此特定机器上正确启动客户机时使用它 并且在动态迁移期间还会参考它 以确定目标机器是否提供了继续运行客户机所需的标志。
/host/cpu/arch是描述底层主机cpu架构所需的XML节点。在撰写本文时 所有libvirt驱动程序都通过uname(2)的输出来初始化它。
/host/cpu/features是一个可选的子文档 描述主机上的额外cpu特性。在撰写本文时 它仅被xen驱动程序用于报告支持向量机或vmx标志的存在或缺失 以及报告pae标志的存在或缺失。
/host/cpu/arch是描述底层主机cpu架构所需的XML节点。在撰写本文时 所有libvirt驱动程序都通过uname(2)的输出来初始化它。
/host/cpu/model是一个可选元素 用来描述与主机cpu最相似的cpu模型。libvirt当前知道的CPU模型列表在cpu_map.xml文件中。
/host/cpu/feature是0个或多个元素 这些元素描述的是/host/cpu/model中没有涵盖的主机cpu的额外cpu特性
/host/cpu/features是一个可选的子文档 描述主机上的额外cpu特性。在撰写本文时 它仅被xen驱动程序用于报告支持向量机或vmx标志的存在或缺失 以及报告pae标志的存在或缺失。
/host/migration_features是一个可选的子文档 描述这个驱动程序在这个主机上支持的迁移特性(如果有的话)。如果该子文档不存在 则不支持迁移。在撰写本文时 xen、qemu和esx驱动程序支持迁移。
如果驱动程序支持实时迁移 则存在/host/migration_features/live XML节点
/host/migration_features/ uri_transpors是一个可选的子文档 描述了替代的迁移连接机制。这些备用连接机制在多主机虚拟化系统上非常有用。例如 virsh migrate命令可能通过10.0.0.1连接到迁移的源 通过10.0.0.2连接到迁移的目标。然而 由于安全策略 迁移的源可能只允许通过192.168.0.0/24直接与迁移的目标通信。在这种情况下 使用备用迁移连接机制将允许迁移成功。在撰写本文时 xen驱动程序支持备用迁移机制“xenmigr” 而qemu驱动程序支持备用迁移机制“tcp”。请参阅关于迁移的文档了解更多信息。
/host/topology子文档描述主机的NUMA拓扑;每个NUMA节点由/host/topology/cells/cell表示 并描述该NUMA节点中有哪些cpu。如果主机是UMA(非numa)机器 则只有一个计算单元 所有cpu都在这个计算单元中。这是非常特定于硬件的 因此在不同的机器之间必然有所不同。
/host/secmodel是一个可选的子文档 描述在主机上使用的安全模型。/host/secmodel/model显示安全模型的名称 而/host/secmodel/doi显示解释域。有关安全性的更多信息 请参阅安全性部分。
每个/guest子文档描述了该主机驱动程序可以启动的一种客户机。这个描述包括guest(即i686)的体系结构以及提供给guest的ABI(即hvm、xen或uml)。
/guest/os_type是描述guest类型的必需元素。
arch是描述这种来宾类型的各种虚拟硬件方面的XML子文档的根。它有一个名为“name”的属性 可用于引用该子文档。
/guest/arch/wordsize是描述这个来宾类型每个单词使用多少位的必需元素。通常是32或64。
/guest/arch/emulator是一个可选元素 用于描述此来宾类型的模拟器的默认路径。请注意 对于需要备用二进制文件的来宾类型 可以使用/guest/arch/domain/emulator元素(将在下面描述)覆盖模拟器。
/guest/arch/loader是一个可选元素 用于描述此来宾类型的固件加载程序的默认路径。请注意 对于使用备用加载器的来宾类型 默认加载器路径可以被/guest/arch/domain/loader元素(如下所述)覆盖。目前 这只被xen驱动程序用于HVM来宾。
可以有零个或多个/guest/arch/machine元素描述此来宾模拟器可以模拟的默认机器类型。这些“机器”通常表示可以启动客户机的ABI或硬件接口。注意 对于提供备用机器类型的虚拟化技术 这些机器类型可以被/guest/arch/domain/machine元素覆盖(如下所述)。典型的值是“pc”和“isapc” 分别表示常规的基于PCI的pc和较旧的基于ISA的pc。
可以有零个或多个/guest/arch/域XML子树(尽管有零个/guest/arch/域XML子树 这个驱动程序就不能启动任何访客)。每个/guest/arch/域XML子树都有可选的仿真器、加载器和机器。元素覆盖上面指定的相应默认值。对于任何缺少的元素 都使用默认值。
/guest/features可选子文档描述了各种附加的guest特性 这些特性可以启用或禁用 以及它们的默认状态 以及它们是否可以开启或关闭。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267260.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号