Domů > Linuxové zápisky pro správce > Instalace a nastavení Smart UPS pod Linuxem

Instalace a nastavení Smart UPS pod Linuxem

Nastavíme si APC Smart UPS tak, aby se systém při delším výpadku stihl řádně ukončit, poslal info do mailu a po obnově napájení se opět spustil. UPS máme samozřejmě připojenou k serveru/PC originálním sériovým kabelem. Instaloval jsem na Debian Squezee.

Nastavení BIOSu

V BIOSu nezapomeňte nastavit u ACPI volbu „Last State“ (nebo nějak podobně, záleží na verzi). Je to z důvodu, aby se po obnově napájení PC opět spustil.

Instalace potřebných balíčků

Jedná se o démona a monitorovací software

apt-get install apcupsd

Máte /usr na zvláštním oddíle?

Pokud máte /usr na samostatném souborovém systému, je potřeba pár úprav. Program apcupsd totiž potřebuje některé sdílené knihovny, které jsou pod /usr a ten je v té konečné fázi vypínání již odpojený.

V /etc/apcupsd/killpower odkomentujeme dva řádky (u /var pouze v případě, že máte i tento oddíl samostatný)

#mount -n -o ro /usr
#mount -n -o ro /var

a výsledek bude takovýto

mount -n -o ro /usr
mount -n -o ro /var

Tím se před spuštěním killpower opět připojí potřebné souborové systémy, a to read-only, takže odpojení napájení nevadí

Další úpravy pro správné vypínání

Na řádku 51 v /etc/init.d/halt změníme

poweroff="-p"

na

poweroff=""

čímž následně spouštěný příkaz halt nevypne počítač přes ACPI (jinak by se po naběhnutí napájení nezapnul), ale jakoby „natvrdo“. Touto úpravou se vyřeší i to, že kdyby nezafungoval killpower, tak UPS odpojí napájení po nějakém timeoutu („Shutdown Grace Delay“).

Procesy a chování Smart UPS

Takto nějak se má správně Smart UPS chovat:

  1. Normální stav: Server je zapojený na UPS, která je napájená ze sítě.
  2. Výpadek sítě: apcupsd zjistí, že UPS jede na baterii a průběžně sleduje, kolik zbývá času (je konfigurovatelná maximální doba a minimální kapacita baterie v %, při které se přejde na další fázi).
  3. Pokud v této době síť naskočí — vrátíme se zpět na první bod.
  4. Výpadek pokračuje, je splněna některá z podmínek pro vypnutí (viz. druhý), tak server pošle UPS příkaz, že se začíná s vypínáním, od tohoto bodu není návratu – tj. po uplynutí „Shutdown grace delay“ UPS odpojí serveru napětí, a to i kdyby mezitím naskočila síť.
  5. Korektní vypnutí – Server ukončuje všechny služby, odpojí souborové systémy, “/“ nechá read-only. V této fázi se zavolá “apcupsd killpower“ – tj. UPS okamžitě odpojí výstup napětí pro server. I pokud by tento příkaz nebyl zavolán, po uplynutí „Shutdown Grace Delay“ (nastaveno v EEPROM UPS), je napájení odpojeno.
  6. Po naběhnutí sítě UPS počká na splnění určitých podmínek (nabití baterie na nějakou hladinu, aby se stihnul boot a korektní ukončení při opakovaném výpadku = „Return threshold, Wakeup delay“) a pak až zapne napájení serveru, které bylo do té doby odpojeno (viz. pátý bod). Pokud je tedy v BIOSu nastaveno něco jako LAST-STATE, je to v pořádku, protože v pátém nebyl server vypnut přes ACPI, ale „natvrdo“ odpojením napájení.

Nastavení Smart UPS

Konfiguraci můžeme provádět pomocí démona a nebo přímo na straně UPS. Doporučuji variantu druhou, tzn. na straně démona. Je zde více možností a konfiguraci máme přehledně na jednom místě.

Konfigurace apcupsd

Konfigurace démona je v /etc/apcupsd/apcupsd.conf

Důležité je nastavit správný typ kabelu. U APS Smart-UPS SC420 mám
UPSCABLE 940-0024C

Zajímat nás také bude:

  • RETURNCHARGE – (v procentech) určuje, při jakém % nabití baterií se má UPS opět zapnout
  • WAKEUP – (v sekundách) určuje, za jak dlouho se má UPS probudit po obnovení napájení ze sítě

Obojí lze nastavit i přes menu programem apctest. Při jeho použití ale konfigurujeme přímo EEPROM v UPS, tzn., že nám nebude korespondovat s parametry v /etc/apcupsd/apcupsd.conf v části
========== Configuration statements used in updating the UPS EPROM =========

Je tedy lepší upravovat /etc/apcupsd/apcupsd.conf a potom konfiguraci nahrát do EEPROM v UPS (viz. níže)

Po změnách nezapomeneme restartovat démona

/etc/init.d/apcupsd restart

Konfigurace EEPROM v UPS pomocí apctest

Teď se ale podíváme na již zmiňovaný apctest

Před jeho spuštěním musíme nejdříve vypnout apcupsd, který nám obsadil socket pro komunikaci s UPS

/etc/init.d/apcupsd stop

Spustíme apctest
V menu vybereme volbu

5) Program EEPROM
11) Change battery return threshold percent
7) Change wakeup delay

a nastavíme na požadované hodnoty

V případě, že budeme chtít použít hodnoty z /etc/apcupsd/apcupsd.conf, vybereme volbu

14) Set EEPROM with conf file values

Po ukončení zapneme zase démona

/etc/init.d/apcupsd start

Výpis aktuálního nastavení UPS

Můžeme si také nechat vypsat aktuální stav UPS pomocí démona – POZOR: toto je funkční až nekolik vteřit po jeho nastartování, do té doby se bude zobrazovat error, ze komunikace byla odmítnuta

/etc/init.d/apcupsd status

nebo

apcaccess status

nebo v apctest pod volbou

5) Program EEPROM
1) Print EEPROM values

Valid EEPROM values for the Smart-UPS SC420

Config Current Permitted
Description Directive Value Values
===========================================
Upper transfer voltage HITRANSFER 253 253 257 261 265
Lower transfer voltage LOTRANSFER 208 208 204 200 196
Return threshold RETURNCHARGE 15 00 15 50 90
Output voltage on batts OUTPUTVOLTS 230 230
Sensitivity SENSITIVITY H H M L L
Low battery warning LOWBATT 2 02 05 07 10
Shutdown grace delay SLEEP 180 060 180 300 600
Alarm delay BEEPSTATE 0 0 T L N
Wakeup delay WAKEUP 60 000 060 180 300
Self test interval SELFTEST 336 336 168 ON OFF
===========================================
Battery date: 06/06/08
UPS Name : UPS_IDEN

Zdroje informací

http://www.abclinuxu.cz/poradna/linux/show/228466

  1. Bez komentářů.
  1. Žádné zpětné odkazy