Ich versende eine Reihe von ESXi 5.1-Servern an Remotestandorte, wo sie über APC UPS mit Strom versorgt werden.
Ich möchte, dass die USV das Herunterfahren des verbundenen Servers auslöst. Ich würde mich dann auf die ESXi-Konfiguration verlassen, um das Herunterfahren / Suspendieren der auf ihr gehosteten VMs zu gewährleisten.
Ich kann sehen, dass APC über eine Lösung verfügt , die mithilfe des PowerChute-Netzwerk-Shutdowns dokumentiert wurde. Hierzu ist jedoch die Einrichtung eines zusätzlichen Servers pro Büro erforderlich. Für jede USV sind Netzwerkkarten erforderlich. In der Regel verwenden wir UPS ohne Netzwerkkarte (z. B. Back-UPS Pro). Sie werden mit einem USB-Anschluss geliefert und sind an den Standorten, an denen sich unsere Büros befinden, problemlos verfügbar.
Wie kann ich eine USV über USB an einen ESXi-Host anschließen, damit ESXi einen Stromausfall erkennt und entsprechend vorgeht? Hat das jemand geschafft?
Antworten:
Laut APC ist dies nicht möglich und Sie müssen das Powerchute-Netzwerk herunterfahren. Wir haben dies einige Male mit USB versucht und keine Lösung gefunden.
VMWare bietet hier Informationen zur Verwendung der von APC genehmigten Lösung.
Würde auch denken, dass SmartUPS eine bessere Wahl wäre und Sie mit Netzwerkkarte passen können. Natürlich mehr Geld, aber wenn Ihre Server überhaupt wichtig sind, sollten sich diese Kosten lohnen. Darüber hinaus erhalten Sie mehr Überwachungs- und Warnfunktionen, die an einem Remotestandort hilfreich sein können. Sie müssen auch eine ausreichende Laufzeit sicherstellen, damit alle VMs ordnungsgemäß heruntergefahren und anschließend der Host heruntergefahren werden kann
quelle
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:
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.
quelle
Super Frage. Das ist eigentlich ganz gut möglich - zumindest bei einigen Setups. Ich habe das folgende Rezept auf einer Reihe von ESXi 5.5-Hosts ausprobiert. Grundsätzlich sieht die Lösung so aus:
ctrl urb status -62
indmesg
angezeigt werden, stimmt der physische Controller möglicherweise nicht mit dem in Ihrer VM überein. Wenn sie zusammenpassen, ist das ein Problem. Ich habe ein Setup mit dieser Art von Problem und keine echte Lösung dafür.apcupsd
auf dem Linux - VM - in Ubuntu, können Siesudo apt-get install apcupsd
die neueste Version zu installieren. Das NUT-Projekt ist auch schön, aber ich bin ein Traditionalist.sudo apt-get install putty-tools
plink root@<your ESXi host IP>
. Sie können die Verbindung sofort beenden. Das Ziel ist es, den Host-Schlüssel zu speichern, damit plink ihn nicht erneut auffordert, wenn wir ihn über ein Skript ausführen/etc/apcupsd/apcupsd.conf
und ändern Sie die Elemente unten, damit sie übereinstimmen:UPSNAME < the name you'd like your UPS to have > UPSCABLE usb UPSTYPE usb # DEVICE DIRECTIVE should be blank for USB DEVICE
Stellen Sie auch sicher, dass/etc/default/apcupsd
hatISCONFIGURED=yes
/etc/apcupsd/apccontrol
und blättern Sie zumdoshutdown
Fall. Lass es so aussehen:doshutdown) echo "UPS ${2} initiated Shutdown Sequence" | ${WALL} # Shut down indirectly by triggering the ESXi host to do the # shutdown via VMWare tools /usr/bin/plink root@< your ESXi host IP > -pw < your root pw > "/sbin/shutdown.sh && /sbin/poweroff" ;;
sudo service apcupsd restart
und prüfen Sie, ob die Dinge funktionieren, indem Sie sie aufrufenapcaccess
. Wenn nicht, überprüfen Sie die Protokolle und dmesgvCenter -> <your host> -> Manage -> Settings -> VM Startup/Shutdown
. Stellen Sie sicher, dass beim Herunterfahren das Gastbetriebssystem heruntergefahren wird.Sobald Sie diese Dinge ausgeführt haben, wird das
doshutdown
Scriptlet aus Schritt 8 bei einem Stromausfall aufgerufen. Dies ruft wiederum das Skript shutdown.sh auf dem ESXi-Host auf, das dem VMWare Tools-Paket in jeder VM auf Ihrem Host signalisiert, über das Gastbetriebssystem ein sauberes Herunterfahren durchzuführen. Nach meiner Erfahrung funktioniert es besser als die PowerChute-Software von APC.Wenn Sie Dinge von Ihren VMs aus überwachen möchten, können Sie darauf Slave-Apcupsd-Instanzen einrichten, die eine Verbindung zur Master-UPS-Steuerungs-Linux-VM herstellen. Ihre Slave-apcupsd.conf-Dateien sollten einen Eintrag wie diesen haben:
UPSTYPE net < your UPS control VM IP >:3551
Einträge wie
UPSCABLE
und solche spielen in diesem Fall keine Rolle. Dies funktioniert auch mit der Windows-Version vonapcupsd
( hier verfügbar ). Sie können den enthaltenen verwendenapctray.exe
, um den aktuellen Status der Dinge zu überprüfen.Das deckt es ziemlich gut ab, denke ich.
quelle
doshutdown
Reihenfolge ein wenig anpassen mussten . Wir haben${APCUPSD} --killpower
direkt vor dem/usr/bin/plink
Teil hinzugefügt, damit die USV nach einer Weile herunterfährt und automatisch neu startet, wenn die Stromversorgung wieder hergestellt ist. Es ist auch erwähnenswert, dass Schritt 6 so ausgeführt werden sollte, wie erroot
übersu
oder erworben wurdesudo su
, aber nichtsudo -s
.Sie können die Passthrough-Funktion für USB-Geräte auch für einen Gast verwenden, auf dem PowerChute oder eine andere Software ausgeführt wird, die den Zustand der USV überwachen und ein Herunterfahren auf dem ESXi-Host auslösen kann (z . B. apcupsd ). ESXi unterstützt offiziell nur eine sehr begrenzte Anzahl von USB-Geräten für das Passthrough , aber die Benutzer haben bereits seit einiger Zeit mit unterschiedlichem Erfolg verschiedene Geräteklassen angeschlossen und durchlaufen, aber die APC UPS USB scheint für eine Windows-VM gemäß dieser exemplarischen Vorgehensweise zu funktionieren oder dieses für eine CentOS Linux VM .
quelle
Schauen Sie sich von hier aus den vSphere Management Assistant (vMA) an. Wir verwenden ihn in meinem Büro, um das zu tun, was Sie versuchen, jedoch mit einer über USB angeschlossenen Smart-UPS anstelle einer Back-UPS.
quelle
Obwohl dies möglich ist (wahrscheinlich / allgemein), halte ich ein automatisiertes Herunterfahren eines Computers im Akkubetrieb nicht für eine gute Idee. Wenn Sie dies tun, sollten Sie sich aus praktischen Gründen wahrscheinlich nur das Geld einer batteriegepufferten USV sparen und sich vom Stromausfall ausschalten lassen. (Zugegeben, ein sauberes Herunterfahren ist immer einem Stromausfall vorzuziehen, aber es scheint, als würden Sie eine Akkulaufzeit von mehr als ein paar Minuten verpassen, wenn Sie jedes Gerät automatisch herunterfahren, wenn Sie die Stromversorgung verlieren. )
Ich habe es immer so gehandhabt, dass die Überwachung die SAs alarmiert, wenn der Strom ausfällt, sodass die SAs anhand ihrer grauen Zellen entscheiden können, wann (oder sogar wenn) sie die Server herunterfahren. Wenn es sich um einen kurzen Ausfall handelt, ist es möglicherweise keine gute Idee, die Server herunterzufahren, oder Sie möchten einige Server so lange wie möglich in Betrieb lassen und sie erst herunterfahren, bevor der Akku leer ist. Es scheint mir wirklich eine Entscheidungsaufgabe zu sein, die eher für einen Menschen als für eine einfache Regel geeignet ist.
quelle
In den alten Tagen der Baremetal-Installation war APC PowerChute Plus ein wesentlicher Bestandteil meines Installationsprozesses. Mit dem einfachen seriellen Signalkabel und der reinen Red Hat-Binärdatei konnten Regeln zur Steuerung eines lokal angeschlossenen Servers einfach eingerichtet werden. Grundlegende E-Mail-Benachrichtigungen für UPC-Batterieereignisse, Netzstromereignisse und Abschaltaktionen waren verfügbar:
und
oder
Plus eine vernünftige Schnittstelle, um zu sehen, was passiert ist ...
Diese Software wurde schließlich kommerziell (oder auf der APC-Website vergraben). Es gab einige Open-Source-Ansätze, um etwas Ähnliches bereitzustellen. Bei einzelnen VMWare ESXi-Hosts wird dies jedoch kompliziert.
Anscheinend sollte VMWare dies in den Basishypervisor integrieren. Es ist grundlegend und könnte ein angemessenes Maß an Schutz für Benutzer bieten. Die häufigsten Abhilfemaßnahmen, die ich jetzt sehe, sind USB-Passthrough zu einer dedizierten VM, ein Netzwerk-Daemon-Ansatz oder das, was ich tue. keine automatische Abschaltung oder Batterieabschaltung konfigurieren ...
Zugegeben, ich setze normalerweise eine USV ein, die die Systemlast mindestens eine Stunde lang unterstützt, es kommt jedoch zu längeren Ausfällen. Möglicherweise besteht eine Alternative darin, ein paar kostengünstige oder generalüberholte Netzwerkkarten zu sammeln und mindestens SmartUPS-Geräte zu kaufen ...
quelle
Überprüfen Sie den folgenden Link . Nicht die eleganteste Lösung, aber eine sehr praktische, sehr einfache Lösung. Es gibt mögliche Sicherheitsmängel (abhängig von Ihrem speziellen Netzwerkdesign, den auf den Hosts geladenen Gästen und den Zugriffsrechten der Benutzer auf diese Gäste, aber Sie können diesen Anruf tätigen.
quelle
Ich habe die MrMajestyk-Lösung verwendet und nur den SSH-Zugriff über plink mit SSH-Zugriff ohne Kennwort mit dem öffentlichen RSA-Schlüssel geändert. Der in der apcupsd-VM generierte RSA-Schlüssel muss in / etc / ssh / keys-root / authorized_keys des VMware-Hosts enthalten sein.
quelle