您可以配置端口允许 SR-IOV 或 DirectPath I/O 直通,然后创建使用物理硬件接口的 OpenStack 实例。
此过程使用 OpenStack Neutron 为网络设备启用直通。对于非网络设备,请参见为非网络设备配置直通。
前提条件
确认 OpenStack 部署使用的是 VDS 或 NSX Data Center for vSphere 网络。使用 NSX-T Data Center 的部署不支持直通。
在 vSphere 中启用 SR-IOV 或 DirectPath I/O:
为 SR-IOV 设备创建专用计算群集。DRS 规则不适用于这些设备。
要保留物理设备的 MAC 地址,在设备上启用直接直通之前先将其群集添加为计算节点。如果已启用直接直通,可以将其禁用,重新启动群集,然后再启用直接直通。
过程
- 以
viouser 用户身份登录到 OpenStack 管理服务器。
- 切换到
root 用户并加载云管理员凭据文件。
sudo su -
source ~/cloudadmin.rc
- 登录到 OpenStack 管理服务器。
- 为 SR-IOV 设备创建提供商网络。
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 或 portgroup。 |
--provider:physical_network |
|
--provider:segmentation_id |
如果要创建基于 VLAN 的网络,请输入 VLAN ID。 |
- 创建启用直通的端口。
neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type {direct | direct-physical}
选项 |
说明 |
network-id |
指定要在其上创建端口的网络的 UUID。您可以通过运行 openstack network list 命令查找网络的 UUID。 |
--tenant-id |
指定要为其创建端口的项目的 UUID。您可以通过运行 openstack project list 命令查找项目的 UUID。 |
--name |
输入端口的名称。 |
--vnic_type |
为 SR-IOV 输入 direct,或者为直接直通输入 direct-physical。 |
注:
direct 和 direct-physical 端口不支持端口安全,将为创建的端口自动禁用该功能。
结果
现在,您可以部署启用直通的虚拟机,方法是使用在此过程中创建的端口对它们进行配置。