GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie Ihr APC-Batterie-Backup-System mit diesem Linux-Befehl

In den Anfängen der Personal Computer habe ich den IBM-Schulungskurs für den ursprünglichen IBM-PC geschrieben. Um den Kurs rechtzeitig für das IBM-, ComputerLand- und Sears-Training abzuschließen, gab mir IBM einen PC, den ich mit nach Hause nehmen konnte, damit ich abends und am Wochenende arbeiten konnte – wohl das erste Mal, dass jemand einen IBM-PC zu Hause hat.

Ich habe diese Arbeit in Boca Raton, Florida, gemacht, wo das kleine lokale Energieunternehmen aus gutem Grund allgemein als „Florida Flicker and Flash“ bekannt war. Die kurzen, aber häufigen Stromausfälle führten dazu, dass ich mehr als einmal meine Arbeit verlor. Leider gab es keine unterbrechungsfreien Stromversorgungssysteme (USV), um meinen PC während dieser lästigen und manchmal zerstörerischen Vorfälle am Laufen zu halten.

Eine USV hält einen Computer lange genug am Laufen, um kleinere Stromereignisse wie Ausfälle und Überspannungen von einigen Sekunden bis zu 20 oder 30 Minuten zu überstehen. Bei diesen längeren Ausfällen besteht die Funktion der modernen USV darin, den Computer zum Herunterfahren zu benachrichtigen, bevor die Batterieleistung der USV erschöpft ist. Andernfalls kann der plötzliche Stromausfall zu Datenverlust führen.

Der Computer und die USV kommunizieren über ein serielles oder USB-Kabel. Ein Systemdienst verwaltet die Kommunikation und sendet entsprechende Befehle an die USV und den Computer. Windows-Computer verwenden im Allgemeinen eine kostenlose Version der vom USV-Anbieter bereitgestellten Software. Das Dienstprogramm apcupsd unterstützt jedoch Linux, Windows, BSD, Solaris und macOS und sorgt so für Konsistenz über Betriebssysteme hinweg.

Dieser Satz von Tools unterstützt APC-USV-Systeme und bietet unterschiedliche Unterstützungsgrade für USV-Systeme, die von Tripp-Lite, CyberPower und anderen hergestellt werden. Ich habe derzeit USV-Systeme von allen drei dieser Hersteller, die in Netzwerken laufen, für die ich verantwortlich bin. Ich habe keine Liste der unterstützten USV-Systeme gefunden. Auch die apcupsd-Dokumentation ist diesbezüglich nicht hilfreich, und ich habe bei keiner Websuche etwas Eindeutiges gefunden.

Beachten Sie, dass der Teil „APC“ in den Namen dieser Tools darauf hinweist, dass sie für APC-USV-Systeme entwickelt wurden. Ihre Wirksamkeit auf den Systemen anderer USV-Anbieter hängt davon ab, wie genau sie die APC-Verwaltungsschnittstelle befolgen.

apcupsd unter Linux installieren

Da es im Fedora-Repository verfügbar ist, ist die Installation von apcupsd einfach. Führen Sie den folgenden Befehl als root aus, um apcupsd zu installieren:

# dnf -y install apcupsd

Die folgenden Befehle starten und aktivieren apcupsd, sodass es nach Neustarts neu gestartet wird.

# systemctl start apcupsd ; systemctl enable apcupsd

Auch andere Distributionen haben apcupsd in ihren Repositories.

Grundlegende Verwendung

An diesem Punkt wurde der apcupsd-Daemon gestartet, sodass Sie mit apcaccess mit ihm interagieren können Befehl. Dieser Befehl ohne Optionen generiert einen Statusbericht, der den aktuellen Zustand der USV beschreibt.

