Linux/Προχωρημένα/Περιφερειακά/UPS

Εγκατάσταση του UPS

Η επικοινωνία του εξυπηρετητή με το UPS γίνεται με χρήση του πακέτου nut (Network UPS Tools).

  • Ελέγξτε ότι το UPS που διαθέτετε υποστηρίζεται (ανήκει στο hardware compatibility list) των Network UPS Tools
  • Εφόσον υποστηρίζεται, προχωρήστε στις επόμενες παραγράφους

Εγκατάσταση εργαλείων NUT

  • Εγκαταστήστε το πακέτο nut με την εντολή:


Terminal.pngsudo apt-get -y install nut nut-client nut-monitor


Ρύθμιση οδηγού και θύρας επικοινωνίας

  • Στο αρχείο /etc/nut/ups.conf θα πρέπει να προσθέσετε τον οδηγό (driver) και τη θύρα επικοινωνίας (port).


Terminal.pngsudo pluma /etc/nut/ups.conf



Info-32.pngΟ οδηγός προκύπτει από τη στήλη driver στο hardware compatibility list του Nut.


Ακολουθούν παραδείγματα προσθήκης των παραπάνω στοιχείων για USB και Σειραϊκό UPS.

Παράδειγμα ρύθμισης USB UPS

  • Εάν διαθέτετε USB UPS όπως το APC Back-UPS, τότε σύμφωνα με το hardware compatibility list έχει τον οδηγό usbhid-ups, οπότε προσθέστε την ακόλουθη παράγραφο που την ονομάζετε [apc]:


Editor.png[apc]

driver = usbhid-ups

port = auto

desc = "APC Back-UPS USB"



Info-32.pngΜπορεί να σας φανεί χρήσιμη η παρακάτω εντολή για την ανίχνευση του μοντέλου του UPS:
Terminal.pnglsusb

Αν και κάποιες φορές απλά αναφέρει το UPS ως Cypress Semiconductor USB to Serial


Παράδειγμα ρύθμισης σειριακού UPS

  • Εάν διαθέτετε σειριακό UPS όπως το MGE NOVA AVR 600 Serial στη σειραική θύρα ttyS0, τότε σύμφωνα με το hardware compatibility list έχει τον οδηγό mge-shut, οπότε προσθέστε την ακόλουθη παράγραφο που την ονομάζετε [mge]:


Editor.png[mge]

driver = mge-shut

port = /dev/ttyS0

desc = "MGE Nova 600AVR Serial"


  • Δημιουργήσετε το αρχείο /etc/udev/rules.d/99_nut-serialups.rules


Terminal.pngsudo pluma /etc/udev/rules.d/99_nut-serialups.rules


  • και προσθέστε σε αυτό τα ακόλουθα στοιχεία:


Editor.pngKERNEL=="ttyS0", GROUP="nut"


  • Κατόπιν δώστε τις ακόλουθες εντολές:


Terminal.png sudo udevadm control --reload-rules
sudo udevadm trigger



Info-32.pngΑντικαταστήστε το ttyS0 με ttyS1 κλπ ανάλογα αν έχετε συνδέσει το UPS στην 1η, 2η σειριακή θύρα κλπ του εξυπηρετητή. Μπορεί να σας φανεί χρήσιμη και η εντολή:
Terminal.pngdmesg |grep tty



Dialog-warning.pngΤα παραπάνω χρειάζονται στην περίπτωση του σειριακού UPS ώστε να μπορεί το nut να έχει δικαιώματα πρόσβασης στη σειριακή θύρα


Έλεγχος ορθής επικοινωνίας του NUT με το UPS

  • Κατόπιν ελέγξτε αν το nut μπορεί και επικοινωνεί με το UPS σας, δίνοντας την εντολή:


Terminal.png sudo upsdrvctl start


  • Θα πρέπει να δείτε ως αποτέλεσμα (το παράδειγμα αφορά USB APC UPS) κάτι σαν:


Terminal.pngNetwork UPS Tools - UPS driver controller 2.7.4

Network UPS Tools: 0.29 USB communication driver - core 0.33 (2.7.4)

Using subdriver: APC HID 0.92




Dialog-warning.pngΣε περίπτωση που εμφανιστεί μήνυμα "Can't chdir to /var/run/nut: No such file or directory", δημιουργήστε τον κατάλογο χειροκίνητα, με τις εντολές:
Terminal.pngsudo mkdir /var/run/nut && sudo chown nut.nut /var/run/nut


Επιπλέον ρυθμίσεις

  • Επεξεργαστείτε το αρχείο /etc/nut/upsd.conf


