Sollte in diesem Szenario ein HA-Failover auftreten?

7

Ich führe vSphere 5 in einem HA-Cluster auf zwei Hosts (vsphereA und vsphereB) aus. Ich habe den HA-Cluster für die Hostüberwachung und die Überwachung des Datenspeicher-Heartbeats mit deaktivierter Zugangssteuerung konfiguriert (hoffentlich verstehe ich zu Recht, dass die Überwachung des Datenspeicher-Heartbeats versehentliche und unerwünschte HA-Failover aufgrund der Isolation des Verwaltungsnetzwerks verhindert). Jeder Host verfügt über eine einzelne Verbindung zu einem dedizierten iSCSI-Netzwerk und einem iSCSI-Ziel (kein MPIO). Alle VMDKs für alle VMs sind im iSCSI-Datenspeicher vorhanden. Als HA-Test habe ich die iSCSI-Verbindung auf vsphereB getrennt und war überrascht zu sehen, dass die auf vsphereB ausgeführten VMs weiterhin auf vsphereB ausgeführt wurden. Die ausgeschalteten VMs wurden als unzugänglich angezeigt (was ich aufgrund der Tatsache erwartet hatte, dass sie nicht verfügbar waren). t läuft und die Verbindung von vsphereB zum iSCSI-Ziel wurde getrennt), aber die laufenden VMs wurden weiterhin ausgeführt und waren weiterhin "im Besitz" von vsphereB. Ich habe erwartet, dass für diese VMs ein HA-Failover auftritt, und ich habe erwartet, dass sie nach dem HA-Failover (das nicht aufgetreten ist) "im Besitz" von vsphereA sind. Ich kann nicht verstehen, warum bei diesen VMs kein HA-Failover aufgetreten ist. Verstehe ich falsch, in welchen Fällen ein HA-Failover auftreten sollte?

Joeqwerty
quelle

Antworten:

8

Sie scheinen vMotion und HA zu verwechseln, die unterschiedliche Funktionen sind, die unterschiedliche Funktionen haben.

vMotion ist eine Funktion, mit der virtuelle Maschinen ohne Ausfallzeiten und mit minimalen Betriebsstörungen (Millisekunden) von einem physischen Host auf einen anderen migriert werden können. Dies erfolgt vor der Wartung und erfordert, dass sich die VM sowie der Quell- und der Zielhost bereits in einem fehlerfreien Zustand befinden. HA ist eine Funktion, die ausgefallene virtuelle Maschinen (oder unzugängliche virtuelle Maschinen, wenn die Hostisolation konfiguriert ist) neu startet und zu Ausfallzeiten für die VM führt, da die gesamte virtuelle Maschine ausgeschaltet und neu gestartet wird.

Wichtig zum Mitnehmen: Eine vMotion ist kein HA-Failover. Ein HA-Failover ist ein HA-Failover.

vMotionen werden durch Folgendes ausgelöst:

  1. Ein Benutzer initiiert eine vMotion
  2. DRS initiiert eine vMotion als Reaktion auf Ladebedingungen (durch die DRS-Aggressivitätseinstellung festgelegte Schwellenwerte), Verstöße gegen Affinitätsregeln oder durch VUM ausgelöste Hostaktualisierungen

HA-Failover werden durch folgende Dinge ausgelöst:

  1. Ein Host in Ihrem HA-Cluster hat festgestellt, dass ein anderer Host im Cluster ausgefallen ist und nicht über die konfigurierten Verwaltungsnetzwerke oder Heartbeat-Datenspeicher auf HA-Heartbeats reagiert
  2. Die Isolationsantwort ist so konfiguriert, dass VMs heruntergefahren oder ausgeschaltet werden. Der Host kann nicht mehr mit den meisten Clusterknoten sprechen, wodurch ein Herunterfahren der VM und die anschließende Erkennung von HA-Fehlern von der verbleibenden Mehrheit des Clusters ausgelöst werden (sofern vorhanden) eine der Gefahren einer Isolationsreaktion)
  3. Der Cluster / die VM ist für die VM-Überwachung über VMware Tools konfiguriert, der Hypervisor hat für einen bestimmten Zeitraum keinen Heartbeat empfangen und 120 Sekunden lang ist keine Festplatten- oder Netzwerkaktivität aufgetreten

