HA mit PowerCLI steuern

HA ist ein sehr hilfreiches Cluster Feature von vSphere. Es gibt aber Situationen, da muß man es abschalten oder deaktivieren. Ein Beispiel ist die skriptgesteuerte Abschaltung eines Clusters. Hierbei werden alle VMs beendet und die ESXi Hosts abgeschaltet. Ist dann HA noch aktiv, passieren wilde Dinge. Der letzte ESXi Host versucht alle (inzwischen ausgeschalteten) VMs zu übernehmen, aber diese sind noch auf den anderen Hosts registriert. Dabei ist alles in Ordnung und geplant. Für Notabschaltungen und geplante Wartungen empfiehlt es sich daher HA ganz abzuschalten. Solange ein Admin an der GUI sitzt ist dies kein Problem. Wenn aber die Notabschaltung automatisch ausserhalb der Geschäftszeiten erfolgt, muss HA per Skript deaktiviert werden.

HA deaktivieren

Folgendes Kommando schaltet HA auf allen Clustern ab ohne Rückfrage

Get-Cluster | Set-Cluster -HAEnabled:$false -Confirm:$false

Möchte man HA nur gezielt für einen Cluster (Name MYCLUSTER entsprechend anpassen) abschalten, so ist der Befehl etwas zu modifizieren.

Get-Cluster MYCLUSTER | Set-Cluster -HAEnabled:$false -Confirm:$false

Host Monitoring abschalten

Eine Variante zur Abschaltung von HA ist die Deaktivierung des Host-Monitoring. Dabei bleiben die HA-Agenten auf den ESX Hosts installiert, werden aber inaktiv gesetzt.

Die Steuerung mittels PowerCLI ist etwas umständlicher, aber möglich. In einem Blogbeitrag von ICT-Freak.nl gibt es hierfür ein kleines Script.

Project ONYX

Ein sehr hilfreiches Tool zur Erstellung von Powershell Skripten bietet Project-Onyx. Hiermit kann man Vorgänge an der GUI aufzeichnen und erhält die entsprechenden Powershell Kommandos für die Aktion zurück.

ESXi Maintenance Mode via PowerCLI und vMA

PowerCLI

Bevor die Kommandos abgesetzt werden können, muss eine Verbindung mit dem Host oder den VCenter hergestellt werden.

Verbindung mit einem ESXi herstellen:

Connect-viserver -server <Servername> -user root -password <myPass>

Verbindung mit einem vCenter herstellen:

Connect-viserver -server <vCenter> -user <domain\user> -password <myPass>

Start Maintenance Mode

Set-VMHost -VMHost <Hostname> -State maintenance

Host wechselt in den Wartungsmodus. Fall er sich schon im Wartungsmodus befindet passiert nichts.

Maintenance Mode beenden

Set-VMHost -VMHost -State connected

Host beendet den Wartungsmodus. Wenn der Host nicht antwortet wird die Verbindung neu hergestellt.

Reboot Host

Restart-VMHost -VMHost <Hostname> [-Force] [-Evacuate] [-RunAsync] [-Whatif] [-Confirm]

Parameter in eckigen Klammern [ ] sind optional.

  • Force: Host wird neu gestartet, auch wenn er nicht im Wartungsmodus ist
  • Evacuate: (funktioniert nur bei Connect zu vCenter!). Ausgeschaltete VMs werden automatisch auf anderen ESX Servern registriert. Wenn diese nicht möglich sit, bleiben sie auf dem Host und sind für die Dauer des Reboots nicht erreichbar (grau). Aktive VMs werden migriert. Falls dies nicht möglich ist wartet der Prozess, bis diese manuell abgeschaltet werden.
  • RunAsync: Kommando kehrt sofort zur Konsole zurück, ohne den Abschluss des Vorgangs abzuwarten.
  • Whatif: Ausgabe erfolgt nur auf der Konsole. es werden keine Aktionen ausgeführt. Dient der Simulation.
  • Confirm: Default = true. Ist der Parmeter gesetzt erwartet das Kommando eine Bestätigung durch den Nutzer.

vMA / vSphereCLI

Von der vMA bzw. der vSphereCLI gibt es drei Komanndos für den Wartungsmodus:

vicfg-hostops --server <ESX-Host> --operation enter|exit|reboot

Der Befehl kann entweder mit dem Parameter enter oder exit oder reboot ausgeführt werden.

Pre-Flight-Check vSphere 5.1

Alan Renouf, der vielen bekannt ist durch vCheck oder andere sehr nützliche Skriptsammlungen, hat jetzt einen sogenannten Fling veröffentlicht, mit dem man eine Virtuelle Infrastruktur vor dem Upgrade auf vSphere 5.1 testen kann.

preflight51_01

Das Skript kommt mit einer schönen GUI und zeigt im Vorfeld der Migration mögliche Probleme auf.

 

Links

vmware Labs – vCenter 5.1 Pre-Install Check Script

Release PowerCLI Version 5.1 R2

Die vSphere PowerCLI wurde aktualisiert auf Version 5.1 R2 und bringt eine Menge neuer Fuktionen mit.

  • VDS Commandlets zur Konfiguration und Abfrage von virtual Distributes Switches (vDS).
  • Unterstützung für Powershell v3
  • Unterstützung für vCloud Director 5.1

Alan Renouf, der wir auch als Virtu-Al kennen, gibt uns eine Zusammenfassung der neuen Funktionen im vmware PowerCLI Blog.

Links