Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

APC-USV über USB ansprechen und ESX herunterfahren

Moderatoren: irix, Dayworker

Member
Beiträge: 84
Registriert: 17.07.2013, 15:42

Beitragvon leo » 02.06.2014, 14:47

@Fachixx
Bitte den Inhalt von /var/log/doshutdown posten

@PeterDA
Es geht um eine USV-Anbindung einer einzelnen ESXI-Maschine über USB, ich glaube nicht, dass dort ein HA läuft

Member
Beiträge: 23
Registriert: 14.10.2013, 09:10

Beitragvon Fachixx » 16.06.2014, 14:42

Die Datei doshutdown existiert unter /var/log nicht.

Edit: Hab das Skript jetzt nochmal manuell gestartet über das Terminal. Alles prima! Jetzt ist die Datei doshutdown unter /var/log erstellt worden. Drin stehen tut aber nichts. Automatisch funktioniert das Skript aber immernoch nicht.

Achja, ich weiß nicht ob das hier hin gehört. Aber mir disconnected seit geraumer Zeit dauernd der ESX-Host obwohl er an ist. Woran kann das liegen? Hab am vCenter Server auch probeweise schon die Firewall ausgeschaltet.

Member
Beiträge: 84
Registriert: 17.07.2013, 15:42

Beitragvon leo » 16.06.2014, 15:43

Anscheinend ist das Script noch nicht richtig eingebunden.

Vielleicht hilft das weiter:
http://www.apcupsd.org/manual/manual.ht ... t-handling

Member
Beiträge: 23
Registriert: 14.10.2013, 09:10

Beitragvon Fachixx » 23.06.2014, 08:41

Welche Einstellungen müssen eigentlich im vCenter gemacht werden? Also welche Shutdown-Reihenfolge sollen die Server bekommen und was für eine Art "Automatically/Manual/o.a."?

Edit: Gerade nochmal einen Test gemacht. Er meldet bei Stromausfall im Terminal, das auf Reststrom gearbeitet wird. Wenn das entsprechende Batterylevel erreicht ist kommt ein schwarzer Bildschirm wo Text runter läuft. Letztendlich fährt er nur den Debian Server herunter, sprich er gibt kein "halt"-Befehl an den ESX-Host weiter, obwohl ich per ssh den ESX-Host manuell runterfahren kann.

Die von dir verlinkte Seite habe ich mir durchgelesen. Ich verstehe zwar nun wie alles ineinander greift, aber warum es bei mir nicht greift verstehe ich nicht.

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Beitragvon Dayworker » 16.08.2015, 14:23

leo hat geschrieben:auf Debian APC über USB einbinden und damit den ESXI-Host herunterfahren:

apt-get install apcupsd
apt-get install putty-tools

/etc/apcupsd/apcupsd.conf:

Code: Alles auswählen

UPSCABLE usb
UPSTYPE usb
DEVICE


neue Datei anlegen /etc/apcupsd/doshutdown:

Code: Alles auswählen

#!/bin/sh
echo y | plink root@192.168.3.4 -pw xyz halt >> /var/log/doshutdown 2>&1
exit 99


chmod 755 doshutdown

/etc/apcupsd/killpower am Ende ändern:

Code: Alles auswählen

#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol before
# apcupsd kills the power in the UPS. You probably
# need to edit this to mount read-only /usr and /var,
# otherwise apcupsd will not run.

# Choose one of this solution
#mount -n -o ro /usr
#mount -n -o ro /var
#
#mount | awk '/ext2/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done
#mount | awk '/ext3/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done
#mount | awk '/reiserfs/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done

# exit 0
# exit-code geaendert auf 99, um poweroff zu deaktivieren
exit 99


service apcupsd restart
Das läuft so eigentlich auch unter Ubuntu 14.04LTS ganz gut, aber dort werden einem kaum auslesbare Daten angezeigt. Sowohl Spannungen als auch USV-Temperatur und vor allem die Restzeit werden immer mit Null angezeigt. Ich habe mir daraufhin mal die originalen Sourcen von http://www.apcupsd.org/ besorgt und diese nach dem Compilieren installiert. Leider ändert das am Ergebnis rein garnix. Funktion wie gehabt ja, aber alle Datenausgaben auf Null und damit unbrauchbar. Die Windows-Version hat dieses Problem übrigens nicht, erfordert aber wie das Linux-Recompilat doch einige Config-Eingriffe, da sich die im Web beschriebenen Wege aufgrund von Programmänderungen so nicht umsetzen lassen...

Member
Beiträge: 15
Registriert: 05.04.2016, 15:06
Wohnort: Kist
Kontaktdaten:

