## page was renamed from Apcupsd === 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 :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.