可以将端口配置为允许 SR-IOV 直通,然后创建使用物理网络适配器的 OpenStack 实例。
前提条件
- 在 vSphere 中启用 SR-IOV。请参见《vSphere 网络连接》中的在主机物理适配器上启用 SR-IOV。
- 为 SR-IOV 设备创建专用计算群集。DRS 规则不适用于这些设备。
- 要保留物理设备的 MAC 地址,请将其群集添加为计算节点,然后在设备上启用直通。如果已启用直通,可以将其禁用,重新启动群集,然后重新启用直接直通。
- 启用 VMware Integrated OpenStack 运营商版本 功能。请参见启用 Carrier Edition 功能。
过程
- 以
root
用户身份登录到 Integrated OpenStack Manager。
- 编辑 Nova 计算配置。
viocli update nova-compute
- 在 nova_compute 部分中添加以下信息。
pci:
passthrough_whitelist:
type: multistring
values:
- '{"product_id": "*", "vendor_id": "*", "physical_network": "*"}'
- 如果使用 NSX-T Data Center 部署,请在 vmware 部分中添加 dvs_moid 参数。
将
dvs_moid 的值设置为分布式交换机(与 SR-IOV 设备的计算群集关联)的受管对象标识符 (MOID)。
- 打开工具箱并设置
admin
帐户的密码。
toolbox
export OS_PASSWORD=admin-password
- 为 SR-IOV 设备创建提供商网络。
- 对于 NSX Data Center for vSphere 部署,请创建 VLAN 或端口组网络。
- 对于 NSX-T Data Center 部署,请创建 VLAN 或含糊网络。
neutron net-create network-name --tenant-id project-uuid --provider:network_type {vlan | portgroup | nsx-net} --provider:physical_network physical-id [--provider:segmentation_id vlan-id]
选项 |
说明 |
network-name |
为网络输入一个名称。 |
--tenant-id |
指定要为其创建端口的项目的 UUID。您可以通过运行 openstack project list 命令查找项目的 UUID。 |
--provider:network_type |
为 VLAN 网络输入 vlan,为端口组网络输入 portgroup,或为含糊网络输入 nsx-net。 |
--provider:physical_network |
- 对于 NSX Data Center for vSphere 中的 VLAN 网络,请指定分布式交换机的 MOID。
- 对于 NSX-T Data Center 中的 VLAN 网络,请指定 VLAN 传输区域的 UUID。
- 对于端口组网络,请指定端口组的 MOID。
- 对于含糊网络,请指定逻辑交换机的 UUID。
|
--provider:segmentation_id |
如果要创建基于 VLAN 的网络,请输入 VLAN ID。 |
- 在网络上创建子网。
neutron subnet-create network-id --tenant-id project-uuid --name subnet-name
选项 |
说明 |
network-id |
指定要在其上创建子网的网络的 UUID。您可以通过运行 openstack network list 命令查找网络的 UUID。 |
--tenant-id |
指定要为其创建子网的项目的 UUID。 |
--name |
输入子网的名称。 |
- 使用 --vnic_type direct 参数创建启用直通的端口。
neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type direct
选项 |
说明 |
network-id |
指定要在其上创建端口的网络的 UUID。您可以通过运行 openstack network list 命令查找网络的 UUID。 |
--tenant-id |
指定要为其创建端口的项目的 UUID。 |
--name |
输入端口的名称。 |
注: 启用直通的端口不支持端口安全,将为创建的端口自动禁用端口安全。
结果
可以使用在此过程中创建的端口配置实例,以允许这些实例使用 SR-IOV 设备。