[root@test ~]# apcaccess
APC      : 001,033,0831
DATE     : 2021-11-30 21:08:10 -0500  
HOSTNAME : test.both.org
VERSION  : 3.14.14 (31 May 2016) redhat
UPSNAME  : test.both.org
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2021-11-27 13:08:58 -0500  
MODEL    : CP1500PFCLCDa
STATUS   : ONLINE
LINEV    : 120.0 Volts
LOADPCT  : 32.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 22.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 120.0 Volts
DWAKE    : -1 Seconds
LOTRANS  : 100.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 Seconds
NUMXFERS : 2
XONBATT  : 2021-11-30 13:46:03 -0500  
TONBATT  : 0 Seconds
CUMONBATT: 5 Seconds
XOFFBATT : 2021-11-30 13:46:06 -0500  
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : CXXLT2001977
NOMINV   : 120 Volts
NOMPOWER : 1000 Watts
END APC  : 2021-11-30 21:08:17 -0500  
[root@test ~]#

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

In der obigen Ausgabe gibt es drei Felder von besonderem Interesse für die Verwaltung der Batteriesicherung. Der Lastprozentsatz (LOADPCT) gibt an, wie viel Last auf die USV gelegt wird. Wenn das Gerät angeschlossen und mit Strom versorgt wird, sollte die Batterieladung (BCHARGE) 100 % betragen, sie wird jedoch niedriger sein, wenn die externe Stromversorgung entfernt wird. Die LINKE ZEIT ist das Feld der größten Sorge. In diesem Beispiel kann die USV bei einem Stromausfall 22,5 Minuten lang mit der aktuellen Last laufen.

Andere Elemente, die Sie sich ansehen sollten, sind die CUMONBATT-Linie, die die kumulierte Zeit ist, die die USV im Batteriebetrieb war. Dieses Feld akkumuliert alle Stromausfallzeiten über mehrere Ereignisse. Die TONBATT-Linie ist die Zeit für ein aktuelles Stromausfallereignis.

Die Manpage für apcaccess beschreibt den Rest der Datenelemente in dieser Ausgabe. Die angezeigten Daten können je nach USV-Modell unterschiedlich sein.

Verwaltung der USV

In der Ausgabe von apcaccess obigen Befehl lautet die SELFTEST-Zeile NO . Diese Antwort bedeutet, dass an dieser USV seit dem letzten Start von acpupsd kein Selbsttest durchgeführt wurde. Normalerweise ist dies der Zeitpunkt des letzten Systemstarts. Auf den meisten USV-Systemen werden alle sieben Tage Selbsttests durchgeführt, aber Sie können einen mit apctest starten Befehl.

Leider ist der apctest Der Befehl steht in Konflikt mit dem apcupsd-Daemon, daher müssen Sie apcupsd vorübergehend stoppen. Dann können Sie apctest starten, das eine menübasierte Schnittstelle verwendet.

[root@myserver ~]# systemctl stop apcupsd 
[root@myserver ~]# apctest


2021-12-01 06:36:47 apctest 3.14.14 (31 May 2016) redhat
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = USB Cable
mode.type = USB UPS Driver
Setting up the port ...
Doing prep_device() ...

You are using a USB cable type, so I'm entering USB test mode.
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing USB UPSes.

Getting UPS capabilities...SUCCESS

Please select the function you want to perform.

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
Q) Quit

Select function number:

Warnung: Achten Sie darauf, nicht versehentlich Punkt 1 zu wählen, da dies die USV und damit den Computer ausschaltet.

Geben Sie 2 ein und drücken Sie die Eingabetaste, um einen USV-Selbsttest auszuführen. Beachten Sie, dass das Menü erneut angezeigt wird, bevor der Selbsttest genügend Zeit hatte, um abgeschlossen zu werden, sodass das Ergebnis IN PROGRESS ist . Dieses Ergebnis stammt von der CyberPower USV. Das Programm hat auf den Abschluss des Selbsttests auf einer APC-USV gewartet, bevor es zum Menü zurückgekehrt ist.

<snip>
Select function number: 2


This test instructs the UPS to perform a self-test
operation and reports the result when the test completes.

Clearing previous self test result...CLEARED
Initiating self test...INITIATED
Waiting for test to complete...COMPLETED
Result of last self test: IN PROGRESS

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
 Q) Quit

