Derzeit wird beim Ausfall einer der beiden USV der doshutdown ausgeführt Ereignis ausgelöst und führt das Standardskript über apccontrol aus . Das doshutdown Das Skript ignoriert die zweite USV, da sie nicht ereignisgebunden ist, und fährt normal mit dem Herunterfahren fort.
Um das doshutdown zu haben Ereignisse etwas miteinander verbunden sind, benötigen die beiden Instanzen von apcupsd eine speziell angepasste Konfigurationsdatei. Der Unterschied liegt in dem Verzeichnis, aus dem die Ereignisskripte ausgeführt werden müssen.
Haupteigenschaften von First-Ups, in /etc/apcupsd/apcupsd.ups0.conf
SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events
Und für ups1 in /etc/apcupsd/apcupsd.ups1.conf
SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events
Jedes scriptdir sollte eine Kopie der Standardskripte erhalten.
Wir wollen doshutdown anpassen Skript, das die Maschine nicht direkt herunterfährt, sondern prüfen muss, ob die andere USV noch eingeschaltet ist oder sich im Abschaltmodus befindet.
Ganz oben im doshutdown script, könnten wir so etwas hinzufügen wie
für ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
für ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
der Status 99 hat eine besondere Bedeutung, die apccontrol mitteilt um die laufende Aktion zu stoppen. Die fünf Zeilen prüfen, ob die andere UPS-Down-Datei erstellt wurde; wenn nein , die Down-Datei wird für die ausgefallenen Ups erstellt und beendet. Wenn ja , was bedeutet, dass die andere USV ausgefallen ist, diese ebenfalls ausfällt, daher sollte das Skript fortfahren und die Maschine herunterfahren.
Die Dateien /tmp/usp[01].is.down
zeigen an, ob die Höhen [01] derzeit unten sind.
Wichtig:Das Startskript init.d von apcupsd sollte diese Dateien entfernen, wenn sie in einer früheren Sitzung erstellt wurden:
rm -f /tmp/usp[01].is.down
Schließlich sollten die oben erstellten Verzeichnisse /etc/apcupsd/ups[01] Zugriff auf die apcupsd erhalten Benutzer (oder an den entsprechenden Benutzer, der die Instanzen ausführt).
chown -R apcupsd /etc/apcupsd/ups[01]
Bitte werfen Sie einen Blick auf die ausführliche Dokumentation.
bearbeiten /tmp/ups[01].is.down
behoben Namen, die .is
fehlte.
Schau dir NUT an. Damit kommt es gut zurecht. Definieren Sie die Anzahl der Netzteile von jeder USV und die Anzahl der erforderlichen Netzteile. Das Herunterfahren wird nicht ausgelöst, solange keine ausreichende Stromversorgung an der USV vorhanden ist.