Cluster · ESXi

Master and Slaves & and the Election of Masters

VMware HA Cluster

Master- und Slave-Hosts

Wenn Sie einen Host zu einem vSphere HA-Cluster hinzufügen, wird ein Agent auf den Host hochgeladen und für die Kommunikation mit anderen Agenten im Cluster konfiguriert. Jeder Host im Cluster fungiert als Master- oder Slave-Host.

Master Election

„As mentioned when a master fails an election process is initiated. The HA master election takes roughly 15 seconds. The election process is simple but robust. The host that is participating in the election with the greatest number of connected datastores will be elected master. If two or more hosts have the same number of datastores connected, the one with the highest Managed Object Id will be chosen. This however is done lexically; meaning that 99 beats 100 as 9 is larger than 1. That is a huge improvement compared to what is was like in 4.1 and prior isn’t it?

For those wondering which host won the election and became the master, go to the summary tab of your cluster and click “Cluster Status”.“

Wenn vSphere HA für einen Cluster aktiviert ist, nehmen alle aktiven Hosts (d.h. diejenigen Hosts, die sich nicht im Standby- oder Wartungsmodus befinden und nicht getrennt sind) an der Wahl des Master-Hosts für den Cluster teil. Der Host, der die meisten Datenspeicher mountet, hat einen Vorteil bei der Wahl. Es gibt nur einen Master-Host pro Cluster. Alle anderen Hosts sind Slave-Hosts. Falls der Master-Host ausfällt, heruntergefahren oder aus dem Cluster entfernt wird, findet eine Neuwahl statt.

Der Master-Host in einem Cluster hat zahlreiche Verpflichtungen:

Überwachung des Zustands von Slave-Hosts. Falls ein Slave-Host ausfällt oder unerreichbar wird, identifiziert der Master-Host die virtuellen Maschinen, die neu gestartet werden müssen.

Überwachung des Betriebszustands aller geschützten virtuellen Maschinen. Falls eine virtuelle Maschine ausfällt, sorgt der Master-Host dafür, dass sie neu gestartet wird. Mithilfe einer Engine für die lokale Platzierung bestimmt der Master-Host auch die Stelle, an der der Neustart erfolgen soll.

Verwaltung der Listen der Cluster-Hosts und der geschützten virtuellen Maschinen.

Dient als vCenter Server-Verwaltungsschnittstelle für den Cluster und meldet den Zustand des Clusters.

Die Slave-Hosts tragen in erster Linie zum Cluster bei, indem sie virtuelle Maschinen lokal ausführen, ihren Laufzeitstatus überwachen und Zustand-Updates an den Master-Host melden. Ein Master-Host kann auch virtuelle Maschinen ausführen und überwachen. Sowohl Slave-Hosts als auch Master-Hosts implementieren die VM- und Anwendungsüberwachungsfunktionen.

vCenter Server meldet anhand des vSphere HA-Hostzustands, ob es sich bei einem Host um einen Master-Host oder einen Slave-Host handelt. Dieser wird auf der Registerkarte Übersicht des Hosts im vSphere-Client und in der Ansicht „Hostliste“ für einen Cluster oder ein Datacenter gemeldet, wenn die Spalte „HA-Status“ aktiviert wurde. Der HA-Status „Wird ausgeführt (Master)“ gibt an, dass der Host als vSphere HA Master-Host dient. Der Zustand „Verbunden (Slave)“ gibt an, dass der Host als vSphere HA-Slave-Host dient. Es gibt weitere Statuszustände, um anzugeben, wann eine Wahl stattfindet oder ein Fehler aufgetreten ist. Die Registerkarte Übersicht des Hosts bietet einen Link neben dem vSphere HA-Zustand des Hosts, der den aktuellen Zustand erläutert.

Mögliche Hostausfälle und ihre Erkennung

Der Master-Host eines vSphere HA-Clusters ist verantwortlich für das Erkennen des Ausfalls eines Slave-Hosts. Je nach Art des erkannten Ausfalls muss für die auf den Hosts ausgeführten virtuellen Maschinen möglicherweise ein Failover durchgeführt werden.

Es werden drei Typen von Hostausfällen in einem vSphere HA-Cluster erkannt:

Ein Host funktioniert nicht mehr (d. h., er fällt aus).

Ein Host wird netzwerkisoliert.

Die Netzwerkkonnektivität zwischen dem Host und dem Master-Host wird unterbrochen.

Der Master-Host überwacht, ob die Slave-Hosts im Cluster noch aktiv sind. Die Kommunikation erfolgt über den Austausch von Taktsignalen im Sekundentakt. Wenn der Master-Host keine Taktsignale von einem Slave-Host empfängt, überprüft er, ob der Host noch aktiv ist, bevor er den Host als ausgefallen betrachtet. Beim Überprüfen, ob der Slave-Host noch aktiv ist, ermittelt der Master-Host, ob der Slave-Host Taktsignale mit einem der Datenspeicher austauscht. Weitere Informationen hierzu finden Sie unter Datenspeicher-Taktsignale. Der Master-Host überprüft zudem, ob der Host auf ICMP-Pings reagiert, die an seine Management-IP-Adressen gesendet werden.

Wenn ein Master-Host nicht direkt mit dem Agenten auf einem Slave-Host kommunizieren kann, der Slave-Host nicht auf die ICMP-Pings reagiert und der Agent keine Taktsignale sendet, gilt der Slave-Host als ausgefallen. Die virtuellen Maschinen des Hosts werden auf alternativen Hosts neu gestartet. Wenn ein solcher Slave-Host Taktsignale mit einem Datenspeicher austauscht, unterstellt der Master-Host, dass sich der Slave-Host in einer Netzwerkpartition befindet oder netzwerkisoliert ist, und überwacht den Host und dessen virtuelle Maschinen weiterhin. Weitere Informationen hierzu finden Sie unter Netzwerkpartitionen.

