NIC-Teaming in VMware vSphere und ESXi konfigurieren

    NIC-Teaming in VMware ESXiDer I/O-Durchsatz und die nötige Ausfall­sicherheit für virtualisierte Server verlangt nach einer Netzwerkkonfiguration, die allen VMs die erforderlichen Bandbreiten zur Verfügung stellt und die zudem einen Single Point of Failure vermeidet. NIC-Teaming (auch "Bonding") leistet dazu einen wesent­lichen Beitrag. VMware unterstützt dieses Feature in verschiedenen Konfigurationen.

    Während Microsoft das NIC-Teaming als Funktion des Betriebssystems erst in Windows Server 2012 einführte, zählte sie schon in ESX 3.x zum Leistungsumfang des VMware-Hypervisors. Beide Hersteller gehen aufgrund der verschiedenen Architekturen ihrer Systeme jedoch eigene Wege bei der Aggregierung von physikalischen Netzwerkadaptern.

    NIC-Teaming erfolgt pro Host

    Während alle NIC-Teams in Windows Server 2012 R2 systemweit zur Verfügung stehen, richtet man sie unter ESXi für jeden virtuellen Switch und für jede Port Group separat ein. Wie generell bei der Konfiguration von Standard-vSwitches erfolgt auch das NIC-Teaming pro Host, selbst wenn man die Umgebung über vCenter verwaltet. Daher lassen sich NICs auch für Standalone-Hosts unter ESXi Free mit Hilfe des herkömmlichen vSphere Client für Windows aggregieren.

    Erstellt man mit dem Wizard im Web Client einen neuen vSwitch, dann kann man gleich die physikalischen NICs hinzufügen.

    Erzeugt man einen neuen Standard-vSwitch, dann ist dieser vom Typ Intern, solange man dessen Uplink-Ports nicht mit einem physikalischen Adapter verbindet. Dagegen hängt ein externer vSwitch an einer einzelnen physikalischen NIC, und wenn man ihm mehrere davon zuordnet, dann erhält man einen Teamed Standard vSwitch. Das simple Verbinden eines vSwitch mit 2 oder mehreren Adaptern konfiguriert somit ein NIC-Teaming auf Basis der Standard­einstellungen.

    Nachträgliches Zuordnen von physikalischen NICs

    Wenn man im vSphere Web Client beim Erstellen eines neuen vSwitch noch kein Teaming konfiguriert hat, dann kann man dies nachher über dessen Eigenschaften leicht nachholen. Das Vorgehen ist in beiden Fällen das gleiche. Das nachträgliche Zuordnen erfolgt, indem man den betreffenden Host aus der Bestandsliste auswählt und dann zu Verwalten => Netzwerk => Virtuelle Switches wechselt. Nach der Auswahl des betreffenden vSwitch klickt man auf das grüne Icon ("Physikalische Netzwerkadapter verwalten").

    Bestehenden vSwitches kann man nachträglich einfach weitere Adapter hinzufügen, sie umgruppieren oder entfernen.

    Im folgenden Dialog kann man sich über das grüne Plus-Zeichen eine Liste der noch freien NICs anzeigen lassen. Das Pulldown-Menü mit der Beschriftung "Gruppe für Failover-Reihenfolge" bestimmt, ob die ausgewählten Adapter nach der Übernahme in den vSwitch als Aktiv, Standby oder Nicht verwendet markiert werden.

    Optionen für Lastenausgleich

    Diese Zuordnung ist maßgeblich dafür, ob man eine Konfiguration vom Typ Active/Active oder Active/Standby erhält. Sie lässt sich nach dem Hinzufügen zum vSwitch schnell ändern, indem man den Dialog zur Bearbeitung seiner Eigenschaften (Stift-Icon) öffnet. Dort kann man unter Teaming und Failover ausgewählte Adapter über die Pfeilsymbole in eine andere Gruppe einsortiert.

    Beim Hinzufügen eines Adapters zu einem vSwitch bestimmt man, ob er aktiv oder für Standby sein soll.

    Wie die Bezeichnung nahelegt, leitet der vSwitch den Traffic stets über alle aktiven NICs, während jene, die für das Standby vorgesehen sind, nur bei Ausfall eines aktiven Adapters einspringen.

    Die Konfiguration von NIC-Teaming beschränkt sich nicht auf das Hinzufügen und Kategorisieren der Netzwerkadapter, vielmehr bedarf es zusätzlich der Festlegung von mehreren Policies für Failover und Lastenausgleich. Für Letzteren stehen vier Optionen zur Auswahl: Anhand des ursprünglichen virtuellen Ports routen, Anhand des Quell-MAC-Hashs routen, Anhand des IP-Hashs routen und Ausdrückliche Failover-Reihenfolge verwenden.

    Für den Lastenausgleich bietet VMware vier Optionen an.

    • Die beiden ersten Optionen bewirken, dass jede virtuelle NIC ihre Datenpakete immer über den gleichen physikalischen Adapter schickt. Eine ausgewogene Lastenverteilung lässt sich damit am besten erreichen, wenn auf einem Host eine größere Zahl von VMs läuft und diese mit mehr als einem vNIC ausgestattet sind.
    • Die auf dem IP-Hash basierende Route ist die einzig zulässige Option, wenn auf dem physikalischen Switch eine Link-Aggregation mittels EtherChannel oder IEEE 802.3ad konfiguriert wurde. Diese Einstellung setzt zudem voraus, dass alle NICs mit dem gleichen Switch verbunden sind und alle als aktiv markiert wurden.
    • Die ausdrückliche Failover-Reihenfolge schließlich bezieht sich darauf, wie die Liste der Adapter in den Einstellungen des vSwitch mit Hilfe der Pfeilsymbole angeordnet wurde.

    Eine weitere Einstellung bestimmt, ob zur Erkennung eines Ausfalls nur der Verbindungsstatus geprüft oder ob regelmäßig Signale an die Verbindung geschickt werden sollen (Letzteres lässt sich nicht zusammen mit dem Lastenausgleich auf Basis des IP-Hash verwenden). Darüber hinaus kann man festlegen, ob physikalische Switches über ein Problem informiert werden und ob der vSwitch die Verbindung nach ihrer Wiederherstellung automatisch wieder aktivieren soll (Failback).

    Weitere Einstellungen bestimmen, ob der phsykalische Switch benachrichtigt oder Failback aktiviert werden soll.

    NIC-Teaming in Port Groups

    Die Aufteilung des Netzwerk-Traffics beschränkt sich keineswegs auf die Konfiguration von NIC-Teaming für einen einzigen vSwitch. Vielmehr lassen sich bis zu 127 vSwitches pro Host einrichten, die ihrerseits die physikalischen NICs unter sich aufteilen. Physikalische NICs bleiben dabei aber auf die Verbindung mit genau einem vSwitch beschränkt.

    Je nach Ausstattung eines Servers mit Netzwerkadaptern kann sich die Aufteilung von verschiedenen Verbindungstypen auf mehrere vSwitches als ungeeignet erweisen. Verwendet man daher nur einen einzigen vSwitch, dann müssen seine Eigenschaften keineswegs die Konfiguration sämtlicher angeschlossener Netzwerke bestimmen. Sie sind nämlich nicht direkt, sondern über Port Groups mit einem vSwitch verbunden. Letztere lassen sich eigenständig verwalten, so dass sie auch eine eigene Konfigurationen für das NIC-Teaming haben können.

    Wenn beispielsweise ein Server zwei physikalische NICs besitzt, dann könnte man sie einem vSwitch in einer Active/Active-Konfiguration zuordnen. Möchte man etwa dann für die VMs zwei verschiedene virtuelle Netze bereitstellen, dann könnte man zu diesem Zweck auf dem vSwitch zwei Port Groups anlegen.

    Auf der Ebene von Portgroups lassen sich die vom vSwitch geerbten globalen Einstellungen überschreiben.

    Diese erben zwar die globale Konfiguration für NIC-Teaming vom vSwitch, diese lässt sich aber überschreiben. Dazu klickt man in der Diagrammdarstellung des vSwitch auf den Namen des virtuellen Netzwerks und dann auf das Stift-Icon. Im anschließenden Dialog hat man unter Teaming und Failover bei jeder Einstellung die Möglichkeit, die Option Außer Kraft setzen zu aktivieren, so dass sich die Werte individuell einstellen lassen.

    Zum Beispiel könnte man dann im VM Network 1 festlegen, dass NIC-1 als aktiv und NIC-2 auf Standby gesetzt wird. VM Network 2 könnte man dagegen genau umgekehrt konfigurieren, so dass beide virtuelle Netzwerke dann ihren eigenen aktiven physikalischen Adapter haben und im Notfall auf jenen der anderen Portgruppe ausweichen können.

    Keine Kommentare