Tags: vSphere, Load Balancing, Netzwerk
Möchte man vMotion mit Lastausgleich über mehrere VMKnic betreiben, dann muss jede physische Netzwerkkarte im gesamten vMotion-Netzwerk auf allen Hosts eines Clusters auf die gleiche Weise konfiguriert sein. Zu den relevanten Parametern zählen hier Verbindungsgeschwindigkeit, MTU oder Duplex-Modus.
vCenter Server ist in Bezug auf korrekt konfiguriertes vMotion sehr konservativ und reduziert die Anzahl gleichzeitiger vMotion-Vorgänge auf nicht konsistent konfigurierten Hosts automatisch auf 2, unabhängig von der verfügbaren Bandbreite.
Natürlich müssen auch sämtliche vMotion-VMknics im selben Subnetz sein, denn vMotion unterstützt keine ge-routeten Topologien, auch wenn es theoretisch möglich wäre, statische Routen festzulegen.
NIC-Zahl
Eine Erhöhung der NIC-Zahl für vMotion führt nicht automatisch zu mehr gleichzeitig möglichen vMotion-Vorgängen, auch wenn die Verwendung mehrerer Netzwerkkarten die verfügbare Bandbreite für VM-Migration erhöht.
Grundsätzlich sind immer nur vier gleichzeitige vMotion-Vorgänge bei Verwendung eines 1-GBit-Adapters und maximal acht bei 10-Gbit-Uplinks möglich. Die Erhöhung der Bandbreite verringert jedoch die Dauer jeder einzelnen vMotion. Eine korrekte Multi-NIC-vMotion-Konfiguration sähe demnach so aus:
Verbindungsgeschwindigkeit
Die maximal vier bzw. acht gleichzeitigen vMotion-Vorgänge auf einem Host mit einem Netzwerk von 1 GBit/s bzw. 10 GBit/s hängen von der erkannten Verbindungsgeschwindigkeit ab. Die Betonung liegt auf "erkannt".
Als Beispiel sei HPEs Flex-Technologie angeführt. Diese setzt ein hartes Limit für die Flexibilität, was dazu führt, dass die gemeldete Verbindungsgeschwindigkeit der konfigurierten Bandbreite der virtuellen Flex-Verbindung entspricht oder sogar darunter liegt.
In diesem Fall bietet HPE Flex zwar mehr Bandbreite pro VMotion-Prozess, erhöht jedoch nicht die Anzahl gleichzeitiger VMotion-Operationen.
Die vMotion-Grenzwerte für mehrere NICs werden immer von der langsamsten verfügbaren NIC bestimmt. Nimmt der Nutzer also eine 1Gb/s-Netzwerkkarte in seine 10-Gb/s-VMotion-Konfiguration auf, ist dieser Host auf maximal vier gleichzeitige VMotion-Vorgänge beschränkt.
Failover-Anordnung
Die vernünftigste Failover-Order bei Multiple-NIC-vMotion ist Active/Standby. Dabei drängt sich allerdings die Frage auf, warum nicht einfach Active/Unused nehmen? Schließlich ist das für iSCSI-Storage-Multipathing auf Basis des Software-iSCSI-Adapters und mehreren VMKnics für die so erzwungene dedizierte Portbindung so erforderlich.
Denkt man etwas genauer darüber nach, könnte man meinen, dass die Standby-Option keinen Vorteil bringt, weil der Lastausgleich ja gar nicht auf Basis der physischen Adapter abgewickelt wird und jeder VMKernel-Adapter ohnehin nur auf einer NIC arbeitet. Der Grund, trotzdem Active/Failover zu wählen, liegt in der Wahl des so genannten Default-Interfaces. Dazu müssen wir etwas ausholen.
Default-Interface
Für den Lastausgleich von VMotion ist ein eigener Algorithmus zuständig. Da sich vMotion auf die VMknic-Schicht statt auf die physische Schicht konzentriert, kümmert sich die vMotion-Lastausgleichslogik aber nicht um den Verbindungsstatus oder den Zustand der physischen Netzwerkkarte.
Der Algorithmus wählt einfach nur geeignete VMknics für die Verteilung von Netzwerkpaketen und geht dabei davon aus, dass die VMknics grundsätzlich Konnektivität haben. Allerdings deklariert der vMotion-Algorithmus, auch wenn er mehrere VMknics zum Lastausgleich des Datenverkehrs verwendet, immer genau einen davon als so genannte Standardschnittstelle und bevorzugt diese für die "Verwaltung" der Verbindung.
Daher ist es bei VMKernel-Adaptern mit mehreren physische Netzwerkkarten sinnvoll, den Ausfall einer physischen Netzwerkkarte durch ein Standby-Interface zu kompensieren, weil das Default-Interface dann weiter verfügbar bleibt und keine Verbindungsprobleme auftreten, wenn es eine physische Netzwerkkarte verliert.
Jumbo-Frames
VMware empfiehlt in seinen im Rahmen der optimalen Vorgehensweisen für vMotion-Netzwerke außerdem das Aktivieren einer MTU von 9000 (Jumbo Frames) für alle Netzwerkgeräte im vMotion-Pfad.
Das schließt nicht nur die physischen Netzwerkkarten ein, sondern auch physische und virtuelle Switches.
Eine Multi-NIC-vMotion-Konfiguration ist insgesamt etwas komplexer als vMotion-Netzwerke mit einzelnen NICs. Allerdings profitiert man insgesamt von ihr in vielerlei Hinsicht. Durch die Beschleunigung von vMotion kann DRS mehr Lastausgleichsvorgänge pro Aufruf planen, und durch die größere Bandbreite kann der Host den Übergang zum Wartungsmodus schneller abschließen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- Performance von VMware vMotion erhöhen durch Multi-NIC-Setup
- Network Load Balancing (NLB) für Windows konfigurieren
- vSphere mit Tanzu auf Basis von vSphere-Networking (Distributed vSwitch) einrichten
- VMware vSphere: Hyperkonvergente Cluster einrichten, VMs hochverfügbar machen, Last verteilen mit DRS
- vMotion-Tuning: Network I/O-Control und eigener TCP/IP-Stack
Weitere Links