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

Ein Server, zwei APC-USV mit redundanter Stromversorgung:Wie wird das Herunterfahren ausgelöst?

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.


Linux
  1. So richten Sie mit Nginx mehrere SSLs auf einer IP ein

  2. Wie verschiebt man eine Zeile in einer Textdatei um eine Zeile nach oben oder unten?

  3. Wie scheint dieser Befehl su -c „…“ zwei Befehle anstelle von einem zu übergeben?

  4. Ist es möglich, mit Dh_installinit zwei Dienste für ein Paket zu installieren? Wie?

  5. Wie bewegt man sich ein Verzeichnis nach unten?

So synchronisieren Sie Dateien automatisch zwischen zwei Linux-Servern

So synchronisieren Sie zwei Webserver unter Linux automatisch

Verwendung des Shutdown-Befehls mit Beispielen

Wie man Ubuntu Server herunterfährt [Tipp für Anfänger]

Wie man einen Cloud-Server zurücksetzt

So sperren Sie Ihren CentOS-Server mit IPTables