GNU/Linux >> Znalost Linux >  >> Linux

Jeden server, dvě UPS APC na redundantních napájecích zdrojích:Jak spustit vypnutí?

V současné době, když jeden ze dvou UPS zemře, doshutdown událost se spustí a spustí výchozí skript prostřednictvím apccontrol . nevypnutí skript ignoruje druhou UPS, protože nejsou připojeny k události, a pokračuje normálně s vypnutím.

Aby došlo k vypnutí události poněkud propojené, potřebují dvě instance apcupsd specificky přizpůsobený konfigurační soubor. Rozdíl bude spočívat v adresáři, ze kterého se mají skripty událostí spouštět.

Hlavní vlastnosti prvních upů v /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

A pro ups1 v /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

Každý scriptdir by měl získat kopii výchozích skriptů.
Chceme přizpůsobit doshutdown skript, který přímo nevypne stroj, ale musí zkontrolovat, zda je druhá UPS stále zapnutá nebo v režimu vypnutí.

V horní části doshutdown skript, mohli bychom přidat něco jako

pro ups0

if [ ! -f /tmp/ups1.is.down ]
then
  touch /tmp/ups0.is.down
  exit 99
fi

pro ups1

if [ ! -f /tmp/ups0.is.down ]
then
  touch /tmp/ups1.is.down
  exit 99
fi

stav 99 má speciální význam, který říká apccontrol k zastavení probíhající akce. Pět řádků kontroluje, zda byl vytvořen další soubor UPS-down; pokud ne , je vytvořen soubor down pro ups, který je dole, a ukončí se. Pokud ano , což znamená, že druhá UPS je mimo provoz, tato se také vypíná, takže skript by měl pokračovat a vypnout počítač.

Soubory /tmp/usp[01].is.down označte, zda je ups[01] aktuálně dole.

Důležité:Spouštěcí skript init.d apcupsd by měl odstranit tyto soubory, pokud byly vytvořeny v předchozí relaci:

rm -f /tmp/usp[01].is.down

A konečně, adresářům vytvořeným výše, /etc/apcupsd/ups[01] by měl být udělen přístup k apcupsd uživateli (nebo kterémukoli relevantnímu uživateli, který spouští instance).

chown -R apcupsd /etc/apcupsd/ups[01]

Podívejte se prosím na podrobnou dokumentaci.

upravit opraveno /tmp/ups[01].is.down jména, .is chyběl.


Podívejte se na NUT. Zvládá to dobře. Definujte počet napájecích zdrojů z každé UPS a počet požadovaných napájecích zdrojů. Vypnutí nebude spuštěno, pokud bude dostatek napájecích zdrojů mimo UPS.


Linux
  1. Jak nastavit více SSL na jedné IP s Nginx

  2. Jak se zdá, že tento příkaz Su -c „…“ předává dva příkazy místo jednoho?

  3. Je možné nainstalovat dvě služby pro jeden balíček pomocí Dh_installinit? Jak?

  1. Jak posunout řádek v textovém souboru nahoru nebo dolů o jeden řádek?

  2. Jak přejít o jeden adresář dolů?

  3. Jak měřit spotřebu energie serveru?

  1. Jak simulovat odpojený síťový kabel nebo výpadek serveru?

  2. Jak zobrazím názvy souborů, které obsahují dva znaky a jeden z nich je c?

  3. Jak svázat MySQL server s více než jednou IP adresou?