GNU/Linux >> Linux Esercitazione >  >> Linux

Gestisci il tuo sistema di backup della batteria APC con questo comando Linux

Ai primi tempi dei personal computer, ho scritto il corso di formazione IBM per il PC IBM originale. Per completare il corso in tempo per la formazione IBM, ComputerLand e Sears, IBM mi ha dato un PC da portare a casa in modo da poter lavorare di sera e nei fine settimana, probabilmente il primo caso in cui qualcuno ha un PC IBM a casa propria.

Ho fatto questo lavoro a Boca Raton, in Florida, dove la piccola compagnia elettrica locale era comunemente conosciuta come "Florida Flicker and Flash", con buone ragioni. Le brevi ma frequenti interruzioni di corrente mi hanno fatto perdere il lavoro più di una volta. Sfortunatamente, non esistevano sistemi di continuità (UPS) per mantenere il mio PC attivo e funzionante durante questi incidenti fastidiosi e talvolta distruttivi.

Un UPS mantiene un computer in funzione abbastanza a lungo da resistere a eventi di alimentazione minori, come interruzioni e sovratensioni di pochi secondi fino a 20 o 30 minuti. Nel caso di queste interruzioni più lunghe, la funzione del moderno UPS è notificare al computer di spegnersi prima che l'UPS esaurisca la carica della batteria. In caso contrario, l'improvvisa perdita di alimentazione può portare alla perdita di dati.

Il computer e l'UPS comunicano tramite un cavo seriale o USB. Un servizio di sistema gestisce le comunicazioni e invia i comandi appropriati sia all'UPS che al computer. I computer Windows utilizzano generalmente una versione gratuita del software fornito dal fornitore dell'UPS. Tuttavia, l'utilità apcupsd supporta Linux, Windows, BSD, Solaris e macOS, fornendo coerenza tra i sistemi operativi.

Questo set di strumenti supporta i sistemi UPS APC e fornisce vari gradi di supporto per i sistemi UPS prodotti da Tripp-Lite, CyberPower e altri. Attualmente dispongo di sistemi UPS di tutti e tre questi produttori che funzionano su reti di cui sono responsabile. Non ho trovato un elenco di sistemi UPS supportati. Né la documentazione di apcupsd è utile su questo, e non ho visto nulla di definitivo in nessuna ricerca web.

Tenere presente che la parte "APC" dei nomi di questi strumenti indica che sono stati progettati per i sistemi UPS APC. La loro efficacia sui sistemi di altri fornitori di UPS dipende da quanto da vicino seguono l'interfaccia di gestione APC.

Installa appupsd su Linux

Poiché è disponibile dal repository Fedora, l'installazione di apcupsd è semplice. Emetti il ​​seguente comando come root per installare apcupsd:

# dnf -y install apcupsd

I seguenti comandi avviano e abilitano apcupsd in modo che si riavvii dopo il riavvio.

# systemctl start apcupsd ; systemctl enable apcupsd

Anche altre distribuzioni hanno apcupsd nei loro repository.

Utilizzo di base

A questo punto il demone apcupsd è stato avviato, quindi puoi interagire con esso usando il apcaccess comando. Questo comando senza alcuna opzione genera un rapporto di stato che descrive lo stato attuale dell'UPS.

[root@test ~]# apcaccess
APC      : 001,033,0831
DATE     : 2021-11-30 21:08:10 -0500  
HOSTNAME : test.both.org
VERSION  : 3.14.14 (31 May 2016) redhat
UPSNAME  : test.both.org
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2021-11-27 13:08:58 -0500  
MODEL    : CP1500PFCLCDa
STATUS   : ONLINE
LINEV    : 120.0 Volts
LOADPCT  : 32.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 22.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 120.0 Volts
DWAKE    : -1 Seconds
LOTRANS  : 100.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 Seconds
NUMXFERS : 2
XONBATT  : 2021-11-30 13:46:03 -0500  
TONBATT  : 0 Seconds
CUMONBATT: 5 Seconds
XOFFBATT : 2021-11-30 13:46:06 -0500  
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : CXXLT2001977
NOMINV   : 120 Volts
NOMPOWER : 1000 Watts
END APC  : 2021-11-30 21:08:17 -0500  
[root@test ~]#

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Nell'output sopra, ci sono tre campi di particolare interesse per la gestione della batteria di backup. La percentuale di carico (LOADPCT) indica quanto carico viene posizionato sull'UPS. Quando l'unità è collegata e viene applicata l'alimentazione, la carica della batteria (BCHARGE) dovrebbe essere del 100%, ma sarà inferiore quando viene rimossa l'alimentazione esterna. Il TIMELEFT è il campo di maggiore preoccupazione. In questo esempio, in caso di interruzione dell'alimentazione, l'UPS può funzionare con il carico attuale per 22,5 minuti.

Altri elementi da considerare includono la linea CUMONBATT, che è il tempo cumulativo in cui l'UPS ha funzionato a batteria. Questo campo accumula tutti i tempi di interruzione dell'alimentazione su più eventi. La linea TONBATT è l'ora per un evento di perdita di alimentazione in corso.

La pagina man di apcaccess descrive il resto degli elementi di dati in questo output. I dati visualizzati possono differire in base al modello di UPS.

Gestione dell'UPS

Nell'output di apcaccess comando sopra, la riga SELFTEST dice NO . Questa risposta significa che non è stato eseguito un test automatico su questo UPS dall'ultimo avvio di acpupsd. Di solito, quella sarebbe l'ora dell'ultimo avvio del sistema. Gli autotest vengono eseguiti una volta ogni sette giorni sulla maggior parte dei sistemi UPS, ma è possibile avviarne uno utilizzando apctest comando.

