Jak na UPS
Jak na UPS
Zlepšete odolnost svých uložených dat proti výpadkům proudu.
Úvodem
Jelikož Linux používá část RAM jako diskovou cache, může při výpadku
napájení nastat nekonzistence dat na disku. Pokud se jedná o pracovní
stanici doma, není to tak tragické, ale když stavíte firemní fileserver,
jde o vážný problém (mimochodem, tento problém se netýká jen Linuxu).
Řešením je záložní zdroj napájení neboli UPS (Uninterruptible Power
Supply). Jedná se vlastně o průběžně dobíjený akumulátor (obvykle
průmyslový Pb 12V), ochranu proti napájecím špičkám a hlavně komunikační
část, která dokáže říci PC: "Došlo k výpadku - máš X minut na korektní
vypnutí".
Rozdělení
UPS se vyrábí buď ve standalone provedení (bedna, která se postaví vedle
case počítače) nebo pro montáž do 19" racku (výška obvykle 2U,3U,5U).
Výdrž akumulátoru běžné (kancelářské) UPS je zhruba 5-10 minut a výrazně
závisí na tom, jestli je k UPS připojen monitor (uvažovaný odběr do 200W,
typ UPS 350-500VA). Komunikace s PC probíhá pomocí sériového kabelu
(speciální zapojení - obvykle alespoň RxD, TxD, GND + ev. pár pasivních součástek kvůli open-collector výstupu, CANNON 9pin) nebo u nejnovějších modelů pomocí USB. Kabel lze vyrobit svépomocí, schémata jsou k dispozici na internetu.
Existují dvě kategorie UPS - dumb a smart, které se liší v míře
konfigurovatelnosti přes komunikační kabel. Základní funkčnost, tj.
indikaci výpadku napájení, ztráty komunikace nebo vybití akumulátoru,
zvládají obě kategorie. Smart UPS jsou zpětně kompabilní a je možné s nimi
komunikovat v dumb režimu, což využívají GPL ovladače (ne všichni výrobci
jsou ochotni zveřejňovat detaily smart komunikace).
Ovladače
Ovladače k UPS lze buď získat od výrobce (nejznámější jsou firmy APC, BEST
a TrippLite) ve formě předkompilovaných rpm nebo lze použít GPL ovladače
(tarball/rpm). Nejznámější komunikační balíky jsou PowerChute (APC),
powerd (GPL) a apcupsd (GPL). K jedné UPS lze připojit více počítačů, kde
jeden počítač komunikuje s UPS a při výpadku přepošle upozornění ostatním.
Je také možné sledovat stav napájení pomocí webového rozhraní (cgi scripty).
Osobně bych doporučil spíše GPL ovladače, protože se nemusíte vázat na
konkrétní distribuce či verze jiných programů. Pokud zvolíte rpm balíček,
je instalace pod Linuxem jednoduchá, před kompilací tarballu doporučuji
pročíst alespoň INSTALL_HOWTO . Pokud hodláte komunikovat pomocí USB, bude
to pro vás znamenat stejnou funkčnost za cenu trochu složitější konfigurace
a zřejmě budete muset použít tarball.
Instalace a konfigurace
Moje volba padla na apcupsd ve formě rpm balíčku. Po nainstalování balíčku
je nutné ručně upravit soubor /etc/apcupsd/apcupsd.conf . Vyberte druh
kabelu: standardní APC kabel je ve verzi pro Linux označován jako
940-0023A , pro NT jako 940-0020B , (použitelné by měly být oba, vyzkoušel
jsem jen Linux verzi, kterou prodejce označoval jako AP9823 )
typ UPS: backups , smartups apod. a sériový port: zřejmě /dev/ttyS1 .
Chování UPS při výpadku lze ovlivnit pomocí voleb BATTERYLEVEL
(min. % zbývající kapacity akumulátoru), MINUTES (min. odhadované výdrže
akumulátoru), TIMEOUT (max. doba běhu na akumulátor). Výdrž akumulátoru si
odhaduje sama UPS z napětí na akumulátoru a odebíraného proudu a je jen
orientační! Pokud hodláte UPS sdílet mezi více počítači, použijete ještě
volby UPSCLASS , UPSMODE a NETACCESS .
Jako lahůdku si můžete nastavit
BATTDATE - expiraci akumulátoru. Po jejím uplynutí vám přijde upozornění
mailem, abyste akumulátor vyměnili. Konfigurační soubor je hojně
komentován včetně příkladů nastavení, takže konfigurace by měla být snadná.
Ukázka logu
Fri Feb 21 17:21:01 CET 2002 apcupsd 3.8.5 (4 January 2002) redhat startup succeeded
Fri Feb 21 17:25:01 CET 2002 Power failure.
Fri Feb 21 17:25:06 CET 2002 Power is back. UPS running on mains.
Fri Feb 21 17:25:26 CET 2002 Power failure.
Fri Feb 21 17:25:31 CET 2002 Running on UPS batteries.
Fri Feb 21 17:25:36 CET 2002 Reached run time limit on batteries.
Fri Feb 21 17:25:36 CET 2002 Initiating system shutdown!
Fri Feb 21 17:25:36 CET 2002 User logins prohibited
Fri Feb 21 17:25:44 CET 2002 apcupsd exiting, signal 15
Fri Feb 21 17:25:44 CET 2002 apcupsd shutdown succeeded
Konfigurační soubor
UPSCABLE 940-0023A
UPSTYPE backups
DEVICE /dev/ttyS0
LOCKFILE /var/lock
BATTERYLEVEL 10
MINUTES 3
TIMEOUT 300
ANNOY 0
ANNOYDELAY 15
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISPORT 7000
EVENTSFILE /var/log/apcupsd.events
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
UPSNAME Back400
UPSCLASS standalone
UPSMODE disable
NETACCESS true
Praktické rady ke zprovozňování
- Pokud máte k počítači připojený modem, můžete využít ochranu proti blesku
(přímý zásah do vedení může způsobit, že nejen modem, ale i celá základní
deska odejdou do večných lovišť).
- Zvažte, jestli je vhodné k UPS připojovat monitor - můžete tím výrazně
ovlivnit výdrž akumulátoru.
- Při konfigurování UPS berte v úvahu to, že neštěstí nechodí nikdy samo
a může se stát, že po výpadku napájení nastane další dříve, než se akumulátor
dobije. Velká rezerva kapacity akumulátoru a krátký
TIMEOUT není plýtvání.
Navíc pokud pracovní stanice nedisponují UPS, je jim k ničemu, když server
při výpadku poběží o pár minut déle.
- Adresář
/etc/apcupsd obsahuje užitečné scripty commfailure , commok ,
changeme , mainsback a onbattery , které se spouští vždy, když dojde na UPS
k nějaké události. Sem je vhodné doplňovat notifikaci pomocí SMS apod.
(pozor, aby se SMS stihla odeslat ještě před shutdownem, jinak vám přijde
až společně s hláškou o startupu).
- Konfiguraci řádně vyzkoušejte pomocí testovacího tlačítka na UPS,
simulujícího kratkodobý výpadek, dále pomocí vytažení napájecího kabelu
UPS ze zásuvky a pomocí vytažení komunikačního kabelu. Vždy před simulací
výpadku napájení zadejte z konzole
sync (raději dvakrát za sebou), abyste
při eventuelním fsck nepřišli o data v cache.
- Pokud máte k UPS připojený monitor, ověřte si, že jeho zapínání
a vypínání netvoří na UPS kritické špičky - některé starší UPS je nemusí
vyfiltrovat. Tento problém se typicky zjistí tehdy, když šetrná uklízečka
uvidí zelené světélko a monitor vypne (console blanking & vypnuté APM).
- Používejte jen nové a kvalitní akumulátory a zvažte, zda vámi vyrobený
kabel bude odolný proti ohnutí či vytržení (případné problémy konzultujte
se svou uklízečkou).
Další informace
Komunikační SW balíky
Oficiální UPS-HOWTO
Přehled typů UPS od APC
Dokumentace k Powerchute (bohužel DOC)
Zapojení komunikačního kabelu
Záznamy o UPS na ABC Linuxu
Hodně štěstí při zprovozňování
Příspěvky do diskuze, zejména zkušenosti se sdílením UPS a konfigurací,
jiných SW balíků jsou vítány!
Jiří Bajer
Diskuse k tomuto článku
Stav apcupsd lze pěkně sledovat přes www rozhraní, pokud na tom serveru běží apache a jsou nastaveny příslušné direktivy na pár cgi skriptů. Maluje to pěkné grafy
Používal jsem to původně na Red Hatu 7.1, teď na Mandrake 8.2. V balíčku apcupsd u mdk jsem tyto cgi skripty nenašel, ale fungují i ty, které jsem používal v Red Hatu (stačilo je zkopírovat).
Zkoušel jsem i powerchute od APC, textové i grafické rozhraní k programu je totožné jako u Novellu, více se mi ale líbí práce s apcupsd.
Dobry den
ted jsem koupil UPS APC Smart 700 a k ni je kabel
940-0024C bude to taky fungovat?
dekuji Kamil
Ano.
Tento kabel tiez patri medzi "smart" kable. So spravnym nastavenim apcupsd bude fungovat.
Este by som podotkol, ze existuje aj verzia apcupsd pod windows a pre ludi pouzivajucich heterogenne siete je jednoduchsie pracovat s jednym softom.
Tiez mi v clanku chybala ukazka nastavenia apcupsd pre pracu s viacerymi ups, ci s viacerymi strojmi.
Ano, chybela prakticka ukazka nakonfigurovanych skriptu.:(
Mohl byste zverejnit ty vase skripty pro kresleni grafu? :)
Cgi scripty jsou soucasti baliku apcupsd (najdete
je v /etc/apcupsd/cgi). Ja si vystacim s logem
a SMS (+ev. commandline), takze je nepouzivam.
Ukazka konfigurace je napr. na
http://www.apcupsd.com/users_manual/config-examples.html
Svoji konfiguraci dodam behem pondelka.
Podporovane kabely viz.
http://www.apcupsd.com/users_manual/configure.html#ConfigGeneral
PowerChute podporuje pouze produkty APC a jsou nedostupné zdrojové texty. Takže pokud máte např. SLACKWARE musíte se ohlédnout po něčem jiném. Po nějakém tom testování podla moje volba na NUT. Má široký rejstřík UPS s kterými umí komunikovat (já osobně mám starší 1kW VICTRON a ovladače neexistují), také na shutdown více strojů po síti připojených na jednu UPS není žádný problém. Samozřejmě lze nastavit přístupová práva jednotlivým IP adresám, uživatelům... Jediné co neuměl(mí) je monitorování s pomocí SNMP protokolu... více info na inwire@nsys.cz
Zkousel jste genericups -t 10 ? V dokumentaci je uveden
Victron Lite (crack cable), jde o ovladani pres stavove signaly.
A to by mel byt vas pripad.
Mam APC CyberFort 350, na USB kabelu je 940-0127B.
Je tato kombinace na Linuxu (SuSE 7.3, pripadne 8.0) podporovana? Diky
Da sa nejakym sposobom dosiahnut, aby sa mi zapol server po uplnom nabiti akumulatorov v UPS?
Potřebuji připojit Smart-UPS 1000 k Windows server 2000. Po instalaci nekomunikuje ani po USB ani po serial. Po zapojeni UPS mám neznámé zařízení USB DEVICE. Instalován program APC PowerChute Business Edition. Prosim o radu.
|