Redundante Netzanbindung mit VMware ESX

Backup-Leitung

Auch Virtualisierung schützt nicht unbedingt vor Systemausfällen, vor allem, wenn das Netzwerk ein Single-Point-of-Failure ist. Hier erfahren Sie, wie man seine virtuellen Maschinen mit VMware ESX redundant ans Netz anbindet.
Auch wenn auf der Packung "Cloud Computing" steht, steckt dahinter eigentlich Virtualisierungstechnologie mit cleveren Management-Funktionen. ADMIN 05/2010 ... (mehr)

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.

Abbildung 1: Das Hardware-Setup für die redundante Anbindung der ESX-Server.

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.

Abbildung 2: Ein komplexer Aufbau mit mehreren VMs, virtuellen Switches und redundanten Netzwerkkarten.(Quelle: VMware)

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.

Abbildung 3: Im Vergleich: Oben ein Chassis-Switch und unten mehrere Switches im Stack zusammengefasst (Quelle: Cisco).

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 ).

Abbildung 4: Hier muss der Admin einstellen, dass ESX die Daten anhand des IP-Hashs routet.

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.

Fazit

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.

Der Autor

Timo Dreger arbeitet als System- und Netzwerkadministrator und betreut unter anderem eine VMware-vSphere- und eine Citrix-Xenapp-Farm. Über seine Arbeit als Admin bloggt er unter http://www.adminbloggt.de .

comments powered by Disqus
Mehr zum Thema

Virtuelles Netzwerk mit Open vSwitch

Die Virtualisierung mit VMware, KVM und Xen ist nicht mehr aufzuhalten. Leider fehlte bisher ein virtueller Switch, der komplexe Szenarien unterstützt. Open vSwitch unterstützt Flows, VLANs und Trunking, Policies und das Bündeln von Netzwerkkarten wie die großen Hardware-Switches.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023