SmartNICs sind Netzwerkkarten mit integrierter Intelligenz, die durch einen eigenen Prozessor eine Vielzahl von Netzwerkfunktionen direkt auf dem Adapter ausführen können. In diesem Artikel zeigen wir, wie Sie mithilfe dieser Technologie am ESXi-Hypervisor die Latenz, die Sicherheit und die Visibilität verbessern. Außerdem gehen wir darauf ein, wie sich damit der x86-Prozessor des Hosts entlasten lässt.
Mit vSphere 8 und NSX 4.0.1 hat VMware die Unterstützung von SmartNICs eingeführt. Diese werden auch als DPU (Data Processing Unit) bezeichnet. Die DPU-Implementierung deklariert der Hersteller von vSphere 8 als Distributed Service Engine (DSE). Die DPU-basierte Beschleunigung für NSX ist wiederum aus dem Projekt "Monterey" entstanden.
NSX ist das VMware-Angebot für Software-defined Networking (SDN) und deckt sehr viele IT-Bereiche ab: Sicherheit, Netzwerkvirtualisierung, Automatisierung, Container mit Kubernetes-Orchestrierung und Multicloud. NSX verlagert Netzwerk und Sicherheit näher an die Anwendungen, unabhängig davon, ob die Workloads im eigenen Rechenzentrum, in der Cloud oder bei einem Service Provider laufen.
Dienste lassen sich auf eine DPU auslagern, um Rechenressourcen auf dem Host freizusetzen. Dies ermöglicht VMware-Nutzern die Ausführung von NSX-Services wie Routing, Switching, Firewalling und Monitoring direkt auf der DPU – was gerade für Unternehmen interessant ist, die hohe Ansprüche haben bezüglich des Durchsatzes, geringer Latenzzeiten und erhöhter Sicherheitsstandards. DPUs bieten außerdem eine verbesserte Sichtbarkeit, um Netzwerkkommunikationen darzustellen. Dies hilft bei der Fehlersuche, bei der Mitigation von Hackerangriffen sowie bei der Umsetzung von Compliance-Anforderungen.
Mit vSphere 8 und NSX 4.0.1 hat VMware die Unterstützung von SmartNICs eingeführt. Diese werden auch als DPU (Data Processing Unit) bezeichnet. Die DPU-Implementierung deklariert der Hersteller von vSphere 8 als Distributed Service Engine (DSE). Die DPU-basierte Beschleunigung für NSX ist wiederum aus dem Projekt "Monterey" entstanden.
NSX ist das VMware-Angebot für Software-defined Networking (SDN) und deckt sehr viele IT-Bereiche ab: Sicherheit, Netzwerkvirtualisierung, Automatisierung, Container mit Kubernetes-Orchestrierung und Multicloud. NSX verlagert Netzwerk und Sicherheit näher an die Anwendungen, unabhängig davon, ob die Workloads im eigenen Rechenzentrum, in der Cloud oder bei einem Service Provider laufen.
Dienste lassen sich auf eine DPU auslagern, um Rechenressourcen auf dem Host freizusetzen. Dies ermöglicht VMware-Nutzern die Ausführung von NSX-Services wie Routing, Switching, Firewalling und Monitoring direkt auf der DPU – was gerade für Unternehmen interessant ist, die hohe Ansprüche haben bezüglich des Durchsatzes, geringer Latenzzeiten und erhöhter Sicherheitsstandards. DPUs bieten außerdem eine verbesserte Sichtbarkeit, um Netzwerkkommunikationen darzustellen. Dies hilft bei der Fehlersuche, bei der Mitigation von Hackerangriffen sowie bei der Umsetzung von Compliance-Anforderungen.
SmartNICs entlasten Server und reduzieren Latenz
SmartNICs sind intelligente, physische Netzwerkadapter, die über eigene Prozessoren und Speicher verfügen. Die CPUs sind für die Verarbeitung von Netzwerkaufgaben optimiert. Meist sind ARM-Prozessoren verbaut, da sie in der Regel genügsamer bei der Leistungsaufnahme und den Kosten sind als x86-Prozessoren. Einige Hersteller bieten Flexibilität bei der CPU-Wahl, um unterschiedliche Anwendungsfälle abdecken zu können.
Einer der wichtigsten Vorteile von SmartNICs: Durch die Verarbeitung von Daten direkt auf dem Adapter – anstatt sie zu einem Server zu senden – reduzieren sich die Latenzzeiten und die Leistung des Netzwerks steigt. Ein weiterer Pluspunkt ist die erhöhte Sicherheit. Durch die Ausführung von Sicherheitsfunktionen wie Verschlüsselung und Firewall direkt auf dem Adapter sind Angriffe auf das Netzwerk effektiver abzuwehren.
DPUs finden für verschiedene Use Cases Verwendung, darunter Rechenzentren, Cloud Computing, 5G-Kommunikation und das Internet der Dinge (IoT): Im Rechenzentrum tragen SmartNICs zur Verarbeitung großer Datenmengen und zur Erhöhung der Netzwerkleistung bei. Beim Cloud Computing reduzieren sie Latenzzeiten und erhöhen die Sicherheit. Im 5G-Bereich adressieren sie die steigende Nachfrage nach höherer Geschwindigkeit und niedrigerer Latenz. Und im IoT erlauben sie, die Verarbeitung von Daten direkt an den Geräten durchzuführen, anstatt sie an einen Server zu senden.
DPU-Architektur am ESXi-Hypervisor
VMware setzt bei seiner Distributed Service Engine mit vSphere 8 und NSX auf den ARM-Prozessor. Es existiert ein lokaler Flash-Speicher auf der Karte, um über ein Boot-Image die ESXi-Software auszurollen. Dabei wird eine abgespeckte ESXi-Version auf der DPU installiert, die auf I/O-Anforderungen wie zum Beispiel Packet Offloading, externes Management et cetera optimiert ist.
Für die Netzwerkkonnektivität gibt es zwei Ethernet-Ports mit SFP-Modulen und einen RJ-45-Kupferport für die Administration. Das Konfigurationsmanagement läuft unabhängig vom x86-Server und wurde für den Betrieb wesentlich vereinfacht. Der "Programmable Accelerator" bildet die Funktion der Paketverarbeitung in Hardware ab und garantiert, dass der Datenverkehr auf die DPU ausgelagert und beschleunigt wird. Der "High Speed Interconnect" wiederum ist das Verbindungsglied zwischen dem Programable Accelerator und der CPU, konzeptioniert auf geringe Latzenzzeiten und hohe Bandbreite. Die CPU ist das Herzstück der SmartNICs.
Virtualized Device Functions (VDFs) ermöglichen es, Netzwerk- und Speichergeräte virtuell bereitzustellen. VDFs nutzen die Technologie von Single Root I/O Virtualization (SR-IOV), um die virtuellen Maschinen direkt an die physischen Geräte anzubinden und somit die Latenz und die Durchsatzrate zu verbessern. Sie sind in der Lage, die Vorteile der Virtualisierung mit denen der Hardwarebeschleunigung zu kombinieren.
Vorteile im Zusammenspiel mit NSX
Wie erwähnt führt die DPU-Architektur die Infrastrukturdienste auf der SmartNIC aus und sorgt so für die notwendige Trennung zwischen den Anwendungs-Workloads, die auf der x86-Computing-Plattform laufen, und den Infrastrukturdiensten. Dies ist für Firmen mit hohen Compliance- und Sicherheitsanforderungen von enormem Vorteil – Behörden wie das BSI verlangen für bestimmte Umgebungen die Trennung von Produktiv- und Managementverkehr. Die DPU-Technologie hat im Zusammenspiel mit NSX aber noch weitere Pluspunkte.
DPUs sind speziell für Netzwerkdienste konzeptioniert. Overlay-Technologien wie zum Beispiel VXLAN oder GENEVE, Loadbalancing oder Network Address Translation (NAT) profitieren von der besseren Performance im Vergleich zu traditionellen generischen CPUs. SmartNICs nutzen das Datenpfadmodell VMDirectPath. Dies hat den Vorteil, den Datenverkehr direkt von der Netzwerkkarte zur virtuellen Maschine durchreichen zu können, ganz ohne virtuellen Switch.
Mehr Sicherheit und Sichtbarkeit
Sicherheit ist eines der wichtigsten Merkmale von NSX. Mit der NSX Distributed Firewall (DFW) nach dem Prinzip der Mikrosegmentation kommt eine Firewall-Engine am ESXi-Hypervisor zum Einsatz, um dedizierte Regeln direkt an die virtuellen Maschinen oder Container weiterzureichen. Die NSX-DFW agiert in Software und ist völlig unabhängig von IP-Adressbereichen. Im Prinzip bekommt jeder einzelne Workload seine dedizierte Firewall und dies aus einer zentralen Management Plane (NSX-Manager) heraus. Die DFW agiert auf Layer 7, ist stateful und benötigt für die ESXi-Hosts keinen Agenten.
NSX Distributed Intrusion Detection Prevention System (D-IDPS) verwendet Technologien wie signaturbasierte Erkennung, Verhaltensanalyse und maschinelles Lernen, um Bedrohungen auszumachen. D-IDPS arbeitet nach dem gleichen Ansatz wie die Distributed Firewall, sprich die Signaturen werden direkt vor die dedizierten Workloads implementiert, ebenfalls unabhängig von IP-Bereichen.
Mithilfe von SmartNICs lassen sich die Sicherheitsfunktionen von NSX-DFW und NSX-D-IDPS komplett auf die DPU auslagern. Das Ausführen von Diensten zur Netzwerksicherheit auf einer DPU bietet eine verbesserte Leistung sowie granulare Sicherheit und Überwachung des Netzwerkverkehrs. Dies ist gerade für die IDPS-Funktion sehr interessant, da über Signaturen die Payload eines Pakets verifiziert und hierbei die CPU belastet wird.
DPU-basiertes NSX kann alle Datenflüsse direkt auf der Netzwerkkarte überwachen. Das bedeutet, dass Sie eine vollständige Netzwerktransparenz und -beobachtung abbilden können, einschließlich erweiterter Ansichten der Netzwerktopologie, Erfassung und Analyse auf Fluss- und Paketebene sowie IPFIX-Unterstützung. Es ist hierfür keine komplexe Portspiegelung notwendig, etwa sogenannte Netzwerk-TAPs oder -SPANs.
Da die auf DPUs ausgeführten Netzwerkdienste von den ESXi-Komponenten und -Anwendungen isoliert sind, erleichtert eine DPU-basierte Architektur zudem die Abgrenzung der betrieblichen Zuständigkeiten zwischen DevOps-Teams und Administratoren, die sich auf die Arbeitslasten auf Host-Ebene konzentrieren und diese verwalten können, und NetSecOps-Teams, die die Netzwerkinfrastruktur und -dienste auf der SmartNIC verwalten.
Weniger Kosten und Energie
Das Auslagern von Netzwerk- und Sicherheitsdiensten auf die DPU macht Host-Ressourcen für die Workloads frei. Infolgedessen lassen sich mehr Workloads auf weniger Servern zur Verfügung stellen – und das, ohne dabei die Überwachung, Verwaltbarkeit und Sicherheitsfunktionen, die vSphere und NSX bieten, zu beeinträchtigen.
Außerdem profitieren Sie von betrieblichen Einsparungen, da Sie das Management über verschiedene Workload-Typen wie Kubernetes, Container und virtuelle Maschinen konsolidieren und sich die Implementierung der Mikrosegmentierung, IDPS-Funktionen und Netzwerkbeobachtung ohne aufwendige Portspiegelungen einfacher gestaltet.
SmartNICs reduzieren die Rechenaufgaben der Hauptprozessoren, wodurch sich der Energieverbrauch und die damit verbundene CO2-Emission verringern lässt. Da DPUs die Leistung und Effizienz auf weniger Server verteilt, verringert sich zudem die Anzahl der benötigen Hardwarekomponenten. Dies reduziert die Abfallmengen und schont die Umwelt.
Datenpfadmodelle: SR-IOV oder EDP
Schon vor SmartNICs hat VMware die Datenpfadmodelle SR-IOV und EDP (Enhanced Data Path) eingeführt (Bild 2), um Techniken für Workloads mit sehr hohen Performanceanforderungen bereitzustellen. SR-IOV umgeht den virtuellen Switch komplett. Der Verkehr wird direkt von der physischen Netzwerkkarte zur virtuellen Maschine durchgereicht. Die "Physical Funktion" (PF) und die "Virtual Function" (VF) bilden die Kommunikation von der Physik zur VM ab. Da sich kein virtueller Switch im Datenpfad befindet, wird die CPU nicht belastet und es entsteht keine zusätzliche Latenz.
Die Anzahl der Virtual Functions ist abhängig von der Netzwerkkarte. SR-IOV muss vom PF-Treiber, dem ESXi-Host, dem VF-Treiber und dem Betriebssystem der virtuellen Maschine unterstützt werden. Als Treiber für die virtuellen Maschine sind Sie bei SR-IOV auf herstellerspezifische PMD-Treiber (Poll Mode Driver) angewiesen, um direkt auf den Netzwerkadapter zuzugreifen. Der Nachteil von SR-IOV ist, dass sich durch die Hardwareabhängigkeit die HA-Werkzeuge von vSphere wie vMotion oder DRS nicht nutzen lassen.
Ein zweites Datenpfadmodell für eine Verbesserung der Performance ist Enhanced Data Path (EDP). Bei EDP handelt es sich um ein NSX-spezifisches Feature. Es werden dabei von den Cores am Hypervisor dedizierte CPU-Ressourcen für das "Process Forwarding" der Datenpakete reserviert. Kommt ein Paket am ESXi-Server an, wandert eine Kopie in den "Fast Path" und der "Flow Cache" wird gecheckt.
Wenn hier die Forwarding-Informationen und bei einer aktiven Firewall die sogenannten Five-Tuples (Quell-IP-Adresse, Ziel-IP-Adresse, Quellport, Zielport, Protokoll) erfolgreich verifiziert sind, läuft das Paket an die virtuelle Maschine weiter. Der Flow Cache befindet sich an einen dedizierten Speicherplatz und wird konstant angepollt.
Falls keine Kontrollschichtfunktionen im Flow Cache vorhanden sind, wird im sogenannten "Slow Path" die Netzwerk- und Sicherheitskonfiguration verifiziert, um das Datenpaket an das jeweilige Ziel zu schicken. Der Slow Path sendet anschließend ein Update an den Fast Path, damit in Zukunft die Pakete direkt im Flow Cache zur Verarbeitung kommen.
Im Slow Path erfolgt eine prozessorseitige Belastung des Hypervisors. An der virtuellen Maschine kommt der VMXNET3-PMD-Treiber zum Einsatz. Der klare Vorteil dieser Methode: Mit EDP stehen die vSphere-Hochverfügbarkeitsmodelle wie vMotion oder DRS auch weiterhin zur Verfügung.
Beim normalen Datenpfadmodel eines vSphere Distributed Switch (VDS) gibt es nur einen Slow Path. Trifft ein Paket an der Netzwerkkarte des ESXi-Servers ein, kommt es durch eine kurze Unterbrechung zu einem Kontextwechsel an der CPU. Nachdem das Routing und die Firewallregeln im Slow Path verifiziert wurden, läuft das Paket weiter.
An der VM erfolgt der gleiche Prozess, sprich es wird ebenfalls die CPU belastet und ein Kontextwechsel herbeigeführt. Dies verursacht vor allem im Telekommunikationsbereich Probleme, da es dort viele Datenpakete mit kleiner Größe (64 Bytes) gibt.
SmartNICs vereinen Architekturvorteile
SmartNICs vereinen die Vorteile von SR-IOV und EDP und bilden diese architektonisch ab (Bild 3). Die DPU beinhaltet für eine schnelle Paketweiterleitung die Hardware-Accelerator-Komponente und reserviert dedizierte CPU-Ressourcen zur Paketverarbeitung im Fast Path.
Somit setzt die DPU die Paketverarbeitung, die sonst in Software implementiert ist, in Hardware-Pipelines um und die Verarbeitung von NSX-Softwarepaketen wandert vom Server auf die SmartNIC. Das wiederum schont den CPU-Verbrauch des Servers und gibt Cache- und Speicherressourcen frei, die mit den VM- und Container-Workloads geteilt werden.
VMs können Passthrough Virtual Functions verwenden und die NSX-Funktionen nutzen. Die Hardware-Paketverarbeitungs-pipeline sowie die eingebetteten Prozessoren implementieren die NSX-Datenpfadfunktionalitäten für diesen Datenverkehr.
Die SmartNIC-Architektur kombiniert die Vorteile von Pass-through und dem aktuellen NSX Enhanced Data Path mit den VMXNET3-Treibern. Ein spezielles VMDirectPath-VF-Modul setzt die neue UPT-Architektur am ESXi-Hypervisor um. Auf VMDirectPath (UPTv2) basierende Virtual Functions stellen dann die virtualisierten Instanzen des physischen Netzwerkadapters dar.
SmartNICs haben den Vorteil, dass virtuelle Maschinen im Passthrough-Modus arbeiten können, während Funktionalitäten wie vSphere vMotion erhalten bleiben. Außerdem gibt es für die Gasttreiber der VMs keine Abhängigkeiten zur Hardware wie bei SR-IOV.
So installieren Sie DPUs
Mit vSphere 8.0 lässt sich ESXi auf DPUs (ESXi on ARM) installieren. In vSphere-Umgebungen mit DPUs gibt es wie erwähnt zwei ESXi-Instanzen, eine auf der Haupt-x86-CPU und eine auf der ARM-Architektur der DPU. Installation, Upgrade und Verwaltung von ESXi erfolgen auf den DPUs und x86-Hosts gleichzeitig.
Der ESXi-Hypervisor, der auf dem DPU-Gerät läuft, ist ein voll funktionsfähiger Hypervisor, der sich jedoch nur auf ARM-CPU-Architekturen ausführen lässt.
Das ESXi-Image auf der DPU wird aber nicht dafür genutzt, um VMs und Workloads bereitzustellen. Beim Hypervisor auf den DPU-Geräten handelt es sich vielmehr um eine abgespeckte Version des ESXi-Hypervisors. Er ist für E/A-Aktivitäten wie Paket-Offloads, externe Verwaltung et cetera optimiert. Der Prozess zur Installation von ESXi auf einem Host mit einer unterstützten DPU sieht wie folgt aus:
1. Suchen Sie nach den verfügbaren Geräten und machen Sie die DPU in der Liste mit dem entsprechenden PCI-Steckplatz ausfindig.
2. Wenn Ihr System über unterstützte DPUs verfügt, wählen Sie die DPU aus, auf der Sie ESXi installieren möchten.
3. Der Bildschirm "DPU-Details" zeigt alle Eigenschaften des DPU-Geräts an.
4. Fahren Sie mit der Auswahl eines Speichers, des gewünschten Tastaturlayouts und dem Festlegen eines Root-Passworts fort.
5. Bestätigen Sie die Installation sowohl auf dem Host als auch auf der DPU und schließen Sie die Installation ab.
Unterstützte Funktionen
Aktuell unterstützen die Netzwerkkartenhersteller NVIDIA und Pensando die DPU-Funktion von VMware mit vSphere 8 und NSX. Die DPU-Karten werden als Gesamtsystem von den Serverherstellern Dell und HPE geliefert. Lenovo will zeitnah ebenfalls Server mit DPUs bereitstellen. Die NSX-Version 4 erlaubt unter anderem folgende DPU-Funktionen:- Overlay- und VLAN-basierte Segmente- Verteiltes IPv4- und Ipv6-Routing- NIC-Gruppierung über die SmartNIC-/DPU-Ports hinweg- Verteilte Firewall- Verteilte IDS/IPS (Tech Preview)- Traceflow- IPFIX- Paketerfassung- Port-Mirroring- Statistik- NVIDIA Bluefield-2 (nur 25-GBit-NIC-Modelle)- AMD/Pensando (25-GBit- und 100-GBit-Netzwerkkartenmodelle)- Uniform Passthrough (UPT V2)- SmartNIC-Unterstützung für Edge-VM
Anschließend ist die DPU im vCenter unter dem "Summary"-Tab sichtbar. Weitere Indikationen zur DPU sehen Sie unter den ESXi-Hardwareinformationen, dem physischen Adapter und der Firmware.
Als nächsten Schritt legen Sie einen dedizierten Distributed Switch im vCenter an. Hierbei wählen Sie beim Konfigurieren der VDS-Einstellungen unter "Network Offloads compatility" die jeweilige SmartNIC aus. Beachten Sie, dass mit der DPU-Einstellung "offload" die Funktionen "Network I/O Control", "Traffic shaping policies" und "Network Resource Pools" nicht unterstützt werden.
Nachdem Sie das ESXi-Image ausgerollt und den VDS angelegt haben, implementieren Sie wie gewohnt über den NSX-Manager ein Transport-Node-Profil und wählen den vorher angelegten VDS-Switch aus. An der Administration und im Nutzerverhalten im NSX-Manager ändert sich nichts. Standardmäßig laufen die virtuellen Maschinen im Emulated-Mode – um den Vorteil eines Passthrough-Verkehrs zu nutzen. müssen Sie an der VM einen Haken für die UPT-Unterstützung setzen.
Fazit
Im Zusammenspiel mit NSX 4 und vSphere 8 verbessern SmartNICs das Tempo am Hypervisor und berücksichtigen dabei die aktuellen Netzwerk- und Sicherheitsanforderungen von modernen Applikationen. In der zukünftigen Architekturplanung ist die Anschaffungen von neuer dedizierter Hardware in Form von zusätzlichen DPU-Netzwerkkarte mit eigenem Prozessor zu berücksichtigen. Aufwiegen lassen sich diese Investitionen durch Ersparnisse bei den Energiekosten und eine Minimierung der Serveranzahl.