Ein paar Gedanken zu Redundanz, ESXi, Isolation und HA

Wie erstellt man hardwaremässig eine Redundanz?

Nachdem wir nach dem Wechsel von vSphere 6.5 auf 6.7 gewechselt sind, gab es noch eine Reihe von PSOD. Nach dem Austausch von Kabel wurden diese zwar seltener, aber waren noch nicht komplett verschwunden. Es gab eher noch sehr unglückliche Zustände wie zum Beispiel, der ESXi Host verliert den Kontakt zum VM-Traffic-Netzwerk, aber der Kontakt zum iSCSI-Netzwerk ist nach wie vor vorhanden. Das Problem darin besteht, dass der Heartbeat zwar merkt, ah ich habe die Verbidnung zu meinen Clusterkollegen verloren, aber durch das erreichen der Datenspeicher reicht es nicht, dass ein HA-Fehler ausgelöst wird und die Maschinen erzwungenermassen migriert werden.

Nun es besteht die Möglichkeit, via Parameter das.isolationAddressX dem ESXi ein anderes Verhalten beizubringen (mehr Details). In alten ESXi Zeiten wurde die Isolationserkennung via DefaultGateway detektiert. Das liegt in der Regel auf einem Router oder einer Firewall. Nun auch die Produkte werden gerne mal mit neuen Firmwares ausgestattet, was widerum dazu führte, wurde nicht daran gedacht, gab es ganz lustige Effekte. VMware hat das aber irgendwann mal erkannt und seither reklamiert der Cluster, wenn er nicht über 2 Datenspeicher verfügt. Das ist alles gut und recht, sogar sinnvoll, wenn nicht dvSwitch einfach seinen Geist aufgeben würde und die Verbindungen nach extern blockiert.

So wie könnte man nun mit dem ganzen umgehen? Das DefaultGateway liegt in meinem Fall auf einer Sonicwall NSA 6600. Eine Firewall alleine wäre hier nicht wirklich die optimale Lösung. Daher stehen hier 2 Firewalls bereit, diese im Active / Standby Modus mit statefull synchronization, was aber bedingt, dass die Firewall mit 2 Leitungen miteinander verbunden sind, eine für den Heartbeat, die andere für die Standsynchronisierung. Sollte nun erste Firewall sich verabschieden, tritt sofort die zweite in Kraft. Das führt maximal zu einem Verlust von einem Paket zwischen Firewall und ESXi Host. Erst wenn beide Firewalls ausfallen, haben wir hier ein richtig geniales Problem. Aber dann braucht ESXi auch nichts mehr zu migrieren. Man sollte das aber nicht von der Seite aus ansehen, sondern: sobald der Host die Verbindung zur Firewall verliert, ist tendenziell eher der Host mit einem Fehler betriffen und das führt zum Einleiten des HA.

Nicht jeder hat gerade eine Firewall als Gateway, manchmal dient ein Switch mit Layer 2+/3 Funktionssatz als Gateway. Wie lösen wir nun hier das Problem? Sicher mal eins ist gesagt, Redundanz mit einem Gerät einzigen Gerät, eher schwierig, sprich hier sind auch 2 Switches notwendig. Die Hosts müssen pro Netz mit 2 Kabel verbunden sein, sonst kann der Swap nicht erfolgen, sollte ein Device aussteigen. Wenn man nun wirklich sicher sein will, dann nutzt man je eine andere PCI-Karte im Server, damit beim Ausfall einer NIC das auch keine Auswirkung hat. Redundanz hat aber irgendwann mal ein Ende, denn ein Active / Standby Mainboard hab ich noch nicht gesehen ;). Zwei Strombetreiber, mit einem Kabel von Süden und einem von Norden, naja auch schwierig. Aber was man z.B. auch machen kann, bei redudanten PSUs, ein PSU auf den Stromnetz, eines auf dem Notstromnetz. Die UPS(USV) kann nämlich auch mal sterben. Bei uns ging mal das Ladegerät für die Akkus flöten. Bei einer Online-USV läuft der Betrieb auf den Akkus und die Akkus werden gleichzeitig mit Strom versorgt. Was, wenn aber das Ladegeräte kaputt geht und die Hauptsicherungen des Gebäudes zum sterben bringt? Ich habe noch keinen Techniker kennen gelernt, der im eingeschalteten Zustand das Ladegerät einer USV wechselt. Und nur das Ladegerät ausschalten ging irgendwie nicht. Man muss sich aber bei dem Szenario Netzstrom/Notstrom unbedingt im Auge behalten, dass das Hauptnetzteil auf der USV bleibt, ansonsten wird die Autonomiezeit verfälscht. So werden dann aus 900 Minuten schnell mal nur 450 Minuten.

Zurück zum Thema:

Wie lösen wir nun das Thema mit dem Gateway? Zwei Geräten im Netz die gleiche IP vergeben, das haben wir mal gelernt, sollte man nicht machen. Ok jetzt kann man via DHCP 2 Gateway austragen. In der Regel hat aber eine statische Konfiguration keinen Platz für ein zweites Gateway, man müsste z.B. im ESXi schon die interfaces-Datei entsprechend anpassen. Bei den meisten Switches gibt es aber ein Protokoll, welches diese knifflige Sache ganz einfach erledigt und vorallem keinen Eingriff auf jedem Server notwendig macht:

Virtual Router Redundancy Protocol oder kurz vrrp.

Die Switches erhalten beide eine eigene IP-Adresse und bekommen, gleich wie das bei HAproxy gemacht wird, eine virtuelle Adresse, in diesem Fall die des DefaultGateways. Fällt nun ein Gerät aus und vrrp merkt, dass der Master verschwunden ist, übernimmt dieser die Masterrolle. Somit hat man hier auch ein Ausfallsicherheit geschaffen. Das klappt notfalls auch sehr gut mit zwei DDWRT54, wenn man diese als Gateway einsetzten möchte, so für kleine Netzwerke sicher eine Option. pfSense kann via CARP redundant gehalten werden. Zuhause mache ich das einfach mit einer pfSense virtuell und eine physikalisch. Die virtuelle Appliance hat natürlich viel Leistung, die Hardware mit einem APU2 natürlich auch, sprich man muss dann auf der Hut sein und merken, ups das Master-Gateway ist jetzt tot.

 


Drucken