Die USV gibt einen Piepton aus, um anzuzeigen, dass der Selbsttest abgeschlossen ist. Das spezifische Signaltonmuster kann je nach USV-Anbieter und -Modell unterschiedlich sein. Mein CyberPower CP1500PFCLCDa gibt zwei kurze Pieptöne von sich. Der Alarm ertönt nicht, wenn er manuell stummgeschaltet wurde.

Nachdem der Selbsttest abgeschlossen ist, verwenden Sie Menüpunkt 3, um das Ergebnis abzulesen. In diesem Fall hat meine USV den Selbsttest bestanden.

Select function number: 3

Result of last self test: PASSED

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
 Q) Quit

Select function number:

Die meisten dieser anderen Menüoptionen funktionieren auf meinen CyberPower-Geräten nicht, aber wie erwartet auf APC-USV-Geräten.

Die Batteriekalibrierung kann bei unterstützten USV-Systemen verwendet werden, wenn die USV-Schätzung der verbleibenden Laufzeit falsch ist. Diese Option trennt die USV von der Hauptstromversorgung und lässt den Computer im Akkubetrieb laufen, bis er auf etwa 10 % seiner maximalen Ladung entladen ist. Diese Methode ermöglicht eine genauere Schätzung der Akkulaufzeit.

Achten Sie darauf, apcupsd neu zu starten, nachdem Sie das apctest-Menü verlassen haben.

Abschließende Gedanken

Die apcupsd-Programmsuite bietet einfache Tools zum Überwachen und Verwalten von APC-USV-Systemen und funktioniert in unterschiedlichem Maße mit USV-Systemen anderer Anbieter. Es bietet intelligenten Schutz vor Stromausfällen und ein verwaltetes Herunterfahren, wenn ein Stromausfall bis zum Rand der Batterieladung andauert.

Der Hintergrund-Daemon apcupsd funktioniert mit den meisten modernen USV-Systemen und kann eine Abschaltsequenz auf dem Computer einleiten, wenn die USV-Batterie zu schwach wird. Ich habe festgestellt, dass dies bei allen drei Anbietern der Fall ist, für die ich USV-Systeme habe. Andere Funktionen, die mit dem Programm apctest zugänglich sind, sind problematisch. Einige dieser Funktionen funktionieren möglicherweise, andere nicht. Dies hängt von der Marke und dem Modell Ihres USV-Systems ab.

Die wichtigste Überlegung für mich ist, dass die apcupsd-Software ausreichend mit der USV kommunizieren kann, um einen Ausschaltbefehl an den Computer zu senden, wenn die USV-Batterie schwach wird. Das zweite, was mich interessiert, sind die Informationen, die von apcaccess verfügbar sind Befehl. Der Rest ist einfach nice to have.

Für diejenigen, die eine GUI-Schnittstelle bevorzugen, sind sowohl CGI-Web- als auch GUI-Schnittstellen im Fedora-Repository verfügbar.

Die apcupsd-Software ist ausgereift und stabil. Die Entwicklung beschränkt sich auf die Behebung von Fehlern. Es wäre schön, USV-Systeme von anderen Anbietern als APC besser unterstützen zu können. Dazu müssten die Anbieter zusammenarbeiten und die vollständige Kommunikationsschnittstelle der APC-Software unterstützen.

Support ist auf der SourceForge-Seite des Projekts über die Mailinglisten verfügbar.


Linux
  1. Überwachen Sie Ihr Linux-System in Ihrem Terminal mit procps-ng

  2. Linux-Sicherheit:Schützen Sie Ihre Systeme mit fail2ban

  3. So verwalten Sie Ihren Linux-Befehlsverlauf

  4. Erfahren Sie mehr über Ihr Linux-System mit inxi

  5. So bringen Sie Ihr System zum Absturz:Gefährliche Linux-Befehle

So erstellen Sie eine Sicherung mit dem tar-Befehl unter Linux

So verwalten Sie Ihre Passwörter mit Enpass unter Linux

So retten Sie Ihr Windows- oder Linux-System mit Rescatux

Linux-Verfügbarkeitsbefehl mit Beispielen

So installieren Sie Sysdig, um Ihr Linux-System zu überwachen

Verwalten Sie Ihre Server mit Cockpit Linux