Eine Hostnetzwerkisolierung liegt vor, wenn ein Host noch ausgeführt wird, jedoch keinen Datenverkehr von den vSphere HA-Agenten im Verwaltungsnetzwerk beobachten kann. Wenn dieser Datenverkehr vom Host nicht mehr beobachtet wird, versucht der Host, die Cluster-Isolierungsadressen anzupingen. Falls dies ebenfalls fehlschlägt, deklariert er sich selbst als vom Netzwerk isoliert.

Der Master-Host überwacht die virtuellen Maschinen, die auf einem isolierten Host ausgeführt werden, und wenn er beobachtet, dass sie ausgeschaltet werden und der Master-Host für die virtuellen Maschinen verantwortlich ist, startet er sie neu.

Heartbeating

vSphere 5.0 uses two different Heartbeat mechanisms. The first one is a network heartbeat mechanism. Each slave will send a heartbeat to its master and the master sends a heartbeat to each of the slaves. These heartbeats are sent by default every second. When a slave isn’t receiving any heartbeats from the master, it will try to determine whether it is Isolated or whether the master is isolated or has failed. We will discuss these “states” in more detail later .

Network heartbeats are a familiar concept to both, something that is new and has been introduced with vSphere 5.0 is  Datastore Heartbeating.

How does this heartbeating mechanism work? HA leverages the existing VMFS filesystem locking mechanism. The locking mechanism uses a so called “heartbeat region” which is updated as long as the lock on a file exists. In order to update a datastore heartbeat region, a host needs to have at least one open file on the volume. HA ensures there is at least one file open on this volume by creating a file specifically for datastore heartbeating. In other words, a per-host a file is created on the designated heartbeating datastores, as shown in the screenshot below. HA will simply check whether the heartbeat region has been updated.

Datenspeicher-Taktsignale

Wenn der Master-Host in einem vSphere HA-Cluster nicht über das Verwaltungsnetzwerk mit einem Slave-Host kommunizieren kann, verwendet der Master-Host Datenspeicher-Taktsignale, um festzustellen, ob der Slave-Host ausgefallen ist, sich in einer Netzwerkpartition befindet oder netzwerkisoliert ist. Wenn der Datenspeicher des Slave-Hosts keine Taktsignale mehr sendet, wird er als ausgefallen betrachtet und seine virtuellen Maschinen werden an anderer Stelle neu gestartet.

vCenter Server wählt eine bevorzugte Gruppe von Datenspeichern für Taktsignale aus. Diese Auswahl wird getroffen, um die Anzahl der Hosts, die Zugriff auf die Taktsignale eines Datenspeichers haben, zu maximieren und die Wahrscheinlichkeit, dass die Datenspeicher von demselben Speicher-Array oder NFS-Server gestützt werden, zu minimieren. Verwenden Sie zum Ersetzen eines ausgewählten Datenspeichers das Dialogfeld „Clustereinstellungen“ des vSphere-Clients. Dort geben Sie die Taktsignal-Datenspeicher an. Sie können auf der Registerkarte Datenspeicher-Taktsignale alternative Datenspeicher angeben. Nur Datenspeicher, die von mindestens zwei Hosts gemountet werden, stehen zur Verfügung. Die Datenspeicher, die vSphere HA zur Verwendung ausgewählt hat, werden auf der Registerkarte Taktsignal-Datenspeicher des Dialogfelds „Status des vSphere HA-Clusters“ aufgeführt.

Sie können das erweiterte Attribut „das.heartbeatdsperhost“ verwenden, um die Anzahl der Taktsignal-Datenspeicher zu ändern, die für jeden Host von vCenter Server ausgewählt wurden. Der Standardwert beträgt zwei und der Maximalwert fünf.

vSphere HA erstellt ein Verzeichnis im Stammverzeichnis eines jeden Datenspeichers, das für Datenspeicher-Taktsignale und zum Aufrechterhalten der Gruppe von geschützten virtuellen Maschinen verwendet wird. Der Name des Verzeichnisses lautet .vSphere-HA. Löschen oder ändern Sie die Dateien in diesem Verzeichnis nicht, da dies den betrieblichen Ablauf beeinträchtigen kann. Da ein Datenspeicher von mehr als einem Cluster verwendet werden kann, werden Unterverzeichnisse für jeden Cluster erstellt. Der Root-Benutzer ist Eigentümer dieser Verzeichnisse und Dateien. Lese- und Schreibzugriffe auf sie sind dem Root-Benutzer vorbehalten. Der von vSphere HA verwendete Festplattenspeicher hängt von mehreren Faktoren ab, z. B. der verwendeten VMFS-Version und der Anzahl der Hosts, die den Datenspeicher zum Senden von Taktsignalen verwenden. Im Falle von vmfs3 beträgt die Maximalnutzung etwa 2 GB und die übliche Nutzung etwa 3 MB. Bei vmfs5 betragen die Maximal- und die typische Nutzung ungefähr 3 MB. Die Nutzung der Datenspeicher durch vSphere HA geht mit einem vernachlässigbaren Overhead und ohne Auswirkungen auf die Leistung anderer Datenspeichervorgänge einher.

Links:

https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.avail.doc_50/GUID-39731BEC-EB0C-48C9-813B-CAF9DE884FD5.html

http://www.yellow-bricks.com/vmware-high-availability-deepdiv/

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s