VMware bietet zahlreiche Funktionen, um höchstmögliche Ausfallsicherheit und Verfügbarkeit der Serverlandschaft zu gewährleisten. Dabei wird jedoch meistens nur die reine Serverhardware und damit die Komponenten CPU, RAM und Speicherplatz berücksichtigt. Oft vergisst der Administrator jedoch, dass ein Ausfall des Netzwerks auch zur Nichterreichbarkeit der virtuellen Server führt. Ein Switch sollte kein Single Point of Failure darstellen (Abbildung 1). Ein ausgeklügeltes Netzwerkkonzept für den Betrieb einer ESX-Farm ist also Pflicht. Eine Möglichkeit ist die redundante Netzwerkanbindung über zwei Switches. Dabei sollte man auch die Anbindung an das zentrale Storage nicht vergessen, sei es über iSCSI oder Fibre Channel.
Die physischen Netzwerkadapter des ESX-Servers, die mit den jeweiligen Switches im Netzwerk verbunden sind, verbindet VMware innerhalb des ESX-Servers mit virtuellen Switches (vSwitch). Dabei gibt es verschiedene Verbindungstypen, die auf einem vSwitch laufen können (Abbildung 2):
1. Service-Console-Port: Die Servicekonsole ist die Verwaltungsschnittstelle, die die Administration über den vSphere-Client (beziehungsweise VI-Client bei ESX3.x) ermöglicht.
2. VMKernel-Port: Über einen VMKernel-Port greift der ESX-Server zum Beispiel auf ein IP-Storage (iSCSI, NFS) zu. Auch die Kommunikation unter mehreren ESX-Servern wie zum Beispiel VMotion läuft über diesen Anschluss.
3. Netzwerk für virtuelle Maschinen: Dieser Typ verbindet die virtuellen Maschinen mit dem physischen Netzwerk. Es wird auch für die interne Kommunikation von mehreren virtuellen Servern auf dem selben ESX-Host verwendet, ohne das physikalische Netzwerk zu nutzen.
Für die virtuellen Maschinen erstellt der Administrator so genannte Portgroups auf einem virtuellen Switch. In der Regel legt er die Portgroups analog zu den vorhandenen VLANs an, die eine Segmentierung des physikalischen Netzwerks ermöglichen. So erhalten die virtuellen Server Zugriff auf die verfügbaren Netzwerke.
Wie er im Einzelnen das Netzwerkdesign für die eigene ESX-Farm umsetzt, hängt stark von den Gegebenheiten des jeweiligen LAN sowie der für die ESX-Server eingesetzte Hardware und den damit verfügbaren physischen Netzwerkadaptern ab. Um die Performance und die Sicherheit nicht zu gefährden, sollte man unbedingt jeweils eigene virtuelle Switches für die Servicekonsole, das Netzwerk virtueller Maschinen und die eventuell IP-basierte Storage-Anbindung verwenden.
Oft fehlen jedoch die physischen Netzwerkadapter, um für jeden Verbindungstyp eine redundante Anbindung zu realisieren – dafür wären ja mindestens sechs Ports notwendig. In diesem Fall sollte sich der Admin genau überlegen, bei welchem Verbindungstyp er eventuell auf Redundanz verzichten kann beziehungsweise wo er das Risiko eingehen kann, zwei Verbindungstypen hingegen der Empfehlungen von VMware auf einem vSwitch parallel zu betreiben.
In der Regel entscheidet man sich, zumindest auf einem virtuellen Switch zwei physische Netzwerkadapter zusammenzufassen. VMware nennt dies NIC Teaming. Bei der IEEE ist der geläufige Begriff Link Aggregation, definiert in der IEEE 802.1ax (früher 802.3ad). Neben VMware nutzen auch die meisten anderen Hersteller eigene Marketingbegriffe, um Link Aggregation zu beschreiben. Üblich sind zum Beispiel die Bezeichnungen Etherchannel, Trunking, Bündelung, Teaming oder Port Aggregation.
Link Aggregation bezeichnet die parallele Bündelung von mehreren Netzwerkadaptern zu einem logischen Kanal. Diese Technik bietet zwei wesentliche Vorteile gegenüber der klassischen Verkabelung mit einem Netzwerkkabel: höhere Verfügbarkeit und höhere Übertragungsgeschwindigkeiten. Solange zumindest ein physischer Link vorhanden ist, bleibt die Verbindung bestehen, nur die zur Verfügung stehende Bandbreite verringert sich.
Grundsätzlich gibt es zwei unterschiedliche Verfahren. Die Static Link Aggregation und die Dynamic Link Aggregation. Beim statischen Verfahren muss man sich bei der Einrichtung für einen Algorithmus entscheiden. In der Regel wird anhand der Quell- und/oder Ziel-IP oder anhand der Quell- und/oder Ziel-MAC der zu nutzende Port gewählt. Für ein dynamisches Zusammenschalten von Netzwerkadapter gibt es unter anderem das IEEE-konforme LACP sowie mehrere darauf basierende proprietäre Lösungen, wie zum Beispiel PAgP von Cisco oder MESH von HP. Die Unterschiede zwischen den einzelnen Protokollen sind aber marginal. VMware ESX 4 unterstützt ausschließlich die Static Link Aggregation mit dem IP-Quelle-Ziel-Algorithmus [1].
Es ist nicht möglich, eine Bündelung der Ports über mehrere Switches hinweg vorzunehmen. Damit bleiben in der Regel nur zwei Wege, um eine möglichst hohe Ausfallsicherheit zu erhalten: Man verwendet entweder modulare oder Stack-Switches (Abbildung 3). Modulare Switches arbeiten genauso wie ein Blade-Center. Sie bestehen aus einem Chassis, das in der Regel mit redundanten Netzteilen versorgt wird und mehrere Slots für Netzwerkports bietet. Die Alternative ist ein Switch-Stack. Hier werden Switches verwendet, die jeweils eigenständige Gehäuse und Netzteile haben und über spezielle Stack-Kabel verbunden werden und zusammen als ein Gerät verwaltbar sind. Die einzelnen Switches im Stack haben in der Regel keine redundanten Netzteile, trotzdem kann man durch die Stackbildung eine Redundanz schaffen und hat ebenso wie bei den Chassis-Geräten eine flexible Lösung.
Um einen ESX-Server nun mit zwei Leitungen ins Netz zu bekommen, muss der Administrator den ESX-Server und den Switch richtig konfigurieren. Um zwei Ports auf einem Cisco-Switch bündeln möchte, reicht die Konfiguration in Listing 1.
Listing 1
Cisco-Konfiguration
interface GigabitEthernet1/1 channel-group 1 mode on switchport trunk encapsulation dot1q switchport mode trunk no ip address ! interface GigabitEthernet2/1 channel-group 1 mode on switchport trunk encapsulation dot1q switchport mode trunk no ip address ! interface Port-Channel 1 switchport trunk encapsulation dot1q switchport mode trunk no ip address
Cisco unterstützt mehrere Channel-Group-Modi. Der hier verwendete Modus »on
«
aktiviert lediglich den Etherchannel und somit eine statische Link Aggregation. Weitere Modi sind »active
«
(LACP im aktiven Modus), »passive
«
(LACP im passiven Modus) sowie »auto
«
(PAgP im passiven Modus) und »desirable
«
(PAgP im aktiven Modus).
Bei LACP und PAgP spricht man vom aktiven Modus, wenn das Interface damit beginnt Pakete zu senden, um die geeignete Gegenstelle zu finden, die sich im aktiven oder passiven Modus befindet und auf die Pakete antwortet, um die Link Aggregation aufzubauen. Im passiven Modus wartet das Interface nur auf Pakete der Gegenstelle, daher ist es nicht möglich auf beiden Seiten den passiven Modus zu verwenden. Idealerweise sollte man also auf einer Seite den aktiven und auf der anderen Seite den passiven Modus verwenden, um die Übertragung unnötiger Pakete zu vermeiden. Die Nutzung des aktiven Modus auf beiden Seiten wird aber auch unterstützt.
Da ESX wie erwähnt nur die statische Link Aggregation mit dem Src-Dst-IP-Algorithmus unterstützt, muss der Administrator dem Switch mitteilen, dass er nur diesen nutzen soll. Mit dem Kommando »show etherchannel balance
«
kann er nachsehen, welcher Algorithmus derzeit in Verwendung ist (Listing 2).
Listing 2
Cisco-Konfiguration
Switch#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-mac EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source MAC address IPv4: Source MAC address IPv6: Source MAC address
Standardmäßig entscheidet die MAC-Adresse des Absenders über den genutzten physischen Port. Alle Frames einer Quell-MAC gehen also immer über dasselbe Interface. Das folgende Kommando weist den Switch an, den von ESX unterstützen Algorithmus zu verwenden:
Switch#port-channel load-balance src-dst-ip
Auf seitens des ESX-Servers legt der Administrator einen virtuellen Switch an, der zwei aktive mit dem Switch verbundene Netzwerkadapter beinhaltet. Bei den Eigenschaften des vSwitch ist darauf zu achten, dass ESX in diesem Fall nur den Lastausgleich anhand des IP-Hashs routen kann, daher muss man die Einstellung ändern (Abbildung 4).
Bei diesem Lastausgleichs-Modus bestimmt ESX für jedes Paket mit einem Hash-Wert, welcher Uplink-Adapter verwendet werden soll. Zur Berechnung verwendet es die Quell-und Ziel-IP-Adresse. Alle anderen Modi bieten entweder keinen echten Lastenausgleich oder keine echten Failover-Methoden. VMware empfiehlt, wenn man den Lastenausgleich anhand des IP-Hashs durchführt, nur den Linkstatus für die Failover-Ermittlung zu verwenden und auch keine Standby-Adapter zu konfigurieren.
Dem Admin wird die Entscheidung bei der Planung von redundanten Netzwerkanbindungen für seine ESX-Server ziemlich leicht gemacht, da er nicht viele Auswahlmöglichkeiten hat. Die Unterstützung seitens VMware ist sehr eingeschränkt. Es bleibt zu hoffen, dass sich dies mit zukünftigen Releases ändert. Trotzdem lässt sich bereits jetzt mit geringem Aufwand und dem nötigen Wissen die Netzwerk-Verfügbarkeit der ESX-Farm erhöhen.
Infos