原文网址: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路径下。注意,这些值适用于
注意:由于数据槽数量有限,强烈建议不要使用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文件格式,根据运行的作用于种类的格式变化,有一些可选配置项用来加载文件。对于特定虚拟机的细节可以查看
相关文件。