8.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 或 dict
映射来设置 address
参数的值。
- 字符串格式
如果使用字符串指定地址,您可以包含通配符 push,如下例所示:
NovaPCIPassthrough: - address: "*:0a:00.*" physical_network: physnet1
- 字典格式
如果使用字典格式指定地址,您可以包含正则表达式语法,如下例所示:
NovaPCIPassthrough: - address: domain: ".*" bus: "02" slot: "01" function: "[0-2]" physical_network: net1
注意
Compute 服务将 address
字段配置限制为以下最大值:
- 域 - 0xFFFF
- 总线 - 0xFF
- slot - 0x1F
- function - 0x7
计算服务支持具有 16 位地址域的 PCI 设备。计算服务会忽略 32 位地址域的 PCI 设备。