Sie können einen Port konfigurieren, um SR-IOV- oder DirectPath I/O-Passthrough zuzulassen, und anschließend OpenStack-Instanzen erstellen, die physische Hardwareschnittstellen verwenden.

Wichtig:

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

Dieses Verfahren verwendet OpenStack Neutron, um Passthrough für Netzwerkgeräte zu aktivieren. Weitere Informationen für Geräte ohne Netzwerk finden Sie unter Konfigurieren von Passthrough für Geräte ohne Netzwerk.

Voraussetzungen

  • Aktivieren Sie SR-IOV oder DirectPath I/O in vSphere:

  • 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 direktem Passthrough auf dem Gerät als Computing-Knoten hinzu. Wenn direktes Passthrough bereits aktiviert wurde, können Sie es deaktivieren, den Cluster neu starten und direktes Passthrough erneut aktivieren.

Prozedur

  1. Melden Sie sich beim OpenStack Management Server als viouser an.
  2. Wenn Sie eine NSX-T Data Center-Bereitstellung verwenden, geben Sie einen Distributed Switch für jeden Computing-Cluster an, auf dem SR-IOV aktiviert ist.
    1. Wenn die Datei custom.yml in Ihrer Bereitstellung nicht verwendet wird, kopieren Sie die Vorlagendatei custom.yml in das Verzeichnis /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. Öffnen Sie die Datei /opt/vmware/vio/custom/custom.yml in einem Texteditor.
    3. Heben Sie die Auskommentierung des Parameters nova_dvs_moid auf.
    4. Geben Sie den DNS-Namen jedes Computing-Treibers in Ihrer Bereitstellung sowie den MOID (Managed Object Identifier) des damit verknüpften VDS an.

      Beispiel:

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

      Beachten Sie, dass vor den Namen der einzelnen Computing-Treiber jeweils drei Leerzeichen vorhanden sind.

    5. Stellen Sie die aktualisierte Konfiguration bereit.
      sudo viocli deployment configure

      Die Bereitstellung der Konfiguration führt zu einer kurzen Unterbrechung der OpenStack-Dienste.

  3. Wechseln Sie zum root-Benutzer und laden Sie die Datei mit den Anmeldedaten des Cloud-Administrators.
    sudo su -
    source ~/cloudadmin.rc
  4. 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 (Managed Object Identifier) 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.

  5. Erstellen Sie einen Passthrough-fähigen Port.
    neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type {direct | direct-physical}

    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.

    --vnic_type

    Geben Sie direct für SR-IOV oder direct-physical für direktes Passthrough ein.

    Hinweis:

    Portsicherheit wird für direct- und direct-physical-Ports nicht unterstützt und für den erstellten Port automatisch deaktiviert.

Ergebnisse

Sie können Passthrough-fähige virtuelle Maschinen nun bereitstellen, indem Sie sie mit dem in diesem Verfahren erstellten Port konfigurieren.