Beitragvon Independis GmbH » 05.04.2016, 15:33

Heyho,

auch wenn der Thread ein bisschen älter ist. Wir haben als Firma das Problem auch öfter gehabt und eine Lösung dazu gebaut. Zuerst nur für uns selbst, was für uns und unsere Kunden schon wunderbar funktioniert. Seit kurzem bieten wir eine etwas benutzerfreundlichere Variante zum Beta Testen an.

Vorteil:
Kein Skripten, keine unverschlüsselten Passwörter, keine Workarounds
alle gängigen USVs sind verwendbar, auch die ohne Netzwerkkarte
die wichtigsten Systeme sind steuerbar (Windows, Linux, ESXi mit komplexen VM-Strukturen)

Nachteil:
Original APC Software läuft nicht gleichzeitig (wir können nur mit den original windows Treibern arbeiten und APC ersetzt die)

Also hiermit laden wir alle ein, unsere Lösung auszuprobieren, zu kritisieren und letztendlich noch besser zu machen.

www.opmonis.de/de/downloads

Guru
Beiträge: 2730
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 05.04.2016, 17:03

Da meine Installationen - wenn überhaupt - nur über einen physischen Linux-Server verfügen, würde mich interessieren, ob diese Lösung auch mit einer Windows VM funktioniert, die die USV per USB-Passthrough durchgereicht bekommt.

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Beitragvon Dayworker » 05.04.2016, 17:14

Ein Produkt zu testen, ist ja nicht schlecht. Aber zum einen nennt euer Whitepaper für Windows keine DotNET-Version sondern nur den Gebrauch der solchen und zum anderen wird die vSphere-API herangezogen. Gerade letztere ist ein Problem, da diese bekanntlich nur bei den bezahlten ESXi-Versionen in gänze nutzbar ist. Wie sich aus den Postings im Thread ergibt, kommt aber gerade der vSphere Hypervisor zum Einsatz und genau deshalb kommt man um diese Fummelei - zumindest momentan - eben nicht herum.
Sobald ein vCenter und eine von der APC-Appliance unterstützte USV vorliegt, kann man sich das Leben auch einfacher machen, indem man die Appliance nutzt und die HA-Geschichte kann man damit auch lösen.

Member
Beiträge: 15
Registriert: 05.04.2016, 15:06
Wohnort: Kist
Kontaktdaten:

Beitragvon Independis GmbH » 06.04.2016, 14:56

Heyho,

@thc Ja, die Lösung funktioniert auch mit einer Windows VM und auch wenn man die USV per Passthrough durchreicht. Die Bedingung ist, daß die USV unter Windows als Batterie angezeigt wird. Im speziellen Fall APC muss dafür der Original Windows Treiber wieder aktiviert werden (Die APC Software ersetzt den Treiber und unterdrückt damit das Erkennen als Batterie. Die Treiber lassen sich jedoch relativ einfach und sogar im laufenden Betrieb switchen, so dass man bei Bedarf auch wieder die APC Software zur Verfügung hat )

@Dayworker Vielen Dank für den Hinweis mit der Versionsnummer für .NET. Die Versionsnummer ist 4.5 und wird im Whitepaper angepasst. Richtig ist ebenfalls, daß die API nur bei den bezahlten ESXi-Versionen funktioniert. Auch unsere Lösung ist darauf angewiesen.

Unser Hauptaugenmerk lag darauf, daß wir nicht im Klartext Passwörter in einer Batch-Datei liegen haben wollen. Dieses Problem hat jedes Workaround / Script, welches ich bisher gesehen habe.

Gruß
Dominique

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Beitragvon Dayworker » 06.04.2016, 18:25

Man muß auch in einer Batchdatei nicht unbedingt Passwörter im Klartext hinterlegen. Wenn man den Shutdown für den vSphere Hypervisor oder allgemein die Nutzung von "apcupsd" sowieso scripten muß, kann man die Authentifizierung per SSH doch sicherlich auch mit Zertifikaten erledigen.

Aber ansonsten könnte eure Anwendung sehr nützlich sein, speziell die Unabhängigkeit von der USV-HW hat da ihre Reize.

Member
Beiträge: 186
Registriert: 01.12.2015, 18:35

Beitragvon Stefan.r » 06.04.2016, 22:23

Independis GmbH hat geschrieben:Heyho,

@thc Ja, die Lösung funktioniert auch mit einer Windows VM und auch wenn man die USV per Passthrough durchreicht. Die Bedingung ist, daß die USV unter Windows als Batterie angezeigt wird. Im speziellen Fall APC muss dafür der Original Windows Treiber wieder aktiviert werden (Die APC Software ersetzt den Treiber und unterdrückt damit das Erkennen als Batterie. Die Treiber lassen sich jedoch relativ einfach und sogar im laufenden Betrieb switchen, so dass man bei Bedarf auch wieder die APC Software zur Verfügung hat )

