Poniżej przedstawiono procedurę instalacji i konfiguracji oprogramowania do obsługi UPSa ORVALDI.
Procedura będzie wyglądać identycznie dla innych UPSów, jednak należało będzie wybrać odpowiedni sterownik podczas konfiguracji.
Producent (www.orvaldi.com) zaleca użycie swojego oprogramowania, jednak nie działa ono prawidłowo. Możemy jednak wykorzystać oprogramowanie NUT - Network UPS Tools - dostępne na stronie http://www.networkupstools.org/.
W dystrybucji debiana zadbano jednak o przygotowania odpowiednich pakietów deb, dlatego instalacja sprowadza się do zaznaczenia pakietu do instalacji i konfiguracji.
A więc po koleji:
sudo apt-get install nut
Następnie sprawdzamy czy podczas instalacji został utworzony użytkownik i grupa nut.
Jeżeli tak to przechodzimy do kolejnego kroku, tworzymy plik konfiguracyjny /etc/nut/ups.conf
#/etc/nut/ups.conf
[ORVALDI]
driver = megatec
port = /dev/ttyS0
Jeżeli UPS podpięty jest pod port COM2 należy wybrać /dev/ttyS1.
Pełna lista wspieranych urządzeń znajdziemy tu:
NUT hardware compatibility list
Następnie tworzymy plik /etc/udev/rules.d/99_nut-serialups.rules
# /etc/udev/rules.d/99_nut-serialups.rules
KERNEL=="ttyS0", GROUP="nut"
i wykonujemy zlecenia aby zastosować zmiany :
sudo udevadm control --reload_rules
sudo udevadm trigger
Wywołanie tych zleceń spowoduje ustawienie odpowiednich uprawnień do urządzenia dla usera nut.
W następnym kroku sprawdzamy czy nut poprawnie komunikuje się z UPSem. Powinniśmy otrzymać komunikat podobny do tego:
sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.2.2
Network UPS Tools 2.2.2 - Megatec protocol driver 1.5.14 [megatec]
Carlos Rodrigues (c) 2003-2008
Megatec protocol UPS detected.
W dalszej części wykonujemy konfigurację upsd oraz upsmon.
Tworzymy pliki konfiguracyjne:
# /etc/nut/upsd.conf
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
# /etc/nut/upsd.users
[local_mon]
password = PASSWORD_HERE
allowfrom = localhost
upsmon master
# /etc/nut/upsmon.conf
MONITOR ORVALDI@localhost 1 local_mon PASSWORD_HERE master
MINSUPPLIES 1
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /sbin/upssched
gdzie ORVALDI to wcześniej wybrana nazna UPSa a local_mon to nazwa użytkownika. Pamiętaj o użycju silnego hasła w przypadku wykorzystania komputera z podłączonym UPSem jako shutdown servera.
Ze względów bezpieczeństwa tylko root i user nut powinni mieć możliwość czytania plików konfiguracyjnych ponieważ jest w nich zapisane hasło!.
Ustawiamy zatem odpowiednie uprawnienia do plików w katalogu /etc/nut
sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*
Na sam koniec modyfikujemy ustawienia domyślne tak aby upsd oraz upsmon uruchamiały się podczas startu systemu.
# /etc/default/nut
START_UPSD=yes
START_UPSMON=yes
I startujemy serwis
sudo /etc/init.d/nut start
Możemy sprawdzić statystyki naszego UPSa wydając zlecenie:
upsc ORVALDI
battery.charge: 92.5
battery.voltage: 13.40
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.2.2
driver.version.internal: 1.5.14
input.frequency: 50.1
input.frequency.nominal: 50.0
input.voltage: 221.6
input.voltage.fault: 221.6
input.voltage.maximum: 224.0
input.voltage.minimum: 215.0
input.voltage.nominal: 230.0
output.voltage: 227.8
ups.beeper.status: enabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 50.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0
ups.type: standby
W domyślnej konfiguracji upsmon będzie zatrzymywał system w sytuacji gdy UPS wyśle sygnał Low batery. Jeżeli jednak chcemy aby pozostałe monitorowane stacje wyłączyły się np po 5 minutach od zaniku zasilania należy dodatkowo zainteresować się upssched.conf
/ etc/nut/upssched.conf
CMDSCRIPT /usr/local/bin/upssched-cmd
PIPEFN /var/run/upssched/upssched.pipe
LOCKFN /var/run/upssched/upssched.lock
AT ONBATT * START-TIMER early-shutdown 30
AT LOWBATT * START-TIMER early-shutdown 30
AT ONLINE * CANCEL-TIMER resume
AT ONLINE * EXECUTE resume
AT FSD * EXECUTE forced-shutdown
Po skonfigurowaniu upssched.conf musimy stworzyć skrypt upssched-cmd który zajmie się zamknięciem systemu po określonym czasie lub przerwie zamykanie gdy powróci zasilanie.
skrypt upssched-cmd wygląda następująco:
# /usr/local/bin/upssched-cmd
#!/bin/bash
# time in minutes
time=5
case "${1}" in
early-shutdown)
logger -t upssched-cmd "Early Shutdown"
shutdown -h +$time powerevent
;;
resume)
logger -t upssched-cmd "Resume"
[ -f /var/run/shutdown.pid ] && shutdown -c || exit 0
;;
forced-shutdown)
logger -t upssched-cmd "Forced Shutdown"
shutdown -h +$time powerevent-forced
;;
*)
logger -t upssched-cmd "Unknown command: ${1}"
;;
esac
Aby wszystko działało poprawnie należy jeszcze w BIOSie komputera ustawić aby startował po awarii zasilania, wtedy po powrocie zasilania system zacznie startować.
2 komentarze:
wszystko ok ale na ubuntu mam :
grek@dom-server:/media/DANE1500/home/grek$ sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.6.0
Can't start /lib/nut/megatec: No such file or directory
skąd wziąść ten sterownik ?
http://www.networkupstools.org/stable-hcl.html for more info, which driver to select
Prześlij komentarz