Szenario
Fogendes ist einen neuen Kunden von mir passiert: Stellt euch eine kleine feine Netzwerkumgebung mit zwei Rechenzentren mit jeweils vier ESXi Hosts auf jeder Seite vor. Die Rechenzentren sind über zwei Switche Cluster direkt miteinander verbunden. Soweit so gut.
Problem
Nun tritt es von Zeit zu Zeit auf das ein oder zwei ESXi-Hosts vorübergehend die Netzwerkverbindung verlieren, aber nur wenn ein Failover-, Failback- oder vMotion Ereignis eintritt. Verrückt!
Ich höre schon die Server Fraktion schreien:
Liegt bestimmt am Netzwerk!
Fakt
Alle virtuelle Maschinen verlieren vorübergehend die Netzwerkverbindung, wenn ein Failover-, Failback oder vMotion Ereignis eintritt.
Zum aller Ärgernis tritt sofort das VMware High Availability (HA)-Isolationsereignis ein, und der betroffen Host denkt er hat seine Links zum Switch verloren und schlimmer auch zu seinen Partnern.
WTF
Lösung
Zu meinen Bedauern haben die Server Kollegen diesmal Recht. Es lag in diesem speziellen Fall wirklich am Netzwerk.
Beim Kunden wird das Spanning Tree Protocol (STP) verwendet, um eine schleifenfreie Umgebung zu erreichen. Das ist grundsätzlich nichts besonders und eigentlich auch lobenswert.
Aber, Jedes Mal wenn ein Portzustand sich ändert, erfolgt eine neue Berechnung der STP-Topologie. Als Ergebnis der Berechnung werden die betroffenen Switch-Ports entweder in einen Forward- oder Blocked-Zustand versetzt, um eine Verkehrsschleife zu verhindern.
Der Verlauf der STP-Topologie hat fünf Zustände:
- Blocked
- Listen
- Learn
- Forward
- Disable
Wenn ein STP Topologie Change eingeleitet wird, werden alle physischen Switches in der STP-Instanz gezwungen, ihre Weiterleitungstabellen mitzuteilen und die STP-Topologie und alle MAC-Adressen neu zu lernen. Dieser Vorgang kann zwischen 2-60 Sekunden je nachdem welche Version von STP und wie viele TC ACKS gesendet werden, dauern. Während dieser Zeit passieren keine Benutzerdaten den betroffenen Switch-Port.
Nun ist auch klar das einige Benutzeranwendungen in diesem Zeitraum ausfallen können. Die Konnektivität wird wiederhergestellt, wenn das STP den Verlauf abgeschlossen hat.
Um den Verlust der Konnektivität von 2 bis 60 Sekunden während der STP-Konvergenz zu verhindern, führt Ihr diese Option aus:
- Stellt STP Portfast für alle Switch-Ports ein, die mit Netzwerkadaptern auf einem ESXi/ESX-Host verbunden sind.
Portfast ermöglicht das sofortige Zurücksetzen der Ports in den Forward-Zustand und verhindert, dass die auf den ESXi-Hosts auftretenden Änderungen des Verbindungsstatus die STP-Topologie beeinflussen. Die Einstellung von STP auf Portfast verhindert den Verlust der Netzwerkkonnektivität von 30 bis 50 Sekunden.
Der Befehl, den Switch Port auf STP Portfast zu setzen, hängt vom Modell des Switches ab. Da der Befehl von Modell zu Modell und von Hersteller zu Hersteller unterschiedlich ist,
Konfiguration
Um STP auf Portfast auf einem Switch zu setzen, führen Sie den folgenden Befehl basierend auf dem Switch-Modell aus:
CISCO Catalyst IOS
spanning-tree portfast
spanning-tree portfast trunk
CISCO Nexus IOS
interface <PORT> spanning-tree port type edge
interface <PORT> spanning-tree port type edge trunk
ArubaOS / HPE Provision
spanning-tree <PORT> admin-edge-port
Lenovo Networking Operating System (NOS) Software
interface <PORT> spanning-tree port type edge
Comware FlexFabric
interface <PORT> stp edged-port