Differences between revisions 6 and 7
Revision 6 as of 2006-04-29 11:21:34
Size: 5788
Editor: Kurgan
Comment:
Revision 7 as of 2009-04-12 17:33:25
Size: 5788
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Configurazione di Apcupsd su Debian Sarge

Questa configurazione e` stata verificata con i seguenti UPS:

  • APC Back-UPS SC 650 con cavo USB di serie
  • APC Back-UPS RS 1500 con cavo USB di serie

Procedura base

  • Installare il pacchetto apcupsd dal repository standard Debian

  • Verificare che il kernel sia compilato con il supporto USB (ovviamente) e HID. I moduli caricati come minimo devono essere hid e hiddev. Non e` necessario installare il supporto per tastiera, mouse, e gli altri input device HID. E` sufficiente compilare il modulo HID sotto la sezione USB. Si puo` verificare che siano installati i moduli necessari come segue:

mucca:~# cat /proc/bus/usb/drivers
         usbdevfs
         hub
 96-111: hiddev
         hid

Per caricare i moduli hid di fatto e` sufficiente caricare con modprobe il modulo "hid". Il resto lo fanno le dipendenze.

  • Verificare che esistano i files /dev/usb/hid/hiddev*. Se non esistono, crearli lanciando /usr/share/doc/apcupsd/examples/make-hiddev.

  • Configurare apcupds con almeno questi valori nel file /etc/apcupsd/apcupsd.conf:

UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable

Gli altri valori possono essere lasciati a default o modificati a piacere.

  • Modificare /etc/default/apcupsd e cambiare il valore ISCONFIGURED mettendolo a yes.

  • Lanciare /etc/init.d/apcupsd start e vedere nel syslog se non ci sono errori e con ps ax se ci sono tre processi di apcupsd.

  • Lanciando il comando apcaccess si deve ottenere un paio di schermate che elencano i valori letti dall' UPS.

Ora dovrebbe essere tutto funzionante.

Installazione del GCI

Volendo leggere lo stato dell' UPS (o anche di piu` di un UPS in una rete) si puo` installare il componente CGI di Apcupsd. Chiaramente serve un web server (Apache). Il pacchetto Debian si chiama apcupsd-cgi e una volta installato e` sufficiente (se non si hanno strane configurazioni per i GCI) andare con il brower alla pagina http://il_tuo_server/cgi-bin/apcupsd/multimon.cgi. Questo pacchetto non consente di dare comandi all' UPS, ma solo di vedere lo stato dei vari parametri di funzionamento.

Configurazione di uno o piu` slave

Se l' ups alimenta piu` di una macchina, occorre che le macchine che non sono direttamente collegate all'ups abbiano informazioni sullo stato dell'ups stesso per potersi spegnere prima che finisca la batteria. Per fare questo Apcupsd prevede due modi operativi:

  • Master/slave in cui master e slave dialogano in entrambe le direzioni, limitato pero` a 20 slave per master e che richiede che non solo gli slave sappiano chi e` il master, ma anche viceversa. Il vantaggio e` che gli slave possono dare comandi al master e che il master da` direttamente agli slave comandi come "fai shutdown adesso". Lo svantaggio e` che occorre modificare la configurazione del master ogni volta che si aggiunge uno slave, e che non si possono usare politiche diverse (in termini di tempi di shutdown rispetto alla carica della batteria, per dire) fra master e slaves.
  • NIS Slave, in cui il master pubblica i dati dell' UPS attraverso la stessa interfaccia "NIS" usata dal comando apcaccess e anche dal CGI, mentre lo slave ne polla lo stato ogni tot secondi. In questo secondo modo il master non puo` ricevere comandi dagli slave ne` puo` influenzare il comportamento degli slave, pero` il master puo` supportare infiniti slaves, teoricamente ogni slave puo` essere master di altri slaves, la configurazione del master non richiede nessuna modifica ne` per renderlo master ne` per aggiungere o togliere slaves (di fatto il master non sa di essere master, e` configurato come stand-alone), e gli slaves possono farsi ognuno la propria politica di comportamento in relazione allo stato dell'alimentazione. In pratica in questa configurazione e` come se l' UPS fosse attaccato direttamente a tutti i computer, master o slave che siano, con l'unica eccezione (credo) che solo il computer a cui e` VERAMENTE collegato l' UPS puo` dare il comando all'UPS di spegnersi.

Un esempio di configurazione di un NIS Slave (il master non ha modifiche rispetto allo stand-alone)

UPSCABLE ether
UPSTYPE net
LOCKFILE /var/lock
DEVICE <server-ip-or-hostname>:3551
UPSCLASS standalone
UPSMODE disable
NETTIME 10

E` importante che NETTIME sia basso (da 5 a 10 secondi) perche` questo e` il tempo di poll delle informazioni dallo slave al master. Se lo slave non polla il master abbastanza spesso, potrebbe succede che il master decida di fare shutdown e termini il daemon del NIS tutto fra due poll, e lo slave non sapra` mai cosa e` successo e non potra` quindi agire per spegnersi prima che l' UPS finisca la batteria. Questo e` soprattutto vero se si volessero concatenare piu` slave uno dietro l'altro. Va ricordato che lo slave fa shutdown se perde il contatto con il server quando e` in condizione "batteria".

Per verificare se funziona, eseguendo apcaccess sullo slave, si dovrebbero leggere gli stessi valori del master.

Cose da ricordare e controllare

  • L'ups manda mail all'utente "root", quindi o si configura correttamente l'alias, oppure si modificano i vari script che mandano mail in /etc/apcupsd/ inserendo un altro indirizzo mail.
  • Il comando apctest pare non funzionare con il collegamento USB. Occorrerebbe indagare.

  • Sarebbe bene fare una prova di funzionamento della procedura di shutdown, come indicato in http://www.apcupsd.com/3.10.x-manual/Testing_Apcupsd.html

  • I vari modelli di UPS riportano al comando apcaccess subset di valori diversi.

LinuxDebian/Apcupsd (last edited 2009-04-12 17:33:25 by localhost)