Terminal.pngsudo pluma /etc/nut/upsd.conf



Editor.pngLISTEN 127.0.0.1 3493
LISTEN ::1 3493


  • Επεξεργαστείτε το αρχείο /etc/nut/upsd.users:


Terminal.pngsudo pluma /etc/nut/upsd.users



Editor.png[local_mon]

password = PASSWORD

upsmon master


  • Επεξεργαστείτε το αρχείο /etc/nut/upsmon.conf:


Terminal.pngsudo pluma /etc/nut/upsmon.conf



Editor.pngMONITOR apc@localhost 1 local_mon PASSWORD master



Info-32.pngΜπορείτε να αλλάξετε τον κωδικό PASSWORD με τον κωδικό που επιθυμείτε αρκεί να είναι ο ίδιος στα δύο αρχεία upsd.users & upsmon.conf
Βάλτε όπου apc το όνομα που δώσατε στο UPS εντός των αγκυλών [ ] στο αρχείο /etc/nut/ups.conf


  • Επιβεβαιώστε τα δικαιώματα στα παραπάνω αρχεία (επειδή υπάρχει ο κωδικός) ώστε να μην είναι προσβάσιμα από τους χρήστες


Terminal.png ls -l /etc/nut/

$ -rw-r----- 1 root nut 1544 Αυγ 22 14:09 nut.conf
$ -rw-r----- 1 root nut 5598 Αυγ 22 13:14 ups.conf
$ -rw-r----- 1 root nut 4655 Αυγ 22 14:52 upsd.conf
$ -rw-r----- 1 root nut 2230 Αυγ 22 14:49 upsd.users
$ -rw-r----- 1 root nut 15482 Αυγ 22 14:49 upsmon.conf

$ -rw-r----- 1 root nut 3887 Νοε 15 2017 upssched.conf



Αν απαιτείται αλλαγή δικαιωμάτων δώστε τις εντολές:


Terminal.png sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*



  • Ρυθμίστε στο αρχείο /etc/nut/nut.conf ο δαίμονας του nut να αφορά μόνο τον εξυπηρετητή:


Terminal.pngsudo pluma /etc/nut/nut.conf



Editor.png MODE=standalone



Eπικοινωνία με το UPS

  • Ελέγξτε αν τρέχει ο δαίμονας upsd με την εντολή:


Terminal.pngsudo netstat -tnlp | grep -w upsd


Θα πρέπει να δείτε ότι ο δαίμονας upsd "ακούει" στη θύρα (port) 3493 του localhost (127.0.0.1) που δηλώσατε στο αρχείο /etc/nut/upsd.conf:


Terminal.pngadministrator@srv-1lyk-mesol:~$ tcp 0 0 127.0.0.1:3493 0.0.0.0:* LISTEN 1753/upsd



Info-32.pngΑν ο δαίμονας upsd δεν "τρέχει" ξεκινήστε τον με την εντολή:
Terminal.pngsudo upsd


  • Ελέγξτε την επικοινωνία με τον UPS εξυπηρετητή δίνοντας την παρακάτω εντολή (αντικαθιστώντας το mge με το όνομα που δηλώσατε για το UPS)


Terminal.pngsudo upsc mge


  • Η εντολή θα επιστρέψει πληροφορίες για το UPS


Terminal.pngInit SSL without certificate database

battery.charge: 100
battery.charge.low: 30
battery.runtime: 1000
battery.type: PbAc
device.mfr: MGE UPS SYSTEMS
device.model: Nova 600 AVR
device.serial: unknown
device.type: ups
driver.name: mge-shut
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: MGE HID 1.39
driver.version.internal: 0.41
outlet.1.status: on
output.voltage: 230.0
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 11
ups.mfr: MGE UPS SYSTEMS
ups.model: Nova 600 AVR
ups.power.nominal: 600
ups.productid: ffff
ups.serial: unknown
ups.status: OL
ups.timer.shutdown: -1
ups.timer.start: -10
ups.vendorid: 0463


  • Για το γραφικό περιβάλλον χρησιμοποιήστε την εφαρμογή Application-ubuntu-other.png NUT-Monitor


Terminal.pngNUT-Monitor -H &



Info-32.pngΜπορείτε να επιλέξετε την αυτόματη εκκίνηση του NUT-Monitor μέσω του  Προτιμήσεις  Προγράμματα Εκκίνησης  και επιλέγοντας Hand.png Προσθήκη.
Κατόπιν στο πεδίο Tag.png Εντολή γράψτε NUT-Monitor --start-hidden