您可以配置特定实例和映像元数据允许 SR-IOV 或 DirectPath I/O 直通,然后创建使用物理硬件接口的 OpenStack 实例。
此过程使用 OpenStack Nova 为非网络设备启用直通。对于网络设备,请参见为网络设备配置直通。
前提条件
在 vSphere 中启用 SR-IOV 或 DirectPath I/O:
为 SR-IOV 设备创建专用计算群集。DRS 规则不适用于这些设备。
要保留物理设备的 MAC 地址,在设备上启用直接直通之前先将其群集添加为计算节点。如果已启用直接直通,可以将其禁用,重新启动群集,然后再启用直接直通。
过程
- 以
viouser
用户身份登录到 OpenStack 管理服务器。
- 如果您的部署未使用 custom.yml 文件,请将模板 custom.yml 文件复制到 /opt/vmware/vio/custom 目录。
sudo mkdir -p /opt/vmware/vio/custom
sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
- 在文本编辑器中打开 /opt/vmware/vio/custom/custom.yml 文件。
- 取消对 nova_pci_alias 参数的注释并修改其值以与您的设备相匹配。
nova_pci_alias: [{"device_type": "type-VF", "name": "virtual-device-name"}, {"vendor_id":"vid", "product_id":"pid", "device_type": "type-PF", "name":"physical-device-name"}]
其中:
- 部署更新的配置。
sudo viocli deployment configure
部署此配置会短暂中断 OpenStack 服务。
- 以云管理员身份登录 VMware Integrated OpenStack 仪表板。
- 从标题栏中的下拉菜单选择管理项目。
- 创建启用直通的特定实例。
- 选择。
- 创建新的特定实例或者选择现有特定实例用于直通。
- 选择要使用的特定实例旁边的更新元数据。
- 在可用元数据窗格中,展开特定实例的 VMware 驱动程序选项,然后单击 PCI 直通别名旁边的添加(加号)图标。
- 将 pci_passthrough:alias 的值设置为
virtual-device-name:device-count
,然后单击保存。
选项 |
说明 |
virtual-device-name |
输入在此过程的步骤 4 中指定的虚拟设备名称。 |
device-count |
指定可在一个请求中调用的虚拟函数数。 此值的范围可以是从 1 到 10。 |
- 创建启用直通的映像。
- 选择。
- 创建新映像或者选择现有映像用于直通。
- 单击要使用的映像旁边的向下箭头,然后选择更新元数据。
- 在可用元数据窗格中,展开 VMware 驱动程序选项,然后单击虚拟网络接口旁边的添加(加号)图标。
- 从 hw_vif_model 参数旁边的下拉列表中选择您的设备,然后单击保存。
结果
现在,您可以部署启用直通的虚拟机,方法是使用此过程中修改的特定实例和映像对它们进行配置。