Sie können einen Port konfigurieren, um SR-IOV-Passthrough zuzulassen, und anschließend OpenStack-Instanzen erstellen, die physische Netzwerkadapter verwenden.

Wichtig: Diese Funktion wird nur in der VMware Integrated OpenStack Carrier Edition angeboten. Weitere Informationen finden Sie unter VMware Integrated OpenStack-Lizenzierung.

Voraussetzungen

  • Aktivieren Sie SR-IOV in vSphere. Weitere Informationen finden Sie unter Aktivieren von SR-IOV auf einem physischen Hostadapter in vSphere-Netzwerk.
  • Erstellen Sie einen dedizierten Computing-Cluster für SR-IOV-Geräte. DRS-Regeln gelten nicht für diese Geräte.
  • Zum Beibehalten der MAC-Adresse eines physischen Geräts fügen Sie den zugehörigen Cluster vor dem Aktivieren von Passthrough auf dem Gerät als Computing-Knoten hinzu. Wenn Passthrough bereits aktiviert wurde, können Sie es deaktivieren, den Cluster neu starten und direktes Passthrough erneut aktivieren.
  • Aktivieren Sie die Funktionen von VMware Integrated OpenStack Carrier Edition. Weitere Informationen finden Sie unter Aktivieren von Carrier Edition-Funktionen.

Prozedur

  1. Melden Sie sich beim Integrated OpenStack Manager als root-Benutzer an.
    ssh root@mgmt-server-ip
  2. Bearbeiten Sie die Nova Compute-Konfiguration.
    viocli update nova-compute
  3. Fügen Sie die folgenden Angaben im Abschnitt nova_compute hinzu.
    pci:
      passthrough_whitelist:
        type: multistring
        values:
        - '{"product_id": "*", "vendor_id": "*", "physical_network": "*"}'
    
  4. Wenn Sie eine NSX-T Data Center-Bereitstellung verwenden, fügen Sie den Parameter dvs_moid im Abschnitt vmware hinzu.
    dvs_moid: sriov-vds-moid
    Legen Sie den Wert von dvs_moid auf den MOID (Managed Object Identifier) des Distributed Switch fest, der dem Computing-Cluster für SR-IOV-Geräte zugeordnet ist.
  5. Öffnen Sie die Toolbox und legen Sie das Kennwort für das admin-Konto fest.
    toolbox
    export OS_PASSWORD=admin-password
  6. Erstellen Sie ein Provider-Netzwerk für SR-IOV-Geräte.
    • Erstellen Sie für NSX Data Center for vSphere-Bereitstellungen ein VLAN- oder Portgruppennetzwerk.
    • Erstellen Sie für NSX-T Data Center-Bereitstellungen ein VLAN- oder Opaque-Netzwerk.
    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]
    Option Beschreibung
    network-name

    Geben Sie einen Namen für das Netzwerk ein.

    --tenant-id

    Geben Sie die UUID des Projekts an, für das der Port erstellt werden soll. Sie können mithilfe des Befehls openstack project list nach der UUID eines Projekts suchen.

    --provider:network_type

    Geben Sie vlan für ein VLAN-Netzwerk, portgroup für ein Portgruppennetzwerk oder nsx-net für ein Opaque-Netzwerk ein.

    --provider:physical_network
    • Geben Sie für ein VLAN-Netzwerk in NSX Data Center for vSphere den MOID des Distributed Switch an.
    • Geben Sie für ein VLAN-Netzwerk in NSX-T Data Center die UUID der VLAN-Transportzone an.
    • Geben Sie für ein Portgruppennetzwerk den MOID der Portgruppe an.
    • Geben Sie für ein Opaque-Netzwerk die UUID des logischen Switches an.
    --provider:segmentation_id

    Geben Sie die VLAN-ID ein, wenn Sie ein VLAN-basiertes Netzwerk erstellen möchten.

  7. Erstellen Sie ein Subnetz im Netzwerk.
    neutron subnet-create network-id --tenant-id project-uuid --name subnet-name
    Option Beschreibung
    network-id

    Geben Sie die UUID des Netzwerks an, in dem das Subnetz erstellt werden soll. Sie können nach der UUID eines Netzwerks suchen, indem Sie den Befehl openstack network list ausführen.

    --tenant-id

    Geben Sie die UUID des Projekts an, für das das Subnetz erstellt werden soll.

    --name

    Geben Sie einen Namen für das Subnetz ein.

  8. Erstellen Sie mithilfe des --vnic_type direct-Parameters einen Port mit aktiviertem Passthrough.
    neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type direct
    Option Beschreibung
    network-id

    Geben Sie die UUID des Netzwerks an, in dem der Port erstellt werden soll. Sie können nach der UUID eines Netzwerks suchen, indem Sie den Befehl openstack network list ausführen.

    --tenant-id

    Geben Sie die UUID des Projekts an, für das der Port erstellt werden soll.

    --name

    Geben Sie einen Namen für den Port ein.

    Hinweis: Portsicherheit wird für Ports mit aktiviertem Passthrough nicht unterstützt und für den erstellten Port automatisch deaktiviert.

Ergebnisse

Sie können Instanzen mit dem in diesem Verfahren erstellten Port konfigurieren, um ihnen die Verwendung von SR-IOV-Geräten zu ermöglichen.