Sistem de monitorizare a unui UPS
Dispozitivele de tip UPS (Uninterruptible Power Supply) asigură protecție pentru sistemele electronice împotriva variațiilor de tensiune ale rețelelor de alimentare și împotriva căderilor de tensiune permițând funcționarea continuă. În cazul căderilor de tensiune de scurtă durată sistemele nu își vor întrerupe funcționarea dar în cazul căderilor de mai mare durată sistemele electronice, mai ales sistemele de calcul și dispozitivele de stocare a datelor, trebuie închise în siguranță fără a exista pericolul defectării sau pierderilor de date. Procesul de închidere controlat se poate face de către utilizator, dacă este prezent, sau în mod automat dacă sistemul UPS are capabilitatea de a semnaliza căderea tensiunii de alimentare. În cadrul materialului de față ne propunem să prezentăm implementarea unui sistem de monitorizare a funcționării unui dispozitiv UPS care să permită închiderea automată, în siguranță, a sistemelor de calcul.
Pentru implementare vom utiliza o placă de dezvoltare Raspberry Pi Zero W (se poate utiliza și o placă Raspberry Pi 3) ce va comunica cu dispozitivul UPS printr-o conexiune USB. Se pot monitoriza orice dispozitive UPS care au facilitatea de raportare printr-o astfel de conexiune. În teste s-a utilizat un dispozitiv UPS APC Back-UPS ES550. Pentru conectarea la placa Raspberry Pi Zero W este necesar un adaptor OTG USB.
Ca sistem de operare pentru placa de dezvoltare Raspberry Pi Zero W a fost folosită versiunea Lite a sistemului de operare Raspbian, mai exact Raspbian Stretch Lite 2018-06-27. După copierea imaginii pe cardul microSD se recomandă configurarea pentru accesul la distanță înainte de pornirea plăcii de dezvoltare, a se vedea și „Raspberry Pi Zero Headless Quick Start”:
- Se creează un fișier gol cu numele ssh pentru a activa conectarea de la distanță;
- Se creează un fișier conf pentru conectarea la rețea cu următorul conținut:
ctrl_interface=DIR=/var/run/wpa_supplicant
GROUP=netdev
update_config=1
network={
ssid=”YOURSSID”
psk=”YOURPASSWORD”
scan_ssid=1
}
După pornirea sistemului și conectarea UPS-ului la placa de dezvoltare putem verifica conexiunea cu ajutorul comenzii:
# lsusb
Dacă totul este în regulă vom trece la instalarea pachetelor necesare supravegherii dispozitivului UPS:
# sudo apt-get update
# sudo apt-get upgrade (recomandat)
# sudo apt-get install apcupsd
Pentru mai multe informații asupra programului APC UPS Daemon puteți consulta manualul oficial. Înainte de utilizare trebuie să efectuăm câteva modificări în fișierul de configurare /etc/apcupsd/apcupsd.conf:
UPSNAME MyAPC
UPSCABLE usb
USBTYPE usb
DEVICE
și în fișierul /etc/default/apcupsd:
ISCONFIGURED=yes
Finalmente putem repornim serviciul:
# sudo apcupsd restart
Testarea comunicației cu dispozitivul UPS se va face cu ajutorul comenzii:
# apcaccess status
Supravegherea se poate face și prin intermediul unei interfețe web. Pentru acest lucru vom instala serverul web apache și componenta cgi a APC UPS Daemon:
# sudo apt-get install apache2 apcupsd-cgi
Pentru a activa execuția fișierelor cgi la nivel de server web este necesară realizarea unei legături simbolice la nivelul fișierelor de configurare apache:
# cd /etc/apache2/mods-enabled
# sudo ln -s ../mods-available/cgi.load
# sudo /etc/init.d/apache2 restart
Interfața web poate fi accesată la adresa:
http://YOUR_RPi_IP/cgi-bin/apcupsd/multimon.cgi
În fișierul de configurare /etc/apcupsd/apcupsd.conf putem personaliza diverși parametrii (precum procentul din baterie la care sistemul să se oprească automat, timpul de funcționare pe baterie):
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
În mod implicit la apariția evenimentelor de cădere a alimentării și la revenirea alimentării serviciul APC UPS Daemon rulează scripturile /etc/apcupsd/onbattery și /etc/apcupsd/offbattery. Acestea pot fi personalizate pentru a efectua diverse operații dorite (să trimită email, să oprească automat alte sisteme de calcul etc.).
Pentru mai multe informații puteți consulta și proiectele:
- Linux: Configure and Control APC SmartUPS During a Power Failure
- Monitoring a UPS
- Installing and configuring apcupsd (UPS Management Software)
Și ca o alternativă la software-ul de monitorizare:
Sistemul de monitorizare este capabil să comande oprirea în siguranță a mai multor sisteme de calcul inclusiv sisteme ce rulează sisteme de operare Microsoft Windows – a se vede materialul: „How to Remotely Shut Down or Restart Windows PCs”.