@Dayworker Vielen Dank für den Hinweis mit der Versionsnummer für .NET. Die Versionsnummer ist 4.5 und wird im Whitepaper angepasst. Richtig ist ebenfalls, daß die API nur bei den bezahlten ESXi-Versionen funktioniert. Auch unsere Lösung ist darauf angewiesen.

Unser Hauptaugenmerk lag darauf, daß wir nicht im Klartext Passwörter in einer Batch-Datei liegen haben wollen. Dieses Problem hat jedes Workaround / Script, welches ich bisher gesehen habe.

Gruß
Dominique


ihr benutzt das Vsphere SDK oder?

Member
Beiträge: 15
Registriert: 05.04.2016, 15:06
Wohnort: Kist
Kontaktdaten:

Beitragvon Independis GmbH » 20.04.2016, 16:49

@Stefan.r

Heyho, genaugenommen verwenden wir das vSphere Web Services SDK.

@Dayworker

Danke für die Einschätzung, daß unsere Software nützlich sein könnte, das hoffen wir doch sehr. Und natürlich hast Du Recht, dass, wenn man scriptet auch gleich mit Zertifikaten herumbasteln kann. Genau davon wollten wir ja weg ;-), zumindest im Business Bereich.

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Beitragvon Dayworker » 21.04.2016, 21:41

Eure SW wäre auch abseits des Businessbereichs für den kostenlosen vSphere Hypervisor interessant, weil man sich damit deutlich unabhängiger vom USV-Hersteller machen würde. Allerdings ist dessen eingeschränkte API ein extremer Hemmschuh. :(

In welchem Umfang gestattet eigentlich eure SW die Beeinflussung des sauberen Shutdowns, wenn man die originalen USV-Treiber von Windows verwendet?
Soweit mir von unserem Win7 bekannt ist, sind dort die Einstellmöglichkeiten relativ beschränkt, was im Notfall abläuft. Falls der Shutdown länger als 30sec dauert, garantiert Winzigweich kein sauberes Abschalten mehr und sobald mehr als eine VM läuft, reißt man diese Zeit in jedem Fall. Wir können uns darüber auch gerne in einem eigenständigen Thread austauschen.

Member
Beiträge: 15
Registriert: 05.04.2016, 15:06
Wohnort: Kist
Kontaktdaten:

Beitragvon Independis GmbH » 22.04.2016, 17:13

Heyho,

ja, ich glaube auch, dass die SW für den kostenlosen Bereich interessant wäre. Man muss halt von irgendwas leben, deshalb lag der Fokus erstmal auf dem Businessbereich. Trotzdem machen wir uns auch da (zumindest gedanklich) drüber. Wenn weitere sinnvolle Gedanken dazu aus dem Forum kämen wäre das sicher eine große Hilfe / Anreiz. Ein separater Thread könnte da tatsächlich sinnvoll sein.
Eine Möglichkeit die eingeschränkte API zu umgehen wäre über SSH / esxcli den Shutdown-Command zu triggern. Müsste man mal probieren ob das funktioniert. Das sollte relativ problemlos in die SW integrierbar sein.

Zu den Fragen, falls ich die Anliegen richtig verstanden habe:
1) Wir beeinflussen den sauberen Shutdown gar nicht. Der originale Treiber wird nur benötigt, damit die USV wieder als Batterie erkannt wird und so die Ladestände abfragbar sind.
2) Windows hat einen Default Timeout von 20 Sekunden, um beim Herunterfahren auf das Beenden von Diensten zu warten. Hierauf nehmen wir erst mal keinen Einfluss. Über die Registry (WaitToKillServiceTimeout) lässt sich dieser Timeout aber konfigurieren.
3) Werden viele virtuelle Maschinen gleichzeitig heruntergefahren, kann der 20 Sekunden Timeout beim Stoppen der Dienste schon Probleme machen. Deswegen lässt sich in OPMONis der Shutdown der virtuellen Maschinen so konfigurieren, dass diese einzeln der Reihe nach gestoppt werden um somit die Last auf den Host zu verringern.
4) Zusätzlich setzt OPMONis beim Triggern des Shutdowns das „forced“ Flag. Somit werden laufende Windows Anwendungen, die sich nicht freiwillig beendet, von Windows abgeschossen (was ja eh passiert wäre wenn der Strom endgültig weg ist).

Wenn Du magst kannst du gerne einen Thread an die richtige Stelle tackern, Du kennst dich hier im Forum besser aus ;-)

