APC Network Shutdown mit vMA und ESXi

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“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert