您可以設定連接埠以允許 SR-IOV 或 DirectPath I/O 傳遞,然後建立使用實體硬體介面的 OpenStack 執行個體。

重要:

此功能僅在 VMware Integrated OpenStack 電訊廠商版本 中提供。如需詳細資訊,請參閱〈VMware Integrated OpenStack 授權〉

此程序會使用 OpenStack Neutron 對網路裝置啟用傳遞。對於非網路裝置,請參閱對非網路裝置設定傳遞

先決條件

  • vSphere 中啟用 SR-IOV 或 DirectPath I/O:

  • 建立 SR-IOV 裝置專用的運算叢集。DRS 規則不適用於這些裝置。

  • 若要保存實體裝置的 MAC 位址,請將其叢集新增為運算節點,然後在裝置上啟用直接傳遞。如果已啟用直接傳遞,您可以將其停用、重新啟動叢集,然後再次啟用直接傳遞。

程序

  1. viouser 身分登入 OpenStack 管理伺服器
  2. 如果您使用 NSX-T Data Center 部署,請針對已啟用 SR-IOV 的每個運算叢集指定分散式交換器。
    1. 如果您的部署未使用 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
    2. 在文字編輯器中開啟 /opt/vmware/vio/custom/custom.yml 檔案。
    3. 取消 nova_dvs_moid 參數的註解。
    4. 指定您部署中的每個運算驅動程式的 DNS 名稱,以及與其相關聯的 VDS 的受管理物件識別碼 (MOID)。

      例如:

      nova_dvs_moid:
         compute01: dvs-35
         compute02: dvs-36

      請注意,每個運算驅動程式名稱的前面有三個空格。

    5. 部署已更新的組態。
      sudo viocli deployment configure

      部署組態會暫時中斷 OpenStack 服務。

  3. 切換至 root 使用者,然後載入雲端管理員認證檔案。
    sudo su -
    source ~/cloudadmin.rc
  4. 為 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 識別碼。

  5. 建立已啟用傳遞的連接埠。
    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。

    --name

    輸入連接埠名稱。

    --vnic_type

    輸入 direct 用於 SR-IOV,或輸入 direct-physical 用於直接傳遞。

    備註:

    directdirect-physical 連接埠不支援連接埠安全性,將針對已建立的連接埠自動停用連接埠安全性。

結果

現在可透過為已啟用傳遞的虛擬機器設定此程序期間所建立的連接埠來部署這些虛擬機器。