Avete appena acquistato un gruppo di continuità Apc con possibilità di collegarlo alla rete aziendale con un bel cavo di rete? Bene questo è il primo passo per permettere ai server Linux di dialogare con l’Ups per lo shutdown automatico.
Il software che vi serve è Apcupsd con versione minima 3.14.xx o superiore, solitamente in rete si trovano i pacchetti anche per versioni server vetuste come la Ubuntu 7.10 e per Centos versione 3.
La configurazione del file non richiede più di 10 minuti, si ricorda prima che è necessario configurare l’ups assegnandoli un ip, un utente e la parchase.
Per Ubuntu dobbiamo andare nel percorso /etc/default/apcupsd
cercare la riga: “ISCONFIGURED=yes” ed impostarla ad yes, di default è no. Per Centos questo passaggio non c’è.
Configuriamo poi il file vero e proprio/etc/apcupsd/apcupsd.conf commentando le righe (aggiungendo un cancelletto)
#UPSTYPE apcsmart
#DEVICE /dev/ttyS0
ed inserendo queste nuove righe:
UPSCABLE ether
UPSTYPE pcnet
DEVICE ip_gruppo:utente_del_gruppo:password_parchase:3052
Al posto di ip_gruppo e utente_del_gruppo e password_parchase inserite le informazioni necessarie senza spazi e pastrocchi ;)
A questo punto lanciamo il servizio con: sudo /etc/init.d/apcupsd start , se il file è ok e non avete fatto errori il servizio si dovrebbe avviare e nell’interfaccia web del gruppo dovreste trovarvi il client collegato. Potete fare anche la verifica su linux lanciando il comando sudo /etc/init.d/apcupsd status e dovrebbe restituirvi un messaggio simile:
APC : 001,046,1138
DATE : data_del_test
HOSTNAME : hostname_client
VERSION : 3.14.xx (xxx September xxx) debian
UPSNAME : xxxxxxxxxxxxx
CABLE : Ethernet Link
DRIVER : PCNET UPS Driver
UPSMODE : Stand Alone
STARTTIME: data_del_test
MODEL : Smart-UPS XXXXXXXXX
STATUS : ONLINE
LINEV : 219.3 Volts
LOADPCT : 32.2 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 23.0 MinutesMBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
MAXLINEV : 219.3 Volts
MINLINEV : 219.3 Volts
OUTPUTV : 229.7 Volts
DWAKE : 010 Seconds
DSHUTD : 120 Seconds
DLOWBATT : 02 Minutes
LOTRANS : 160.0 Volts
HITRANS : 265.0 Volts
ITEMP : 22.0 C Internal
ALARMDEL : Always
BATTV : 218.3 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : OK
STESTI : 336
STATFLAG : 0x07000008 Status Flag
REG1 : 0x00 Register 1
REG2 : 0x00 Register 2
REG3 : 0x00 Register 3
MANDATE : XX/XX/2014
SERIALNO : XXXXXXXXXXXXXXX
BATTDATE : XX/XX/2014
NOMOUTV : 230 Volts
FIRMWARE : UPS 02.6 (ID1001)
END APC : xxxxxxxxxxxxxxx +0100
Se il messaggio restituito invece è questo:
APC : 001,019,0515
DATE : Tue Mar 17 23:23:02 CET 2015
HOSTNAME : xxxxxxxxx
RELEASE : 3.14.xxx
VERSION : 3.14.xxx (xxxxxx) debian
UPSNAME : xxxxxxxx
CABLE : Ethernet Link
MODEL : PCNET UPS Driver
UPSMODE : Stand Alone
STARTTIME: Tue Mar xxxxxx CET 2015
STATUS : COMMLOST
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
STATFLAG : 0x07000100 Status Flag
END APC : Tue Mar xxxxx CET 2015
Il collegamento non è andato a buon fine, attendete un pò di minuti e rieffettuate il test. Questo sistema funzione correttamente solamente se il gruppo ed il server si trovano sulla stessa sottorete, ma qualora il gruppo e il server stiano in sottoreti diverse ma grazie ad un routing/nat riescono a dialogare allora si deve cambiare la configurazione e ci si deve server di un server presente nella sottorete del gruppo come master della comunicazione.
Per lo slave (server in altra sottorete) cambiate la configurazione di apcupsd.conf in questo modo:
UPSCABLE ether
UPSTYPE net
DEVICE ip_del_server_master:3551
Ed il gioco è fatto!