LinuxovΘ noviny | 07-08/2001 | ||
| |||
ProΦ pou╛φvat UPSKa╛d² u╛ivatel, kter² s poΦφtaΦi pracuje del╣φ dobu, ji╛ nepochybn∞ za╛il v²padek elektrickΘho proudu. V lep╣φm p°φpad∞ Φlov∞k p°ijde pouze o rozpracovanß data, v hor╣φm p°φpad∞ m∙╛e dojφt i k po╣kozenφ souborovΘho systΘmu a ztracen² Φas i data pak mohou znamenat nezanedbatelnou finanΦnφ ztrßtu. V²padky napßjenφ, ale i jeho kolφsßnφ se takΘ v neposlednφ °ad∞ podepisujφ na ╛ivotnosti hardware poΦφtaΦe. ╪e╣enφ p°edstavujφ zßlo╛nφ napßjecφ zdroje (UPS, z angl. "Uninterruptible Power Supply"), kterΘ jsou schopny v p°φpad∞ v²padku napßjenφ v rozvodnΘ sφti po urΦitou dobu poskytovat napßjenφ z bateriφ.
Typy zßlo╛nφch zdroj∙Pokud se rozhodneme zßlo╛nφ zdroj po°φdit, mßme na v²b∞r z n∞kolika druh∙. Nejjednodu╣╣φ modely zaji╣╗ujφ pouze zßkladnφ ochranu p°ed v²padkem napßjenφ - v p°φpad∞ p°eru╣enφ dodßvky el. proudu p°epnou na napßjenφ z baterie. Lep╣φ modely souΦasn∞ poskytujφ ochranu p°ed podp∞tφm Φi p°ep∞tφm v rozvodnΘ sφti. Dßle se jednotlivΘ typy li╣φ mo╛nostφ komunikace s poΦφtaΦem: levn∞j╣φ modely pouze signalizujφ p°eru╣enφ a obnovenφ dodßvky napßjenφ v sφti, "chyt°ej╣φ modely" umo╛≥ujφ mimo jinΘ monitorovat stav baterie - tak╛e je mo╛nΘ p°izp∙sobit spu╣t∞nφ shutdownu aktußlnφmu stavu baterie. N∞kterΘ UPS komunikujφ pouze p°es sΘriov² port, i kdy╛ v dne╣nφ dob∞ se u╛ pomalu p°echßzφ na USB, jinΘ mohou b²t navφc spravovßny p°es sφ╗ pomocφ SNMP Φi p°es modem.
Zßlo╛nφ zdroje a software pro LinuxV∞t╣ina v²robc∙ zßlo╛nφch zdroj∙ dnes bu∩ podporuje Linux p°φmo a dodßvß obslu╛n² software spolu s UPS nebo jej dßvß k dispozici prost°ednictvφm Internetu (p°φkladem budi╛ nap°. APC, Victron, Best Power, Fenton). ╪ada UPS je pod Linuxem podporovßna takΘ "free" softwarem t°etφch stran (NUT, Apcupsd). V ka╛dΘm p°φpad∞ je zapot°ebφ se p°ed zakoupenφm ujistit, zda je UPS a dan² typ komunikaΦnφho kabelu pod Linuxem skuteΦn∞ pln∞ podporovßn.
Apcupsd a podporovanΘ typy UPSFirma American Power Conversion Corporation, zkrßcen∞ APC, zpoΦßtku dlouhou dobu nebyla ochotna poskytnout technickΘ informace t²kajφcφ se popisu komunikaΦnφch protokol∙ sv²ch UPS. Co╛ byla ╣koda, zejmΘna vzhledem k tomu, ╛e zßlo╛nφ zdroje APC byly pom∞rn∞ roz╣φ°enΘ a i cenov∞ pat°ily mezi p°φstupn∞j╣φ kategorie. Proto vznikl projekt Apcupsd, jeho╛ auto°i se rozhodli i za absence technick²ch specifikacφ vytvo°it alternativnφ obslu╛n² software pro tyto UPS. Apcupsd podporuje v╣echny b∞╛nΘ modely: nap°. Back-UPS, Back-UPS Pro, Smart-UPS v/s, Smart-UPS a dal╣φ. Kabel pro komunikaci s poΦφtaΦem p°es sΘriov² port je zpravidla souΦßstφ dodßvky UPS. Apcupsd zatφm nepodporuje komunikaci p°es USB.
webovΘ rozhranφ Apcupsd
Alternativnφ softwarePodφvejme se nejprve na software, kter² poskytuje p°φmo APC:APC Simple Signaling Daemon je software pro komunikaci s UPS v zßkladnφm "simple" nebo "basic signaling" re╛imu pomocφ kabelu 940-0020B. Uplatn∞nφ nalezne zejmΘna pro ovlßdßnφ zßlo╛nφch zdroj∙ typu BackUPS, kterΘ komunikujφ pouze v re╛imu "basic signaling". SouΦßstφ instalace je krom∞ vlastnφho dΘmona ssd i skript apcssd, kter² akceptuje volby start/stop a je urΦen pro instalaci do adresß°e /etc/rc.d/init.d v distribucφch Red Hat. Konfiguruje se pouze sΘriov² port a doba po jejφm╛ uplynutφ se spustφ shutdown v p°φpad∞, ╛e nedojde k obnovenφ dodßvky el. proudu. Software je mo╛nΘ zφskat na serveru APC. APC takΘ vyvφjφ obslu╛n² software PowerChute a PowerChute Plus, kter² je k dispozici i pro Linux. PowerChute je ve srovnßnφ s apcupsd zbyteΦn∞ rozsßhl² a mß takΘ v²razn∞ v∞t╣φ nßroky na systΘmovΘ prost°edky. To je dßno mimo jinΘ tφm, ╛e na rozdφl od apcupsd (kter² se ovlßdß z p°φkazovΘ °ßdky nebo p°es webovΘ rozhranφ) poskytuje grafickΘ rozhranφ v prost°edφ X Window System. PowerChute network shutdown je software pro modely UPS slou╛φcφ pro napßjenφ v∞t╣φho poΦtu poΦφtaΦ∙ komunikujφcφ p°es sφ╗ pomocφ protokolu SNMP. Pokud jde o software t°etφch stran, krom∞ Apcupsd zßlo╛nφ zdroje APC komfortn∞ podporuje takΘ NUT. Dal╣φ software jako genpowerd anebo upsd podporujφ zßlo╛nφ zdroje APC pouze v omezenΘ mφ°e (nepodporujφ "smart" re╛im a fungujφ pouze s n∞kter²mi typy kabel∙).
Komunikace mezi UPS a poΦφtaΦemModely BackUPS a ShareUPS komunikujφ s poΦφtaΦem pomocφ ji╛ krßtce zmφn∞nΘho "simple signaling" protokolu. U t∞chto model∙ se komunikace omezuje na n∞kolik signßl∙ (v²padek napßjenφ, obnovenφ napßjenφ, vybitφ baterie, vypnutφ UPS). Modely BackUPS Pro, SmartUPS, MatrixUPS pou╛φvajφ tzv. "subsmart signaling" nebo "smart signaling" protokol, kter² umo╛≥uje monitorovat stav baterie, teplotu Φi vlhkost uvnit° UPS, dotazovat se na nastavenφ UPS apod. Detailnφ popis protokol∙ je souΦßstφ dokumentace apcupsd.
Jak apcupsd funguje?Apcupsd m∙╛e b∞╛et bu∩ ve samostatnΘm ("standalone") nebo sφ╗ovΘm ("net") re╛imu. Pokud mßme k UPS p°ipojen pouze jeden poΦφtaΦ, je situace jednoduchß. Apcupsd s UPS komunikuje p°es sΘriov² port a v p°φpad∞ pot°eby zajistφ vΦasnΘ spu╣t∞nφ shutdownu (a p°φpadn²ch dal╣φch akcφ definovan²ch u╛ivatelem). Mßme-li siln∞j╣φ zßlo╛nφ zdroj, ke kterΘmu je p°ipojeno napßjenφ vφce poΦφtaΦ∙, pak jeden poΦφtaΦ funguje jako tzv. master - monitoruje stav UPS p°es sΘriov² port, p°es sφ╗ pak komunikuje s ostatnφmi poΦφtaΦi a v p°φpad∞ pot°eby iniciuje ukonΦenφ b∞hu systΘmu (shutdown) nejen na systΘmu, ke kterΘmu je UPS p°ipojena, ale i na v╣ech ostatnφch.Po startu se apcupsd nejprve pokusφ zjistit, zda je k nakonfigurovanΘm portu skuteΦn∞ p°ipojena UPS. Pokud se poda°φ navßzat komunikaci s UPS, spustφ dal╣φ proces, nebo vφce proces∙ v zßvislosti na danΘ konfiguraci. Pokud je UPS p°ipojena p°es sΘriov² port, spustφ apcupsd proces apcser ("apc serial"), kter² obstarßvß vlastnφ komunikaci s UPS. Je-li apcupsd konfigurovßn tak, aby sdφlel informace o stavu UPS p°es sφ╗, spustφ apcser dßle proces apcnis ("apc network information server"). Pokud je poΦφtaΦ napßjen z UPS, kterß je ovlßdßna z jinΘho poΦφtaΦe, spustφ apcupsd mφsto apcser proces apcslv ("apc slave"). Ten pak komunikuje p°es sφ╗ s procesem apcmst ("apc master"), kter² je spu╣t∞n na poΦφtaΦi, ke kterΘmu je UPS p°ipojena. Proces apcmst informuje o stavu UPS a p°φpadn²ch v²padcφch napßjenφ ostatnφ pod°φzenΘ poΦφtaΦe.
InstalaceApcupsd je dostupn² jak formou zdrojov²ch k≤d∙, tak p°edkompilovan²ch verzφ ve form∞ RPM instalaΦnφch soubor∙. Pokud chceme instalovat ze zdrojov²ch k≤d∙, je pou╛it autoconf, tak╛e kompilace je p°φmoΦarß (./configure; make; make install). Po instalaci je d∙le╛itΘ se ujistit, zda-li byly sprßvn∞ instalovßny skripty v /etc/rc.d/init.d apod.
WebovΘ rozhranφ Apcupsd, detailnφ statistika
KonfiguraceKonfigurace je standardn∞ uklßdßna v souboru /etc/apcupsd/apcupsd.conf. Podφvejme se na nejd∙le╛it∞j╣φ konfigurovatelnΘ parametry:
Direktivy UPSCLASS a UPSMODE slou╛φ k nastavenφ, zda se jednß o UPS vyu╛φvanou pouze jednφm poΦφtaΦem, nebo je z jednΘ UPS napßjeno vφce stroj∙ a apcupsd pak b∞╛φ v sφ╗ovΘm re╛imu apod. Se sφ╗ov²m re╛imem dßle souvisejφ direktivy NETTIME, NETPORT, MASTER a SLAVE.
Otestovßnφ instalaceTestovßnφ instalace je velmi d∙le╛itΘ. Abychom se vyhnuli nep°φjemnostem p°i chybnΘm nastavenφ, je vhodnΘ nejprve UPS p°ipojit k sΘriovΘmu portu, ale poΦφtaΦ nechat zapojen² p°φmo do rozvodnΘ sφt∞. Nejd°φve se ujistφme, ╛e komunikace s UPS funguje podle na╣ich p°edstav:
Teprve v p°φpad∞, ╛e v╣e funguje tak jak mß, m∙╛eme zapojit napßjenφ poΦφtaΦe p°es UPS a simulovat v²padek napßjenφ naostro. ZpoΦßtku je vhodnΘ volit kritΘria opatrn∞ tak, aby se inicializoval shutdown s rezervou. V opaΦnΘm p°φpad∞ by UPS vypnula napßjenφ d°φve ne╛ celß shutdown sekvence stihne prob∞hnout. DodateΦn∞ pak parametry m∙╛eme upravit.
Sledovßnφ stavu UPSSouΦßstφ distribuce apcupsd je n∞kolik utilit pro monitorovßnφ stavu UPS:
BezpeΦnostPokud se rozhodneme zp°φstupnit informace o stavu UPS p°es sφ╗, (co╛ je nezbytnΘ nap°. pro funkΦnost CGI rozhranφ), tedy se zapnutou direktivou NETSERVER, je t°eba poΦφtat s tφm, ╛e ve v²chozφm nastavenφ m∙╛e stav UPS Φφst kdokoliv. Apcupsd od verze 3.8.2 obsahuje podporu balφΦku tcp_wrappers, tak╛e m∙╛eme p°φstup omezit pat°iΦnou konfiguracφ v souborech /etc/hosts.deny a /etc/hosts.allow. Dal╣φ mo╛nostφ (dostupnou i ve star╣φch verzφch apcuspd) je pou╛φt mφsto apcupsd pro publikaci stavu UPS samostatn² dΘmon apcnetd, kter² m∙╛eme startovat p°es inetd. (Tedy v konfiguraΦnφm souboru apcupsd.conf uvedeme NETSERVER off a nakonfigurujeme inetd tak. aby po p°φchozφm po╛adavku spojenφ na port 7000 spou╣t∞l apcnetd. Op∞t m∙╛eme vyu╛φt tcp_wrappers pro omezenφ p°φstupu.)Pokud provozujeme vφce poΦφtaΦ∙ napßjen²ch p°es jeden zßlo╛nφ zdroj a tyto poΦφtaΦe apcupsd kontroluje p°es sφ╗, je pot°eba zajistit, aby nebylo mo╛nΘ simulovat fale╣n² master apcupsd server, kter² by pak mohl kontaktovat systΘmy, kterΘ fungujφ jako slave a iniciovat neoprßvn∞n∞ shutdown. V konfiguraci slave poΦφtaΦ∙ je mo╛nΘ direktivou USERMAGIC nastavit heslo, kterΘ apcslv po╣le p°i prvnφm kontaktu master procesu apcupsd. Tφmto heslem pak master proces prokazuje svou toto╛nost. Ani toto °e╣enφ ov╣em nenφ ideßlnφ, proto╛e heslo po sφti putuje v neza╣ifrovanΘ podob∞.
Powerflute - nßstroj pro konzoli
ShrnutφZßlo╛nφ zdroje APC pat°φ mezi ty nejroz╣φ°en∞j╣φ a cenov∞ p°φstupnΘ. Pod Linuxem jsou dob°e podporovßny - u╛ivatel mß na v²b∞r mezi software od APC (PowerChute) a voln∞ ╣i°iteln²m sofware (zejmΘna Apcupsd a NUT). M∙╛e si tedy podle vlastnφch pot°eb vybrat takov² software, kter² mu sv²m ovlßdßnφm nejvφce vyhovuje. Obslu╛n² software Apcupsd je co do mo╛nostφ konfigurace velmi flexibilnφ a pro monitorovßnφ stavu UPS poskytuje nßstroje jak pro p°φkazovou °ßdku / konzoli tak i webovΘ rozhranφ. V²hodou je i rozsßhlß a velmi p°ehlednß dokumentace ve form∞ manußlu, Φlßnku v Linux Journalu a dal╣φch informacφ. |