How to configure VMware Fault Tolerance on native and in „nested“ ESXi environments

Für meine Schulungen bzw. Kundenworkshops benötige ich häufig eine Test- und Demo-ESXi Umgebung. Nachdem es mittlerweile sehr einfach ist, einen VMware ESXi in der VMware Workstation oder sogar mit kleinen „Tunings“ ESXi’s als VMs in ESXi’s zu bauen (nested ESXi – „how to“ siehe hier), kann man ohne zusätzliche Hardwareressourcen zu benötigen eine kostengünstige Demoumgebung realisieren.

Eines der Features, das lange Zeit nicht in sog. „nested“ ESXi Umgebungen zu realisieren war, ist Fault Tolerance. In diesem Artikel möchte ich aufzeigen, was nötig ist, Fault Tolerance in einer nativen bzw. „nested“ ESXi Umgebung für einzelne VMs zum Laufen zu bekommen.

Nähere Informationen, welchen Einsatzzweck Fault Tolerance verfolgt, findet man hier: http://www.vmware.com/products/datacenter-virtualization/vsphere/fault-tolerance.html

Da Fault Tolerance in der aktuellen vSphere Version 5.1 noch sehr „restriktiv“ ist, hier ein Artikel, welche Voraussetzungen erfüllt sein müssen, um Fault Tolerance zum Laufen zu bekommen.

Und los geht’s:

  • auf dem Cluster Objekt vSphere HA aktivieren

01_FT_in_nested_esxi

  • Aktivieren von Fault Tolerance Logging auf einem vorhandenen VMkernel oder einem neuen VMkernel Interface (empfohlen)

02_FT_in_nested_esxi

  • Prüfen, dass die Hosts im Cluster die exakt identische ESXi Version, sowie identische CPUs haben (Screenshot von einem „nested“ ESXi)

03_FT_in_nested_esxi

  • Auswahl einer virtuellen Maschine bzw. Appliance, die die Voraussetzungen für den Fault Tolerance Betrieb unterstützt (z.B. Nostalgia Virtual Appliance – Download hier)

04_FT_in_nested_esxi

  • in den Einstellungen der virtuellen Maschine (z.B. die deployte Nostalgia Appliance) über „Options“ – „General“ – „Configure Parameters“ die folgenden Zeilen über „Add Row“ hinzufügen (nur benötigt bei „nested“ ESXi Umgebungen):
  • replay.supported | true
  • replay.allowFT | true
  • replay.allowBTOnly | true

05_FT_in_nested_esxi

  • „rechte Maustaste“ – „Fault Tolerance“ – „Turn On Fault Tolerance“ und Bestätigen des benötigten Ausnullens der virtuellen Disk -> Fault Tolerance wird aktiviert

06_FT_in_nested_esxi

07_FT_in_nested_esxi

  • Fault Tolerance erstellt nun im Hintergrund auf einem 2. ESXi Host eine sog. „Secondary“ VM („Spiegel-VM“). Nun kann die virtuelle Maschine angestartet werden.

08_FT_in_nested_esxi

  • in meinem Demoscreenshot, sieht man die Konsolen der primären und der sekundären (read-only) Konsole der virtuellen Maschine. Alles was ich in der primären VM ändere, ändert sich auch in der sekundären virtuellen Maschine. Sollte nun während des Spielens von „Prince of Persia“ der Host, der die primäre Fault Tolerance VM hält, ausfallen, kann ich nach einem kurzen „Freeze“ direkt an gleicher Stelle auf der sekundären VM weiterspielen (zero downtime!). Wie schön wäre dieses Feature früher auf meinem DOS-PC – zu Zeiten als ein „Spielstand speichern“ noch nicht möglich war – gewesen ;)

09_FT_in_nested_esxi

– I wish I could be a Virtual Machine –

Benjamin Ulsamer