Niniejsza instrukcja jest przeznaczona dla: skonfigurować NUT od podstaw na Raspberry Pi z systemem operacyjnym Raspbiansp ten Mocną stroną korzystania z tego systemu zamiast komputera jest niskie zużycie energii i możliwość dużej konfiguracji, takiej jak powiadomienia e-mail. NUT umożliwia również podłączenie komputerów „podrzędnych” w celu odczytania ich stanu.
Instalacja
Pierwszą rzeczą, którą musisz zrobić, to zainstalować program:
sudo apt-get install nut
Edytuj pliki konfiguracyjne
Po zainstalowaniu musisz przejść do / etc / nut / katalog gdzie znajdują się wszystkie pliki .conf, aby je sformatować.
Próbowaliśmy tej konfiguracji z Przetwornica Salicru SPS SOHO + 1400VA ten Następnie umieścimy zawartość naszych plików, aby Raspberry działał jako nauczyciel i wysyłał powiadomienia e-mail, gdy pojawi się problem. Po prostu edytuj je w trybie root za pomocą naszego ulubionego edytora plików (vi, vim, nano lub cokolwiek innego).
Plik Nut.conf
MODE=standalone
Plik Ups.conf
[salicru]driver = blazer_usb
port = auto
desc = "SAI Salicru"
Plik Upsd.conf
MAXAGE 15
MAXCONN 1024
LISTEN 127.0.0.1 3493
LISTEN ::1 3493
Plik Upsmon.conf
MONITOR salicru@localhost 1 nonmaster contraseña master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /bin/upssched-cmd
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
Plik Upsd.users
[nonmaster]password = contraseña
actions = set
instcmds = ALL
upsmon master
Plik Upssched.conf
CMDSCRIPT /bin/upssched-cmd
PIPEFN /var/run/nut/upssched/upssched.pipe
LOCKFN /var/run/nut/upssched/upssched.lock
AT COMMOK * EXECUTE notify
AT COMMBAD * EXECUTE notify
AT REPLBATT * EXECUTE notify
AT NOCOMM * EXECUTE notify
AT FSD * EXECUTE forced-shutdown
AT NOPARENT * EXECUTE notify
AT SHUTDOWN * EXECUTE notify
AT ONLINE * CANCEL-TIMER shutdown
AT ONLINE * EXECUTE resume
AT ONBATT * START-TIMER shutdown 60000
AT ONBATT * EXECUTE shutdown-warning
AT LOWBATT * START-TIMER shutdown
AT LOWBATT * EXECUTE shutdown-warning
Dotychczas kluczowe pliki zostały sformatowane tak, aby system operacyjny mógł poprawnie rozpoznać UPS i rozpocząć pracę. Istnieje jednak dodatkowy plik o nazwie upssched-cmd zlokalizowany w / kosz / który odpowiada za wykonywanie akcji skonfigurowanych w poprzednich plikach, takich jak wyłączanie serwera w przypadku rozładowania baterii lub powiadamianie dziennika systemowego o różnych zdarzeniach występujących na UPS.
Ścieżka do tego pliku (niezbędna do poprawnej konfiguracji) znajduje się w /bin/upssched-cmd, edytujemy go naszym ulubionym edytorem plików o następującej treści:
Upssched-cmd plik
#!/bin/sh
case "${NOTIFYTYPE}" in
ONLINE)
_notifymessage="UPS ${UPSNAME} - Equipo funcionando con la luz electrica";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
ONBATT)
_notifymessage="UPS ${UPSNAME} - Corte en el suministro electrico, el sistema funciona con bateria. CUIDADO";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
LOWBATT)
_notifymessage="UPS ${UPSNAME} - Bateria baja";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
FSD)
_notifymessage="UPS ${UPSNAME}: - Forzando el apagado del equipo";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
COMMOK)
_notifymessage="La comunicacion con el UPS ${UPSNAME} se ha establecido correctamente";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
COMMBAD)
_notifymessage="La comunicacion con el UPS ${UPSNAME} se ha PERDIDO, ERROR.";
echo ${_notifymessage} | mail -s "SAI" [email protected];
upsdrvctl start salicru;;
SHUTDOWN)
_notifymessage="Finalizando sesion y apagando el equipo.";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
REPLBATT)
_notifymessage="UPS ${UPSNAME} - The battery needs to be replaced!";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
NOCOMM)
_notifymessage="UPS ${UPSNAME} - El UPS no esta disponible";
echo ${_notifymessage} | mail -s "SAI" [email protected];
upsdrvctl start salicru;;
NOPARENT)
_notifymessage="No se puede apagar automaticamente el servidor, se necesita
intervencion del administrador.";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
esac
case "${1}" in
shutdown-warning)
_message="${_notifymessage}.
Apagado inminente en ${_shutdowntimer} segundos.";;
shutdown)
_message="${_notifymessage}.
Se inicia el apagado del equipo.";
shutdown -p now ${_message};;
resume)
_message="${_notifymessage}.
Apagado cancelado.";;
forced-shutdown)
_message="${_notifymessage}.
Apagado forzado inminente en 100 minutos.";
shutdown -h 100;;
notify)
_message="${_notifymessage}";;
*)
_message="Unknown command: ${1}";
esac
# Write message to syslo
logger -t upssched-cmd "${_message}"
Sprawdź funkcję i przeglądaj logi
Po wykonaniu tych kroków zaleca się ponowne uruchomienie systemu operacyjnego w celu sprawdzenia, czy wszystko działa poprawnie. Jest bardzo przydatne polecenie, aby sprawdzić, czy sterowniki i system w Raspbian działają poprawnie:
upsdrvctl start salicru
Wszystkie logi są zapisywane w syslog, dzięki czemu możemy kolejkować najnowsze paski informacji systemowych w celu wykrycia problemów z uruchamianiem lub innych ostrzeżeń:
tail /var/log/syslog
Jak widzieliście w tym końcowym pliku konfiguracyjnym, użyliśmy serwera SMTP, który zainstalowaliśmy na Raspbian do wysyłania powiadomień e-mail.
Jeśli używamy programów klienckich NUT na komputerach podrzędnych, takich jak WinNUT, możemy odczytać stan falownika i wyłączyć różne komputery. Wypróbowaliśmy to ustawienie i działa dobrze, jednak możesz mieć problem ze względu na sterowniki lub z innych powodów. Zapraszamy do komentowania, jeśli masz problemy, a my postaramy się Ci pomóc.