Fazit: vMotions treten aufgrund von Leistungsereignissen auf, und HA-Failover treten aufgrund von Verfügbarkeitsereignissen auf.

Sie haben die Festplatte unter einer laufenden VM herausgezogen. Das Standardverhalten von vSphere und den meisten Hypervisoren besteht in diesem Fall darin, die virtuelle Maschine in Ruhe zu lassen und sie ihre eigenen Festplattenprobleme behandeln zu lassen. Dafür gibt es mehrere gute Gründe:

  1. Einige Betriebssysteme / Distributionen (z. B. pfSense) funktionieren einwandfrei, wenn die zugrunde liegende Festplatte nicht mehr reagiert
  2. Ein paar Dutzend VMs, die gleichzeitig gestartet werden, verursachen in der Regel ein Problem mit einer "donnernden Herde". Wenn Sie dies auf einem Speicher tun, der bereits fragwürdig ist, ist dies möglicherweise nicht die beste Idee
  3. Wie beim Tauschen können das Betriebssystem (und die Anwendungen) Speicherprobleme normalerweise besser lösen als der Hypervisor
  4. Manchmal hängt der Speicher nur - er ist die fehleranfälligste Komponente in den meisten virtualisierten Umgebungen. Versuchen Sie am besten, es zu erkennen und darauf aufmerksam zu machen, und lassen Sie einen Administrator herausfinden, was damit zu tun ist, bevor Sie eine gesamte Umgebung überspringen

Auf der anderen Seite ist es für viele Workloads (Datenbanken fallen in den Sinn) eine gute Idee, das System herunterzufahren, sobald die Gefahr einer Beschädigung oder eines Verlusts von Transaktionen besteht. Im besten Fall befinden Sie sich jedoch wahrscheinlich ohnehin in einem inkonsistenten Zustand, da Sie die Datenbank ohne die Festplatte nicht sauber stilllegen können.

Letztendlich: Es gibt einige gute Anwendungsfälle dafür, dass HA auf unzuverlässigen Speicher reagiert, aber das funktioniert heute nicht mehr, und das Verhalten, das Sie sehen, ist völlig normal.

jgoldschrafe
quelle
Danke für die informative Antwort. Ich habe den Begriff vMotion verwendet, um den Mechanismus für das Failover der VMs von vsphereB zu vsphereA zu beschreiben, nachdem ich das iSCSI-NIC-Kabel von vsphereB gezogen hatte. Ist es nicht tatsächlich die vMotion "Komponente" oder "Engine", die ein Failover durchführt, egal ob es sich um ein HA-Failover oder ein DRS-Failover handelt? Sollte in meinem Szenario ein HA-Failover aufgetreten sein? vsphereB hatte keinen Zugriff mehr auf den iSCSI-Datenspeicher, in dem sich die laufenden VMs befanden. Wie könnten die VMs weiterhin auf vsphereB ausgeführt werden, wenn vsphereB keinen Zugriff mehr auf den Datenspeicher hätte?
Joeqwerty
HA-Failover ist buchstäblich nur Poweroff / Poweron. Wenn der Cluster für eine vMotion fehlerfrei genug wäre, müssten Sie zunächst kein HA-Failover initiieren. Die VMs wurden weiterhin ausgeführt, da sich alle zum Ausführen erforderlichen Dateien bereits im Speicher befanden. Offensichtlich würden jedoch alle neuen Lese- / Schreibvorgänge auf der Festplatte eine Zeitüberschreitung aufweisen und fehlschlagen.
Jgoldschrafe
Außerdem habe ich meine Frage umformuliert und "vMotion" durch "HA-Failover" ersetzt.
Joeqwerty
Erwischt. Nur ein Ausschalten löst also ein HA-Failover aus? Was ist mit dem Ziehen aller NIC-Kabel? Dies würde einen ausgefallenen Host und einen ausgefallenen Datenspeicher-Heartbeat simulieren (aus der Sicht der anderen Hosts im Cluster).
Joeqwerty
Das Herausziehen der Verwaltungs-NICs allein sollte dies tun, wenn Sie für eine Isolationsreaktion konfiguriert sind, aber ein Ausschalten des Hosts führt mit Sicherheit zu einem Failover Ihrer VM.
Jgoldschrafe