Dokumentacija UPS

Izvor: HrOpenWiki
Inačica od 23:38, 19. ožujka 2010. koju je unio/unijela Grof (razgovor | doprinosi)

Skoči na: orijentacija, traži
UPS

UPS (Uninterruptible Power Supply) ili Neprekidni izvor napajanja jest uređaj koji osim što korigira naponske fluktuacije u mreži, posjeduje i baterije kojima nadomješta napon iz mreže prilikom nestanka struje. Na taj način omogućuje vam da spemite sve svoje dokumente na kojima ste radili i ispravno ugasite računalo. U koliko je UPS povezan s vašim računalom, moguće ga je podešavati i pratiti njegovo stanje putem računala, odnosno automatizirati procese za isključivanje računala na vrijeme.


Uvod

UPS uređaji uglavnom se koriste za zaštitu servera i radnih stanica u firmama gdje ne smije doći do gubitka podataka zbog nestanka električne energije. No, postoji i nemali broj ovih uređaja namijenjenih lokalnim stolnim računalima po domaćinstvima ili malim uredima koji su relativno jeftini,a od iznimne su koristi u slučaju nestanka el. energije.

Ovim tekstom baviti ćemo se podešavanjem jednog malog UPS uređaja lokalno spojenog na računalo putem USB sučelja.

Kako GNOME grafičko sučelje dobro prepoznaje USB UPS uređaje preko HAL-a i kontrolira njihov rad, ovaj tekst usmjeriti ćemo na KDE grafičko sučelje čiji glavni servis za upravljanje energijom (PowerDevil) u verziji KDE SC 4.4 još uvijek ne prepoznaje UPS uređaje. Ideja je da NUT servis putem skripti šalje D-Bus poruke PowerDevil-u i na taj način kontrolira rad računala u ovisnosti o režimu rada UPS-a (mreža/baterije, sleep/hibernate/shutdown), te kompenzira PowerDevil-ov nedostatak podrške.

Kao daemon (servis) odabrali smo Network UPS Tools (NUT) jer poznaje veliki broj UPS uređaja (kako profesionalnih tako i amaterskih) spojenih na računalo putem raznoraznih kablova. Ovaj servis, također omogućuje i udaljeno praćenje rada UPS uređaja preko mrežnih protokola. Za ovaj daemon napisano je i podosta klijentskih (monitor) aplikacija od kojih smo mi odabrali onaj za KDE4 sučelje: KNutClient

NUT

Instalacija

OpenSUSE

Instaliramo NUT putem YAST-a ili preko Zyppera-a

su -c 'zypper install nut'

Ubuntu

Instaliramo NUT putem Synaptic-a, KPackage manager-a ili preko apt-get-a

sudo apt-get install nut nut-usb

Nakon instalacije drivera potrebno je izvuči i ponovo umetnuti USB kabel koji vodi od UPS-a!

Podešavanje

Podešavanje NUT daemona vrši se preko konfiguracijskih skripti u direktoriju /etc/ups. Prva datoteka koju treba urediti je ups.conf. Otvaramo je editorom i na kraju uređujemo parametre za naš USB UPS ovako:

[apc_ups]
   driver = usbhid-ups
   port = auto
   desc = "Local APC USB CS-650"

Za odabir driver-a i porta drugih uređaja potrebno je pogledati u ovu listu NUT podržanih uređaja.

slijedeća datoteka koju trebamo urediti jest upsd.conf. U njoj na kraju dopišemo ovo:

LISTEN 127.0.0.1 3493

Ovime je pristup UPS uređaju dozvoljen samo s lokalnog računala, ali ne i udaljenog. Također je potrebno urediti i datoteku upsd.users ovako:

[local_mon]
   password = ZAPORKA_OVDJE
   allowfrom = localhost
   upsmon master

Sada uredite datoteku upsmon.conf tako da liniju MONITOR prepravite ovako za naš slučaj:

MONITOR apc_ups@localhost 1 local_mon ZAPORKA_OVDJE master

Opis: APC_UPS@localhost je ime UPS uređaja koje smo definirali unutar uglatih zagrada u datotecu ups.conf, local_mon je ime pristupnih parametara koje smo definirali unutar uglatih zagrada u datoteci upsd.users. ZAPORKA_OVDJE je zaporka koju ste zadali i u datoteci upsd-users.

Preostale parametre koji definiraju radnje prilikom gašenja UPS-a ili nestanka el. energije nećemo sada podešavati, već ćemo to raditi u slijedećem poglavlju jer želimo da upsmon putem D-Busa šalje poruke PowerDevil servisu za upravljanje energijom.

Na kraju je još preostalo urediti i datoteku nut.conf ovako:

MODE = standalone 

Sada pokrećemo servis:

# service upsd start

Ako je sve prošlo OK, onda trebamo dobiti:

Starting NUT UPS drivers                                                                                                   done
Starting NUT UPS server                                                                                                    done
Starting NUT UPS monitor                                                                                                   done

Testirati UPS možemo naredbom:

upsc apc_ups@localhost

Kao rezultat dobivamo UPS parametre.

Povezivanje s PowerDevilom preko D-Bus-a

Kako bi na kraju PowerDevilu prepustili prebacivanje s jednog na drugi energetski profil, što nam u konačnici olakšava posao jer PowerDevil u tom slučaju izvrši i prebacivanje na drugu CPU shemu, obavi obavještavanje putem KDE notifikacije, te ostale radnje zadane pojedinim profilom, poslužiti ćemo se D-Bus podsustavom tako što će naša skripta slati PowerDevilu d-bus poruke o promjeni profila. Kako slanje D-bus poruka sa sistemskog na sesijski nivo nije baš jednostavan poslužiti ćemo se i nekim sitnim trikovima.

Skripta koja šalje poruku u pravilu treba izgledati ovako:

#!/bin/bash
#Find the user of active session
PID=$(pidof -s knotify4)
QUERY_ENVIRON="$(tr '\0' '\n' < /proc/${PID}/environ | grep "USER" | cut -d "=" -f 2-)"
su ${QUERY_ENVIRON} -c 'qdbus org.kde.powerdevil /modules/powerdevil org.kde.PowerDevil.setProfile "Powersave"'

KNutClient

Kompajliranje i instalacija

Podešavanje

Pregled opcija