Das NSX-Routing-Subsystem wird durch mehrere Komponenten aktiviert.

  • NSX Manager

  • Controller-Cluster

  • ESXi-Hostmodule (Kernel und UWA)

  • DLR-Kontroll-VMs

  • ESGs

NSX Manager

NSX Manager stellt folgende Funktionen für das NSX-Routing bereit:

  • Zentrale Verwaltungskomponente mit einem einheitlichen API-Zugriffspunkt für alle NSX-Verwaltungsvorgänge

  • Installation des Kernelmoduls für das verteilte Routing und die Benutzerwelt-Agenten (UWAs, User World Agents) auf den Hosts zu deren Vorbereitung für die NSX-Funktionen

  • Erstellen/Löschen von DLRs und DLR-LIFs

  • Bereitstellen/Löschen der DLR-Kontroll-VM sowie des ESG über vCenter

  • Konfiguration des Controller-Clusters über eine REST API und der Hosts über einen Nachrichtenbus:

    • Ausstattung des Steuerungskomponenten-Agenten für den Host mit den IP-Adressen von Controllern

    • Generierung der Zertifikate zum Schutz der Kommunikation der Steuerungskomponente und deren Verteilung an Hosts und Controller

  • Konfiguration von ESGs und DLR-Kontroll-VMs über den Nachrichtenbus

    • Beachten Sie, dass ESGs auf nicht vorbereiteten Hosts bereitgestellt werden können; in diesem Fall wird VIX anstelle des Nachrichtenbus verwendet

Controller-Cluster

Das verteilte NSX-Routing erfordert Controller, die nach Skalierung und Verfügbarkeit gruppiert sind und die folgenden Funktionen bereitstellen:

  • Unterstützung von VXLAN und einer Steuerungskomponente für das verteilte Routing

  • CLI-Schnittstelle für Statistiken und Laufzeitstatus

  • Auswahl eines Master-Controller-Knotens für jede DLR-Instanz

    • Master-Controller erhalten Routing-Informationen von der DLR-Kontroll-VM und verteilen diese an die Hosts

    • Senden der LIF-Tabelle an die Hosts

    • Permanente Erfassung des Hosts, auf dem sich die DLR-Kontroll-VM befindet

    • Auswahl der designierten Instanz für VLAN-LIFs und Übergabe dieser Informationen an die Hosts, Überwachung des DI-Hosts über „Keep-alives“ der Steuerungskomponente (der Zeitüberschreitungswert beträgt 30 Sekunden, die Nachweiszeit zwischen 20-40 Sekunden), Senden eines Updates an Hosts, wenn der ausgewählte DI-Host nicht mehr vorhanden ist

ESXi-Hostmodule

Das NSX-Routing nutzt direkt zwei Benutzerwelt-Agenten (UWAs, User World Agents) sowie ein Routing-Kernelmodul und benötigt das VXLAN-Kernelmodul für die VXLAN-Konnektivität.

Im Folgenden finden Sie eine Zusammenfassung der Funktion der einzelnen Komponenten:

  • Der Steuerungskomponenten-Agent (netcpa) ist ein TCP-Client (SSL), der mit dem Controller mithilfe des Steuerungskomponentenprotokolls kommuniziert. Damit lässt sich eine Verbindung mit mehreren Controllern herstellen. netcpa kommuniziert mit dem Nachrichtenbus-Client (vsfwd), um vom NSX Manager Informationen zur Steuerungskomponente abzurufen.

  • netcpa-Packaging und -Bereitstellung:

    • Der Agent ist Bestandteil des VXLAN-VIB (vSphere-Installationspaket)

    • Wird vom NSX Manager im Rahmen der Hostvorbereitung über EAM (ESX Agency Manager) installiert

    • Wird als Dienst-Daemon auf ESXi-netcpa ausgeführt

    • Kann über sein Startskript /etc/init.d/netcpad gestartet/angehalten/abgefragt werden

    • Kann remote über „Networking and Security“ > „UI-Installation“ -> „Hostvorbereitung“ -> „Installationsstatus“ auf einzelnen Hosts oder in einem kompletten Cluster neu gestartet werden

  • Das DLR-Kernelmodul (vdrb) ist in DVS zur Aktivierung der L3-Weiterleitung integriert

    • Mit netcpa konfiguriert

    • Als Bestandteil der VXLAN-VIB-Bereitstellung installiert

    • Wird mit dem DVS über einen speziellen Trunk namens „vdrPort“ verbunden, der sowohl VLANs als auch VXLANs unterstützt

    • Verfügt über Informationen zu DLR-Instanzen (pro Instanz):

      • LIF und Routentabellen

      • Lokaler ARP-Cache auf Host

  • Der Nachrichtenbus-Client (vsfwd) wird von netcpa, ESGs und DLR-Kontroll-VMs zur Kommunikation mit dem NSX Manager verwendet

    • vsfwd ruft die IP-Adresse des NSX Manager, die von vCenter über vpxa/hosd festgelegt wurde, von /UserVars/RmqIpAddress ab und meldet sich beim Nachrichtenbusserver mithilfe der Host-spezifischen Anmeldedaten, die in anderen /UserVars/Rmq*-Variablen gespeichert sind, an

  • Der auf einem ESXi-Host ausgeführte netcpa-Agent benötigt vsfwd für folgende Aufgaben:

    • Abrufen des privaten SSL-Schlüssels der Steuerungskomponente für den Host und des Zertifikats vom NSX Manager. Diese sind in /etc/vmware/ssl/rui-for-netcpa gespeichert*

    • Abrufen der IP-Adressen und SSL-Fingerabdrücke von Controllern vom NSX Manager. Diese sind in /etc/vmware/netcpa/config-by-vsm.xml gespeichert

    • Erstellen und Löschen von DLR-Instanzen auf seinem Host nach Anweisungen vom NSX Manager

  • Packaging und Bereitstellung

    • Wie bei netcpa, Teil des VXLAN-VIB

    • Wird als Dienst-Daemon auf ESXi-vsfwd ausgeführt

    • Kann über sein Startskript /etc/init.d/ vShield-Stateful-Firewall gestartet/angehalten/abgefragt werden

  • ESGs und DLR-Kontroll-VMs verwenden den VMCI-Kanal für vsfwd zum Empfang der Konfiguration vom NSX Manager

DLR-Kontroll-VMs und ESGs

  • Die DLR-Kontroll-VM ist ein „Routenverarbeitungsmodul“ für seine DLR-Instanz

    • Verfügt über einen „Platzhalter“ oder über „echte“ vNIC-Schnittstellen für jede DLR-LIF zusammen mit der IP-Konfiguration

    • Kann eines von zwei verfügbaren dynamischen Routing-Protokollen (BGP oder OSPF) ausführen und/oder statische Routen verwenden

    • Erfordert mindestens eine „Uplink“-LIF, um OSPF oder BGP ausführen zu können

    • Berechnet die Weiterleitungstabelle von direkt verbundenen (LIF-) Subnetzen, statischen sowie dynamischen Routen und sendet diese über seinen VMCI-Link an netcpa zum Master-Controller der DLR-Instanz

    • Unterstützt die HA in der Aktiv/Standby-VM-Paarkonfiguration

  • Das ESG ist ein eigenständiger Router in einer VM

    • Vollständig unabhängig vom NSX-DLR-Routing-Subsystem (keine Integration der NSX-Steuerungskomponente)

    • Wird in der Regel als Upstream-Gateway für einen oder mehrere DLRs verwendet

    • Unterstützt mehrere gleichzeitig ausgeführte dynamische Routing-Protokolle