20.16.6. 主机物理机器设备分配
本节介绍主机物理机器设备分配的信息。
20.16.6.1. USB/ PCI 设备
主机物理机器的 USB 和 PCI 设备可以通过
hostdev
元素传递给客户机虚拟机,方法是使用域 xml 文件的以下管理工具修改主机物理机器:
图 20.28. 设备 - 主机物理机器设备分配
... <devices> <hostdev mode='subsystem' type='usb'> <source startupPolicy='optional'> <vendor id='0x1234'/> <product id='0xbeef'/> </source> <boot order='2'/> </hostdev> </devices> ...
或者,也可以执行以下操作:
图 20.29. 设备 - 主机物理机器设备分配替代设备
... <devices> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address bus='0x06' slot='0x02' function='0x0'/> </source> <boot order='1'/> <rom bar='on' file='/etc/fake/boot.bin'/> </hostdev> </devices> ...
域 XML 中本节的组件如下:
参数 | 描述 |
---|---|
hostdev | 这是描述主机物理机器设备的主要容器。对于 USB 设备透传 模式 总是 子系统 ,对于 USB 设备,类型为 usb ,对于 PCI 设备,则为 pci 。当对 PCI 设备 托管 是 yes 时,它会在主机物理机器中分离开来,然后再传递至客户端虚拟机,并在虚拟机退出后重新附加到主机物理机器。如果省略或 没有 PCI 设备,则用户负责在热拔或停止客户端虚拟机后使用 virNodeDeviceDettach (或 virsh nodedev-dettach)的参数 virNodeDeviceReAttach (或 virsh nodedev-reattach)。
|
source | 描述主机物理机器中看到的设备。可以通过供应商/产品 ID 使用供应商和 产品元素或主机 物理机器上的设备地址或主机物理机器上的设备地址来解决 USB 设备。 另一方面,PCI 设备仅可通过其地址进行描述。请注意,USB 设备的源元素可能包含 start Policy 属性,可用于在未找到指定主机物理机器 USB 设备时定义规则。该属性接受以下值:
|
vendor, 产品 | 这些元素都有一个 id 属性,用于指定 USB 供应商和产品 ID。ID 可使用十进制、十六进制(以 0x 开始)或八进制(以 0 开始)形式。 |
boot | 指定设备可引导。属性的顺序决定了在启动序列期间将尝试设备的顺序。在 BIOS 引导装载程序部分中无法与常规引导元素一起使用每个设备引导元素。 |
rom | 用于改变如何将 PCI 设备的 ROM 呈现给客户端虚拟机。可选 条 属性可以设置为 on 或 off ,并确定该设备的 ROM 是否在客户机虚拟机的内存映射中可见。(在 PCI 文档中,rombar 设置控制 ROM Base Address Register 的存在。如果没有指定 rom bar,则将使用默认设置。可选的 file 属性用于指向作为设备 ROM BIOS 向虚拟客户机呈现的二进制文件。例如,这对支持 sr-iov 功能的虚拟功能(VF 没有引导 ROM)的虚拟功能提供 PXE 引导 ROM 非常有用。 |
address | 另外,也有一个 总线 和设备属性,用于指定 设备 出现在主机物理机器上的 USB 总线和设备号码。这些属性的值可以用十进制、十六进制(以 0x 开始)或八进制(以 0 开始)形式给出。对于 PCI 设备,元素执行 3 属性,允许将设备指定为 lspci 或 virsh nodedev-list |