怀德维宁

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

0%

【翻译】libvirt虚拟机xml配置文件格式(3)SMBIOS System Information

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

一些虚拟机管理器运行控制呈现给客户机的系统信息(例如虚拟机管理器可以填充SMBIOS并通过客户机的dmidecode指令进行检查)。可选元素项sysinfo包含了所有此类信息。自0.8.7版本起。

...
<os>
  <smbios mode='sysinfo'/>
  ...
</os>
<sysinfo type='smbios'>
  <bios>
    <entry name='vendor'>LENOVO</entry>
  </bios>
  <system>
    <entry name='manufacturer'>Fedora</entry>
    <entry name='product'>Virt-Manager</entry>
    <entry name='version'>0.9.4</entry>
  </system>
  <baseBoard>
    <entry name='manufacturer'>LENOVO</entry>
    <entry name='product'>20BE0061MC</entry>
    <entry name='version'>0B98401 Pro</entry>
    <entry name='serial'>W1KS427111E</entry>
  </baseBoard>
  <chassis>
    <entry name='manufacturer'>Dell Inc.</entry>
    <entry name='version'>2.12</entry>
    <entry name='serial'>65X0XF2</entry>
    <entry name='asset'>40000101</entry>
    <entry name='sku'>Type3Sku1</entry>
  </chassis>
  <oemStrings>
    <entry>myappname:some arbitrary data</entry>
    <entry>otherappname:more arbitrary data</entry>
  </oemStrings>
</sysinfo>
<sysinfo type='fwcfg'>
  <entry name='opt/com.example/name'>example value</entry>
  <entry name='opt/com.coreos/config' file='/tmp/provision.ign'/>
</sysinfo>
...

sysinfo元素包含一个强制属性项type决定了子元素的布局,支持值如下:

smbios

子元素调用特定的SMBIOS值,如果被用在os元素(参照Operating system booting)的smbios子元素间的连接上,将会影响客户机。sysinfo 的每个子元素命名一个SMBIOS块,并且在这些元素中可以是描述块内字段的条目元素列表。识别以下块和条目:

bios

这是SMBIOS的块0,条目名称来自:

  • vender:BIOS供应商名称
  • version:BIOS版本
  • date:BIOS发行日期。如果提供了该元素项,则会改为mm/dd/yy或mm/dd/yyyy的格式。如果字符串的年部分只有两个数字,则将会假定为19yy年。

system

这是SMBIOS的块1,条目名称来自:

  • manufacturer:BIOS制造商
  • product:产品名称
  • version:产品版本
  • serial:序列号
  • uuid:统一唯一标识符。如果该条目与顶层的uuid的一起设定,则两个元素值必须相同
  • sku:识别特定配置的sku编号
  • family:识别特定计算机所属的家族系列

baseBoard

这是SMBIOS的块2.该元素项可以重复多次用以描述所有的基板(base board);然而,并不是所有的虚拟机管理器都支持该元素项重复。该元素项有下列的子元素项:

  • manufacturer:BIOS的制造商
  • product:产品名称
  • version:产品版本号
  • serial:序列号
  • asset:资产标签
  • location:机箱内的位置

注意:bios、system和baseBoard块的错误条目会被忽略,而不会报错。除了uuid验证和日期格式检查之外,所有值都作为字符串传递给虚拟机管理器驱动程序。

chassis

自4.1.0起支持。SMBIOS的块3,条目名称来自:

  • manufacturer:机箱的制造商
  • version:机箱的版本号
  • serial:序列号
  • asset:资产标签
  • sku:sku编号

oemStrings

SMBIOS的块11.该元素项只出现一次,却有多个entry子元素项,每一个都提供随机字符串数据。对于entry提供的数据并没有任何限制,如果数据打算由客户机中的应用程序使用,建议使用应用程序名称作为字符串中的前缀。(自4.1.0起支持)

fwcfg

一些虚拟机管理器提供统一的方法来调整固件如何配置自身,或者可能包含要为客户机操作系统安装的表,例如引导顺序、ACPI、SMBIOS等。

如果允许用户自定义自己的配置blob(config blob)。在QEMU的例子中,然后这些出现在domain的sysfs下(如果客户机内核启用FW_CFG_SYSFS配置项),即/sys/firmware/qemu_fw_cfg路径下。注意,这些值适用于下的模式。自6.5.0起支持。

注意:由于数据槽数量有限,强烈建议不要使用fwcfg,而应使用

<sysinfo type='fwcfg'>
  <entry name='opt/com.example/name'>example value</entry>
  <entry name='opt/com.example/config' file='/tmp/provision.ign'/>
</sysinfo>

sysinfo元素项拥有多个entry子元素。每一个元素都有强制的name属性,它定义了blob的名称,并且必须以opt/开头,并且为了避免与其他名称冲突,建议采用opt/$RFQDN/$name形式,其中$RFQDN是控制的反向完全限定域名。之后,元素项也可以包含相应数值(直接设置blob值),或者file属性项(从file中设置blob值)。

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