怀德维宁

大邦维屏,大宗维翰。怀德维宁,宗子维城。

0%

【翻译】libvirt虚拟机xml配置文件格式(4)CPU Allocation

原文网址:https://libvirt.org/formatdomain.html#id8

<domain>
  ...
  <vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu>
  <vcpus>
    <vcpu id='0' enabled='yes' hotpluggable='no' order='1'/>
    <vcpu id='1' enabled='no' hotpluggable='yes'/>
  </vcpus>
  ...
</domain>

vcpu

该元素定义了分配给客户机操作系统的虚拟cpu的最大数量,该值范围为1到虚拟机管理器支持的最大数量之间。

cpuset

可选属性cpuset是以逗号分隔的物理CPU编号列表,默认情况下虚拟机进程和虚拟CPU可以固定到对应编号的物理CPU上。(注意:虚拟机进程和虚拟cpu的绑定(pinning)策略可以由cputune分别指定。如果cputune的属性项emulatorpin被设置,则vcpu指定的cpuset将会被忽略。对于vcpupin指定的虚拟cpu,cpuset制定的cpuset也会被忽略。vcpupin未指定的虚拟cpu,每一个都会被绑定到cpuset指定的物理cpu上)。列表中的每一个元素可以是一个单独的cpu编号、cpu编号范围或是插入符号后跟要从先前范围中排除的CPU编号。自0.4.4版本起支持。

current

可选属性current可用于指定是否应启用少于最大数量的虚拟CPU。从 0.8.5开始。

placement

可选属性placement可用来表明虚拟机进程的cpu布局模式。该值可为static或auto,但是如果指定了cpuset,则默认numatune的placement设置为static。使用auto表示虚拟机进程将通过查询numa固定到咨询节点集,如果指定了属性cpuset的值,则将被忽略。如果cpuset和placement都没有指定或placement设置为static,但是cpuset为指定,则虚拟机进程将会被绑定到所有的可用物理cpu上。自0.9.11起(仅限于QEMU和KVM)。

vcpus

vcpus元素项运行控制单个vCPU的状态。id属性项指定了libvirt在其他地方使用的vCPU id,例如vCPU绑定、调度程序信息和NUMA分配。请注意,在某些情况下,客户机中看到的vCPU ID可能与libvirt ID不同。有效ID 从0到vcpu元素设置的最大vCPU计数减 1。enabled属性项允许控制vCPU的状态。有效值为yes和no。hotpluggable控制在引导开机时启用CPU是否可以热插拔和热拔出给定的vCPU。请注意,所有禁用的vCPU必须是可热插拔的。有效值为yes和no。order允许指定在线vCPU的顺序。对于需要一次插入多个vCPU的虚拟机管理器/平台,该顺序可能会在需要一次启用的所有 vCPU上重复。顺序不强制指定。然后以任意顺序添加vCPU。如果使用了顺序信息,它必须用于所有在线vCPU。虚拟机管理器可能在单一操作期间清理或更新顺序信息。请注意,虚拟机管理器可能会创建不同于引导vCPU的热插拔vCPU,因此可能需要进行特殊初始化。虚拟机管理器可能要求启动时启用的不可热插拔的vCPU在开始时从ID 0开始聚集。可能还需要vCPU 0始终存在且不可热插拔。请注意,可能需要为单个CPU提供状态以支持可寻址的 vCPU热插拔,并且此功能可能不受所有虚拟机管理器的支持。QEMU要求实现以下条件。vCPU 0需启用并设置为不可热插拔。在PPC64上,同样需要启用同一内核中的vCPU。引导开机时存在的所有非热插拔CPU都需要在vCPU 0 之后进行分组。自2.2.0起(仅限于QEMU)。

本章节描述了用来代表作用域的xml文件格式,根据运行的作用于种类的格式变化,有一些可选配置项用来加载文件。对于特定虚拟机的细节可以查看
相关文件