Wer einen vSphere-Cluster mit ESXi Knoten bei Stromausfall kontrolliert herunter fahren möchte, der ist entweder auf externe Rechner mit USV Anbindung und PowerCLI Skripte angewiesen, oder man verwendet die vMA Appliance von vmware. APC hat eigens dafür eine Version ihrer Software PowerChute Network Shutdown (PCNS) bereitgestellt. Die Version 3.0.1 gibt es zum freien Download. Eine Registrierung auf der Webseite ist ggf. erforderlich. Der Downloadbereich ist etwas versteckt unter Support.
Vorrausetzungen
- ESXi Server müssen lizenziert sein. Freie Versionen werden nicht unterstützt.
- ESXi Server müssen im DNS registriert und auflösbar sein
- VM Tools müssen installiert sein
- Softwarepaket PCNS (APC) vorhanden (s.o.)
- vmware vSphere Management Assistant (vMA) OVF vorhanden (s.u.)
- APC PCNS Patch für vMA5.0.0 vorhanden (s.u.) UPDATE: Für vMA 5.0.0.2 und PCNS 3.0.1 ist dieser Patch nicht mehr notwendig
Als zweite Komponente benötigt man die vMA Appliance (vmware vSphere Management Assistant) von vmware, da ESXi kein eigenes Console Operating System (COS) mehr enthält. Download der Version 5.0.0.2
Die vMA wird als OVF auf den ESX Cluster importiert. [Datei > OVF Vorlage bereitstellen > Pfad zum OVF angeben > Lizenzbedingungen akteptieren > vDisk Einstellungen wählen > Abschluss]
Auch wenn man bei der Bereitstellung eine statische IP angegeben hat (empfohlen!), kann es vorkommen, daß beim ersten Boot nochmals die Netzwerkparameter abgefragt werden. Wer keine IP Pools für vApps definiert hat, kann die vApp-Optionen der vMA deaktivieren.
Nach den Netzparametern muß auch das Passwort für den vi-admin geändert werden. Hier werden etwas verschärfte Richtlinien für Sicherheit angelegt. Wen das stört, der kann z.B. hier eine Anleitung lesen, wie man auf weiche Passwörter umstellt. Das ist vor allem in Testumgebungen interessant.
Wichtige Info: zur wiederholten Ausführung des Netzwerksetups in der vMA ist folgender Befehl notwendig:
sudo system-config-network-tui
vMA konfigurieren
Im Browser den Hostnamen der vMA Appliance angeben:
https://<vma Hostname>:5480
Screenshots zeigen vMA 5.0.0.0. Das Aussehen ist aber in 5.0.0.2 nahezu identisch.
Alle weiteren Konfigurationen sollten per SSH Shell (Putty, WinSCP, SecureShell Client) getätigt werden. Login per vi-admin und dem zuvor festgelegten Passwort. Sollte die SSH Verbindung Probleme bereiten, indem der Host die Verbindung zurück setzt, könnte es an der DNS Auflösung des Clients liegen. Die Beseitigung des Problems ist in diesem Blogartikel beschrieben.
Zunächst muß das pcns301ESXi.tar.gz File von APC auf die vMA gebracht werden. Empfohlen: /home/vi-admin
Patch für PCNS300
Ausserdem benötigt man für PCNS300 einen Patch von APC für PCNS in Kombination von vMA5, da ansonsten beim Setup ein Verzeichnisfehler auftritt. Auch diesen lädt man hoch ins Verzeichnis /home/vi-admin. Nicht notwendig für PCNS301.
Entpacken
Screendump von pcns300. Ablauf identisch mit pcns301.
vi-admin@vma:~> gunzip pcns300ESXi.tar.gz vi-admin@vma:~> tar -xvf pcns300ESXi.tar ESXi/ ESXi/Installation.pdf ESXi/install_en.sh ESXi/jre1.6.0_24_linux64.tar.gz ESXi/pcns300.tar.gz ESXi/relnotes.htm ESXi/silentInstall.sample vi-admin@vma:~>
Patch einspielen (nur pcns300)
Dazu müssen die beiden Dateien install_en.sh und uninstall ins gerade erstellte ESXi Verzeichnis kopiert werden.
Setup ausführen
vi-admin@vma:~> cd ESXi/ vi-admin@vma:~/ESXi> sudo ./install_en.sh
Und hier beweisen die Programmierer von APC etwas Humor :-)….
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. vi-admin's password:
Nach Eingabe des vi-admin Kennwotes geht es weiter. Die Eingabe des ESX Knotens kann man sich getrost schenken und mit “q” überspringen, da ein Kontakt nicht möglich ist und gegen Ende ein Fehler geworfen wird.
Aufruf PCNS Web GUI
https://<vMA>:6547
Login zur Network Management Card (NMC) der USV. Default: apc/apc
Die Passphrase ist in der WEB-GUI neuerer NMC (Serie 2) etwas versteckt. Die Defaul-Phrase steht in der Hilfe:
In the NMC, the default administrator user name and password are both apc, while the default setting for the authentication phrase is admin user phrase. The authentication phrase must be 15 to 32 characters of any type.
Durch Eingabe von “admin user phrase” als Authentication Phrase (= default) funktioniert der Kontakt. Wer diese ändern möchte, findet sie in der APC Web-GUI unter UPS > PowerChute > Configuration
Angaben zur USV Infrastruktur.
Kontakt zur Network Management Card (NMC) der USV.
Erweiterte Einstellungen. Es ist wichtig, daß die USV nach Abschluss des Vorgangs NICHT abgeschaltet wird. Ausnahme: Auf der USV ist die Option “restart when power ist restored” konfiguriert.
Zusammenfassung der Werte
Nach der Basiskonfiguration ist es empfehlenswert, das vorhandene APC shutdownskript gegen eines der vmware Community zu ersetzen. Es wurde geschrieben von William Lam (Virtuallyghetto) und ist zu finden unter der Communitygroup ghettoupshostshutdown. Eine abgewandelte Form des Skripts shutdownPCNS3.0.1.zip findet man bei RebelIT.
Den Inhalt der ZIP Datei auspacken und temporär ablegen (z.B. /home/vi-admin). Von dort ins PCNS Verzeichnis kopieren.
sudo cp shutdown.pl /opt/APC/PowerChute/group1/bin sudo cp shutdown /opt/APC/PowerChute/group1/bin
Skript editieren
Im Skript shutdown.pl muss noch der Username und das Passwort des ESX Hosts hinterlegt werden.
sudo vi /opt/APC/PowerChute/group1/bin/shutdown.pl
# Please fill out the # username and password # for your ESX(i) host my $host_username = 'fillmein'; my $host_password = 'fillmein';
- mit “i” in den INSERT Modus wechseln
- fillmein durch Username (root) und Passwort ersetzen
- <ESC> Taste
- :wq! <RETURN>
Hostfile generieren
Um dem Skript mitzuteilen, welche Hosts es überwachen und ggf. herunterfahren soll, gibt es eine Hosts-Datei im selben Verzeichnis wie oben.
sudo touch /opt/APC/PowerChute/group1/bin/host
Dadurch wird eine Datei “host” erstellt in welche wir unsere ESX Hosts (IP) eintragen müssen.
sudo vi /opt/APC/PowerChute/group1/bin/host
- mit “i” in den INSERT Modus wechseln
- IP Adressen eintragen. Eine pro Zeile.
- <ESC> Taste
- :wq! <RETURN>
Besitzer und Zugriffsrechte setzen
sudo chown root /opt/APC/PowerChute/group1/bin/shutdown sudo chown root /opt/APC/PowerChute/group1/bin/shutdown.pl sudo chmod 744 /opt/APC/PowerChute/group1/bin/shutdown sudo chmod 744 /opt/APC/PowerChute/group1/bin/shutdown.pl
Startreihenfolge am ESX Host ändern
Wichtig! Hier muss die vMA an erster Stelle stehen. Das bedeutet, daß sie als letzte herunter gefahren wird. Wichtige VMs wie DNS Server oder Domain-Controller sollten gegen Ende herunter gefahren werden. Diese müssen beim Anschalten auch wieder zuerst starten. Als Wartezeit wischen dem Shudown einzelner VMs haben sich 30 Sekunden als guter Wert erwiesen. Letztlich hängt es aber von der Kapazität der Batterie ab. Innerhalb der Leistungsdauer müssen alle VMs beendet werden können.
Konfigurieren der Events
Login in vMA mit PCNS: https://<vMA>:6547
Im Bereich <vMAName>/Configure Events wird das Ereignis “UPS: On Battery” gewählt und dort der Haken bei “Shut Down System” gesetzt.
Der Assistent zeigt uns einen weiteren Dialog. Hier stellt man ein, wie lange das Ereignis anhalten muss, bis der Shutdown ausgelöst wird. Im unten dargestellten Fall wird der Shutdown nach zwei Minuten ausgelöst. Je nach Anzahl der Hosts und der Anzahl der VMs dauert der Shutdown Prozess unterschiedlich lange. Dies muss getestet werden! Der zweite Faktor, den man beachten muss, ist die Kapazität der Batterie. Wie lange liefert die UPS die angeforderte Leistung. Achtung! der Wert in der Web-GUI der RMC ist nur gültig, wenn keiner der Server Strom über die normale Versorgung bekommt. Im Normalbetrieb mit zwei Stromversorgungen laufen beide auf ungefähr 50% Last. Fällt die Stromversorgung aus, so schaltet das Netzgerät an der UPS auf volle Leistung. Erst dann zeigt die RMC-GUI einen verlässlichen Wert. Bei der Planung immer einen Zeitpuffer zur Sicherheit einplanen, damit auch alle VMs sauber beendet werden können.
Im nächsten Schritt wird der Pfad zum Script eingetragen. Das navigiert man im linken Frame zu “Configure Shutdown” und trägt im Feld “Run this Commandfile” den vollen Pfad zum Shutdown Script ein:
/opt/APC/PowerChute/group1/bin/shutdown
[Update] Troubleshooting
Falls nach der vereinbarten Zeit keine VMs herunter fahren, sollte man eventuelle Fehlerausgaben des Skripts beobachten. Dazu das Skript direkt auf der vMA Konsole (oder SSH) starten.
sudo /opt/APC/PowerChute/group1/bin/shutdown.pl host
Sollte hier folgende Fehlermeldung auftreten, ist etwas mit dem Host Zertifikat nicht in Ordnung.
Can't connect to <Server IP> (certificate verify failed)
- Browser (IE) zum ESXi Server öffnen
- Zertifikatswarnung ignorieren
- Zertifikat ansehen
- Stimmt das Zertifikat mit dem Hostnamen und der Domain überein, oder steht dort localhost.localdomain?
- Wenn der Name und die Domäne im Zertifikat nicht mit dem Hostnamen des ESX übereinstimmt, dann muss ein neues Host Zertifikat erstellt werden. Die Anleitung findet Ihr in diesem Blogartikel auf ElasticSky.
4 Antworten auf „APC Network Shutdown mit vMA und ESXi“