Sfortunatamente, l'apctest comando è in conflitto con il demone apcupsd, quindi è necessario interrompere temporaneamente apcupsd. Quindi puoi avviare apctest, che utilizza un'interfaccia basata su menu.

[root@myserver ~]# systemctl stop apcupsd 
[root@myserver ~]# apctest


2021-12-01 06:36:47 apctest 3.14.14 (31 May 2016) redhat
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = USB Cable
mode.type = USB UPS Driver
Setting up the port ...
Doing prep_device() ...

You are using a USB cable type, so I'm entering USB test mode.
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing USB UPSes.

Getting UPS capabilities...SUCCESS

Please select the function you want to perform.

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
Q) Quit

Select function number:

Avviso: fare attenzione a non scegliere accidentalmente l'elemento 1 perché questo spegnerà l'UPS e, quindi, il computer.

Immettere 2 e premere Invio per eseguire un autotest dell'UPS. Nota che il menu viene visualizzato di nuovo prima che l'autotest abbia avuto abbastanza tempo per essere completato, quindi il risultato è IN PROGRESS . Questo risultato proviene dal CyberPower UPS. Il programma ha atteso il completamento dell'autotest su un UPS APC prima di tornare al menu.

<snip>
Select function number: 2


This test instructs the UPS to perform a self-test
operation and reports the result when the test completes.

Clearing previous self test result...CLEARED
Initiating self test...INITIATED
Waiting for test to complete...COMPLETED
Result of last self test: IN PROGRESS

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
 Q) Quit

L'UPS emette un segnale acustico per indicare che l'autotest è terminato. Il tipo di segnale acustico specifico può variare a seconda del fornitore e del modello dell'UPS. Il mio CyberPower CP1500PFCLCDa emette due brevi segnali acustici. L'allarme non suonerà se è stato silenziato manualmente.

Al termine dell'autotest, utilizzare la voce di menu 3 per leggere il risultato. In questo caso, il mio UPS ha superato l'autotest.

Select function number: 3

Result of last self test: PASSED

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
6)  View/Change alarm behavior
7)  View/Change sensitivity
8)  View/Change low transfer voltage
9)  View/Change high transfer voltage
10) Perform battery calibration
11) Test alarm
12) View/Change self-test interval
 Q) Quit

Select function number:

La maggior parte di queste altre opzioni di menu non funzionano sui miei dispositivi CyberPower, ma funzionano sui dispositivi UPS APC, come previsto.

La calibrazione della batteria può essere utilizzata sui sistemi UPS supportati se la stima dell'UPS del tempo di funzionamento residuo non è corretta. Questa opzione disconnette l'UPS dall'alimentazione principale e fa funzionare il computer a batteria finché non si scarica a circa il 10% della sua carica massima. Questo metodo consente una stima più accurata del tempo di funzionamento a batteria.

Assicurati di riavviare apcupsd dopo essere uscito dal menu apctest.

Pensieri finali

La suite di programmi apcupsd fornisce strumenti semplici per monitorare e gestire i sistemi UPS APC e funziona con i sistemi UPS di altri fornitori a vari livelli. Fornisce una protezione intelligente contro gli incidenti di alimentazione e uno spegnimento gestito se un'interruzione dura fino al limite della carica della batteria.

Il demone in background apcupsd funziona con la maggior parte dei moderni sistemi UPS e può avviare una sequenza di spegnimento del computer quando la batteria dell'UPS è troppo scarica. Ho riscontrato che questo è il caso di tutti e tre i fornitori per i quali dispongo di sistemi UPS. Altre funzioni, quelle accessibili utilizzando il programma apctest, sono problematiche. Alcune di queste funzioni potrebbero funzionare e altre no. Dipende dalla marca e dal modello del tuo sistema UPS.

La considerazione più importante per me è che il software apcupsd può comunicare con l'UPS abbastanza da avviare un comando di spegnimento al computer quando la batteria dell'UPS si sta scaricando. La seconda cosa che mi interessa sono le informazioni disponibili da apcaccess comando. Il resto è semplicemente bello da avere.

Per coloro che preferiscono un'interfaccia GUI, sia il Web CGI che l'interfaccia GUI sono disponibili nel repository Fedora.

Il software apcupsd è maturo e stabile. Lo sviluppo si limita alla correzione dei bug. Sarebbe bello avere un supporto migliore per i sistemi UPS da fornitori diversi da APC. Ciò richiederebbe ai fornitori di collaborare e supportare l'intera interfaccia di comunicazione del software APC.

Il supporto è disponibile sulla pagina SourceForge del progetto tramite le mailing list.


Linux
  1. Monitora il tuo sistema Linux nel tuo terminale con procps-ng

  2. Comando di arresto di Linux (con esempi)

  3. Come eseguire il backup dell'intero sistema Linux utilizzando Rsync

  4. Sicurezza Linux:proteggi i tuoi sistemi con fail2ban

  5. Come mandare in crash il tuo sistema:pericolosi comandi Linux

Come creare backup con il comando tar in Linux

Come gestire le tue password con Enpass su Linux

Come salvare il tuo sistema Windows o Linux con Rescatux

Comando Linux Uptime con esempi

Come installare Sysdig per monitorare il tuo sistema Linux

Gestisci i tuoi server con Cockpit Linux