VMware vSphere HA isolation Events

Vor kurzen hatte ich die Anforderung alle VMware ESXi Hosts mit Ausfällen, egal ob PSOD oder anderer Grund, der letzten Monate zu Reporten. Dabei musste ich feststellen, dass das gar nicht so einfach war die vSphere HA isolation Events sauber nachträglich zu erfassen und den Hosts zuzuordnen. Nur mit dem vCenter, ohne weitere Hilfsmittel ist das ein enormer Aufwand.

Was ist ein vSphere HA isolation Event

In dem Fall den ich hier erfassen möchte geht es genauer um zwei Host Situation: Isolated und Failed. Diese zwei Situation bedeuten immer irgendetwas Größeres ist vorgefallen, entweder eine teilweiser oder voller Ausfall des Hosts hat stattgefunden. Dazu kommt die besondere Situation Partitioned, welche ich leider erst einmal außen vor lassen muss, da ich sie momentan nicht simulieren kann.

Isolated

Ganz kurz und oberflächlich gesagt tritt diese Situation ein, wenn der HA Master Agent in einem vSphere Cluster keine HA Informationen mehr von einem Slave Agent erhält. Um für den Master Agent einen Totalausfall des betroffenen Hosts auszuschließen, kommt zusätzlich der Datastore Heartbeat ins Spiel.

Im fdm.log des Masters ist als erstes zu sehen, dass der Netzwerk Heartbeat eines Hosts ausbleibt:

Dann prüft der Master Agent auf Datastore Hearbeats des betroffenen Hosts:

Falls auch diese nicht identifiziert werden können, sind folgende Einträge im fdm.log zu finden:

Aber nicht nur der HA Master Agent identifiziert den betroffenen Host als isoliert. Auch der Host selbst, falls nicht komplett ausgefallen, erkennt seinen Isolationszustand. Dies passiert, wenn der Host nicht mehr mit dem Master in Kontakt ist und wird dann über ICMP Ping zu den Isolationsadressen verifiziert. Der Ping zu den Isolationsadressen führt er aus, nachdem er sich selbst mangels Erreichbarkeit anderer Hosts zum Master gewählt hat.

Failed

Wenn der HA Master Agent von dem betroffenen Host weder einen Datastore noch Netzwerk Heartbeat identifizieren kann und er final auch nicht per ICMP Ping erreichbar ist gilt der Host als Dead.

Im fdm.log des Master Agent sind dann folgende Einträge zu finden:

Partitioned

Bei einer Partitionierung eines HA Clusters in zwei oder mehr Teile können mindestens noch zwei Hosts in jedem Segment über das Management Netzwerk kommunizieren und so je einen neuen HA Master Agent wählen. Jedes Segment hat somit seinen eigenen HA Master Agenten bis zur Bereinigung der Situation.

 

Um tiefer in das Thema vSphere HA einzusteigen kann ich nur wärmstens das kostenlose Buch von Duncan Epping empfehlen: VMware vSphere 6.0 Update 2 HA Deepdive
Zur weiteren Erläuterung der drei aufgeführten Situationen sind die Tabelle und das Diagramm im Abschnitt Fundamental Concepts sehr hilfreich. Für mehr Details zum Neustart der VMs und der eigenen Isolationserkennung ist das Kapitel Restarting Virtual Machines perfekt.

vSphere HA isolation Events auswerten

Welche Möglichkeit hab ich nun aus administrativer Sicht diese Events nachträglich noch einmal zu Reporten? VMware bietet, wie fast immer, auch zu diesem Thema einen passenden KB an: Determining if your VMware vSphere HA cluster has experienced a host failure

Für einen Report über einen längeren Zeitraum sind die ESXi und vCenter Logs im Originalzustand allerdings sehr impraktikabel. Es werden also weitere Hilfsmittel benötigt.

vRealize Operations Manager

Der VMware vRealize Operations Manager ist dafür erst einmal das naheliebendste Werkzeug, denn er führt einerseits die vSphere HA isolation Event als Warnung für den jeweiligen Host.

vRealize Operations Manager - Warnungen - vSphere HA isolation Events

Und bietet in den Ereignissen auch alle relevanten Vorkommnisse im Zeitstrahl.

vRealize Operations Manager - Ereignisse - vSphere HA isolation Events

Ich habe hier die vSphere World als Fokusobjekt gewählt und in der Ansicht alle Nachfolgeereignisse der Kategorie Hostsystem eingeblendet. Warnungstyp ist Verfügbarkeit, die Priorität Kritisch und der Ereignistyp Datenverfügbarkeit.

vRealize Log Insight

Mit vRealize Log Insight wiederum lassen sich rasend schnell alle FDM Logs der ESXi Hosts durchsuchen und so vSphere HA isolation Events bzw. eine spezielle Situation im HA Ablauf eindeutig identifizieren:

If a master host is unable to communicate directly with the agent on a slave host, the slave host does not respond to ICMP pings, and the agent is not issuing heartbeats it is considered to have failed. You see output similar to:

vRealize Log Insight - FDM - vSphere HA isolation Events

Der Host ist vom HA Master Agent als Failed identifiziert.

Ein anderer Weg zu den gleichen vSphere HA isolation Events führt über das VPXD Log des vCenter Servers.

vRealize Log Insight - VPXD- vSphere HA isolation Events

Da diese Events immer vom HA Master Agent oder dem vCenter geschrieben werden, lässt die Quelle der Logs nicht direkt auf den ausgefallenen Host schließen. Hierzu muss man die MoRef (oder in vRealize Log Insight: vmw_vc_managed_host_id) nutzen. Am einfachsten gelingt die Identifizierung über das Event „[ClusterManagerImpl::LogState] hostId=host-1234“ im FDM Log der ESXi Hosts, die Quelle dieser Events ist auch der korrekte Host.

vSphere HA isolation Events - HostID match

Die MoRef kann man aber natürlich auch per PowerCLI auflösen:

PowerCLI - MoRef

VMware PowerCLI

Mit der VMware PowerCLI und dem Get-VIEventPlus Modul von Luc Dekens hat man die Möglichkeit sehr schnell, viele vCenter Events nach dem Event Typ „HA.DasHostFailedEvent“ durchsuchen und eine sauberen Report zu generieren.

PowerCLI - vSphere HA isolation Events

Hat Ihnen der Beitrag gefallen?

Nutzen Sie gerne für Ihren nächsten Amazon Einkauf diesen Affiliate Link und unterstützt Sie damit den Author des Artikels: http://amzn.to/2pAgZOD

Um schnell und einfach Ihre Lieblings Blogs und Autoren zu unterstützen, ist der Dienst Flattr ebenfalls eine tolle Möglichkeit!

Vielen Dank!

Leave a Reply

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen