Ja es ist möglich. Hier sind Details meiner ähnlichen Einrichtung.
Hardwarekonfiguration: Die
APC Smart-UPS 1500 ist über USB mit dem ESXi 5.1-Host verbunden. Eine virtuelle Linux-Maschine, die auf diesem ESXi-Host ausgeführt wird. Die USV ist über die ESXi-USB-Pass-Through-Option mit dieser VM verbunden.
Softwarekonfiguration:
NUT-Master (Network UPS Tools), der auf der VM ausgeführt wird, und nativer ESXi-NUT-Slave, der auf dem ESXi-Host ausgeführt wird.
Shutdown-Logik:
VM führt die USB- Treiber aus, die für die Kommunikation mit der USV über USB verantwortlich sind. Der Upsd- Prozess stellt über den USB-Treiber eine Verbindung zur USV her und überwacht den USV-Status. Der auf demselben Computer ausgeführte upsmon- Master-Prozess stellt eine Verbindung zum upsd her und leitet das Herunterfahren ein. Auf dem ESXi-Host wird die zweite Instanz von upsmon ausgeführt, die auch über ein internes Netzwerk eine Verbindung zu derselben VM herstellt .
Bei Stromausfall erfolgt folgende Abfolge:
- UPS meldet über usbhid-ups einen Stromausfall an upsd.
- (Optional, nützlich, wenn Sie das System in wenigen Minuten herunterfahren möchten, anstatt den Akku zu entladen.) upsmon auf der VM leitet den 5-Minuten-Timer für das Hochfahren ein . Der Timer wird abgebrochen, wenn die Stromversorgung wiederhergestellt wird.
- Wenn der Timer ausgelöst wird oder wenn die USV einen niedrigen Batteriestand meldet, setzt der Upsmon das FSD-Flag (Forced Shutdown) auf upsd.
- In einer eigenständigen NUT-Konfiguration würde das FSD-Flag die Maschine herunterfahren. Hier wird der Befehl zum Herunterfahren jedoch durch eine einfache Protokollierung wie "Ich sollte jetzt herunterfahren, aber ich warte stattdessen auf den Host" ersetzt. Und macht nichts.
- Das FSD-Flag wird auch von ESXi-upsmon gelesen, wodurch das Herunterfahren des ESXi-Hosts eingeleitet wird.
- Der ESXi-Host fährt alle virtuellen Maschinen nacheinander herunter. Wichtig ist, dass die VM, auf der der Upsd ausgeführt wird, zuletzt heruntergefahren wird (mithilfe der Sequenzkonfiguration für das Starten / Herunterfahren von ESXi).
- Wichtig: Auf dieser VM müssen VMware-Tools installiert sein. Wenn der Befehl guest shutdown vom Host empfangen wird, wird das Shutdown-Skript von vmware-tools gestartet. Dieses Skript sucht nach dem Flag / etc / killpower . Wenn kein Flag vorhanden ist, wird nichts ausgeführt (dies bedeutet, dass der Benutzer das Herunterfahren von Linux aktiviert hat, nicht das UPS-Ereignis). Wenn das Flag jedoch vorhanden ist (FSD aktiv), sendet dieses Skript den Befehl zum verzögerten Herunterfahren an UPS (z. B. in 3 Minuten).
- Nach dem Ausführen des Skripts vmware-tools wird die Gast-VM heruntergefahren.
- ESXi erkennt den letzten VM-Ausschaltzustand und geht von selbst aus (dies dauert ca. 1 Minute, da derzeit keine anderen Computer ausgeführt werden).
- In den verbleibenden 2 Minuten schaltet die USV den Strom ab.
- Wenn die Stromversorgung wiederhergestellt ist, wird ESXi gestartet und schaltet alle VMs ein. Die USV-Überwachungsmaschine muss zuerst gestartet werden (dieselbe Konfiguration wie für die Reihenfolge des Herunterfahrens).
Downloads:
Der NUT für Linux kann aus dem Paket installiert werden.
Der native NUT-Client für ESXi-Server kann über den letzten Link auf dieser Seite heruntergeladen werden: http://www.networkupstools.org/download.html
Einige meiner Skripte und Conf-Dateien sind hier (nur geänderte Zeilen werden angezeigt): http://pastebin.com/KkEeanK1
Anmerkungen:
Natürlich gibt es weitere Details, und es hat einige Zeit gedauert, bis ich das so hinbekommen habe, wie es sollte. Aber jetzt läuft es sehr gut. Dieses System berücksichtigt die Fälle, in denen Sie die Überwachungs-VM nur von innen herunterfahren (das Skript vmware-tools wird nicht ausgeführt) oder wenn es sich um ein vom ESXi-Host initiiertes Herunterfahren der VM handelt (kein Flag / etc / killpower, also keine UPS-Auslastung) Wenn es sich um ein ESXi-Herunterfahren handelt (dasselbe). Das einzig Wichtige ist, dass diese VM nach dem Hochfahren des Hosts so schnell wie möglich ausgeführt und zuletzt heruntergefahren wird (so dass die Ausfallzeit des Hosts vorhersehbar ist - wie oben erwähnt, beträgt sie ungefähr 1 Minute für mich und 2 weitere Minuten, die ich für alle Fälle reserviere).
Meine UPS-Überwachungs-Linux-VM ist auch ein Samba / NFS-Freigabeserver für die Sicherungsspeicherung, der NAT / DHCP-Server für VMs und einige andere leichte Dienste. Im Leerlauf werden etwa 22 MHz ESXi-CPU-Freigaben und etwa 10 MB aktiver RAM benötigt. Durch die Verwendung des NUT können Sie bei Bedarf mehr Geräte von derselben USV mit Strom versorgen und alle können ordnungsgemäß heruntergefahren werden. PowerChute und / oder teure Netzwerkmonitorkarten sind nicht erforderlich.