Greetz
Dominique

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Beitragvon Dayworker » 24.04.2016, 13:46

Für alles zu OPMONis von der Independis GmbH habe ich den Thread OPMONis von der Independis GmbH im Forenbereich "3rd Party Zubehör und Produkte" erstellt.
Bitte alle Fragen rund um diesen Produkt in den neuen Thread, danke.

Member
Beiträge: 1
Registriert: 06.12.2016, 15:41

Re:

Beitragvon Riza-Aslan » 07.12.2016, 10:57

Dayworker hat geschrieben:
leo hat geschrieben:auf Debian APC über USB einbinden und damit den ESXI-Host herunterfahren:

apt-get install apcupsd
apt-get install putty-tools

/etc/apcupsd/apcupsd.conf:

Code: Alles auswählen

UPSCABLE usb
UPSTYPE usb
DEVICE


neue Datei anlegen /etc/apcupsd/doshutdown:

Code: Alles auswählen

#!/bin/sh
echo y | plink root@192.168.3.4 -pw xyz halt >> /var/log/doshutdown 2>&1
exit 99


chmod 755 doshutdown

/etc/apcupsd/killpower am Ende ändern:

Code: Alles auswählen

#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol before
# apcupsd kills the power in the UPS. You probably
# need to edit this to mount read-only /usr and /var,
# otherwise apcupsd will not run.

# Choose one of this solution
#mount -n -o ro /usr
#mount -n -o ro /var
#
#mount | awk '/ext2/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done
#mount | awk '/ext3/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done
#mount | awk '/reiserfs/ { print $3 }' | while read line; do
#       mount -n -o ro,remount $line
#done

# exit 0
# exit-code geaendert auf 99, um poweroff zu deaktivieren
exit 99


service apcupsd restart
Das läuft so eigentlich auch unter Ubuntu 14.04LTS ganz gut, aber dort werden einem kaum auslesbare Daten angezeigt. Sowohl Spannungen als auch USV-Temperatur und vor allem die Restzeit werden immer mit Null angezeigt. Ich habe mir daraufhin mal die originalen Sourcen von http://www.apcupsd.org/ besorgt und diese nach dem Compilieren installiert. Leider ändert das am Ergebnis rein garnix. Funktion wie gehabt ja, aber alle Datenausgaben auf Null und damit unbrauchbar. Die Windows-Version hat dieses Problem übrigens nicht, erfordert aber wie das Linux-Recompilat doch einige Config-Eingriffe, da sich die im Web beschriebenen Wege aufgrund von Programmänderungen so nicht umsetzen lassen...


Wahrscheinlich kommt die Lösung für dich viel zu spät, aber vielleicht ist zumindest einigen anderen damit geholfen.

Ich hatte das Problem auch mit Ubuntu Server 16.04 und mir ist dann eine Fehlermeldung beim starten von Ubuntu aufgefallen. Irgendetwas mit generic-usb 0003:051D:0002.0003. Eine Suche nach dem Fehler brachte mich auf diese Seite: http://it74.net/techblog/vmware-ubuntu-server-apc-ups-usb/. Durch die Google-Übersetzung gejagt, steht da:

Wenn es Fehler gibt
der Kernel: Treiber / versteckte / usbhid / HID-core.c: usb_submit_urb (die Abfrage) der gescheiterten
den Kernel: die generic-den USB - 0003: 051D: 0.002,0003: Timeout Initialisierung Berichte

So ist die Art von USB-Controller xHCI nicht gewählt worden!


Und das war tatsächlich das Problem. Du musst als USB-Controller in den Einstellungen der VM "xHCI" (also USB 3.0) wählen. Dann bekommst du auch alle Daten von der USV. Ich schätze mal, dass der USB 2.0-Controller (oder der Treiber) die Daten nicht richtig an die VM liefern kann. Inzwischen hab ich nun auch apcupsd-cgi zum laufen gebracht (hatte Probleme CGI auf dem Server zum laufen zu bringen).

Die aktuellen deb-Pakete bekommst du übrigens hier: http://ftp.de.debian.org/debian/pool/main/a/apcupsd/

Nun muss ich eigentlich nur noch schauen ob denn auch der Shutdown des ESXi funktioniert (hab bisher noch keinen Ausfall simuliert) und gegebenenfalls die Einstellungen anpassen, wann das System herunterfahren soll usw.

King of the Hill
Beiträge: 13560
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Re: APC-USV über USB ansprechen und ESX herunterfahren

Beitragvon Dayworker » 07.12.2016, 18:23

Danke für die Meldung, schau ich mir mal bei nächster Gelegenheit an.


Zurück zu „vSphere 5.5 / ESXi 5.5“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste