Nachdem wir immer wieder Probleme mit unseren USV-Anlagen (schwache Batterie und Probleme mit dem Netzkommando) an unseren zwei Servern hatten, haben wir uns entschlossen die alten eigentlich für den Desktopeinsatz vorgesehenen Geräte durch ein leistungsfähigeres Gerät für den Serverbetrieb zu ersetzen.
Da wir bereits zuvor unter ubuntu mit dem USV Dienst apcupsd sowie einer APC USV gearbeitet haben, lag der Entscheid nahe wieder ein Gerät vom Hersteller APC zu erwerben.

Nach kurzer Selektion entschieden wir uns für das Model APC smartUPS 1000.

 

APC Smart-UPS 1000

Quelle: http://www.apc.com

Da die USV nun für zwei Server zuständig ist, musste die Software, die das automatische Herunterfahren der Server bei längerem Stromausfall steuert, im Master/Slave Modus konfiguriert werden.
Die USV ist mit dem Masterserver durch ein serielles Kabel (RS-232) verbunden. Durch diese Verbindung lassen sich die wichtigsten Daten der USV auslesen.
Der Slave-Server bezieht seine Informationen vom Masterserver über eine Ethernet Verbindung.

Der apcupsd Dienst übernimmt je nach Konfiguration die Funktion des Master oder Slave Servers.
Zur Überwachung der expliziten Werte verwende ich das apcupsd-cgi Paket in Verbindung mit einem Apache Server.

Die Installation von apcupsd und apcupsd-cgi gestaltet sich unter ubuntu wie folgt:

  • Die Pakete befinden sich in den Quellen und lassen sich via:

    sudo apt-get install apcupsd apcupsd-cgi

    installieren

  • Das Konfigurationsfile unter /etc/apcupsd/apcupsd.conf gemäss folgenden Beispielen bearbeiten
  • Die Datei /etc/default/apcupsd öffnen und is_configured=yes einfügen/überschreiben
  • Dienst neu starten mit

    sudo /etc/init.d/apcupsd restart

  • Das Monitoring-Tool ist erreichbar über http://servername/usv/multimon.cgi
    Zuvor muss allerdings noch die Apache Konfiguration angepasst werden

# apc ups scripts
ScriptAlias /usv/ /usr/lib/cgi-bin/apcupsd/
<directory „/usr/lib/cgi-bin/apcupsd“>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</directory>

Master /etc/apcupsd/apcupsd.conf:

UPSNAME SchmidUSV
UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyS0
NOLOGINDIR /etc
ONBATTERYDELAY 6
BATTERYLEVEL 15
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

Slave /etc/apcupsd/apcupsd.conf:

UPSNAME RadonUPS
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.1.38:3551
LOCKFILE /var/lock
ONBATTERYDELAY 10
BATTERYLEVEL 20
MINUTES 3.5
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 127.0.0.1
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
NETTIME 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0