5.4. 配置 NovaPCIPassthrough的指南
-
在配置 PCI 透传时不要使用
devname参数,因为 NIC 的设备名称可能会改变。使用vendor_id和product_id,因为它们更为稳定,或使用NIC 的地址。 -
要通过特定的物理功能(PF),您可以使用
address参数,因为 PCI 地址对每个设备都是唯一的。或者,您可以使用product_id参数通过 PF,但如果您有相同类型的多个 PF,还必须指定 PF的地址。 -
要传递所有虚拟功能(VF),仅指定您要用于 PCI 透传的 VF 的
product_id和vendor_id。如果您要将 SRIOV 用于 NIC 分区并且您在 VF 上运行 OVS,则还必须指定 VF 的地址。 -
要只为 PF 而不是 PF 本身传递 VF,您可以使用
address参数指定 PF 和product_id的 PCI 地址,以指定 VF 的产品 ID。
配置 address 参数
address 参数指定设备的 PCI 地址。您可以使用 String 或 字典映射来设置 。
address 参数的值
- 字符串格式
如果您使用字符串指定地址,您可以包含通配符 prompt,如下例所示:
NovaPCIPassthrough: - address: "*:0a:00.*" physical_network: physnet1- 字典格式
如果使用字典格式指定地址,您可以包含正则表达式语法,如下例所示:
NovaPCIPassthrough: - address: domain: ".*" bus: "02" slot: "01" function: "[0-2]" physical_network: net1
注意
Compute 服务将 地址 字段的配置限制为以下最大值:
- 域 - 0xFFFF
- bus - 0xFF
- 插槽 - 0x1F
- function - 0x7
Compute 服务支持具有 16 位地址域的 PCI 设备。Compute 服务忽略具有 32 位地址域的 PCI 设备。