GNU/Linux >> Linux Esercitazione >  >> Linux

Un server, due UPS APC su alimentatori ridondanti:come attivare l'arresto?

Attualmente, quando uno dei due UPS muore, il doshutdown viene attivato l'evento ed esegue lo script predefinito tramite apccontrol . Il arresto del sistema lo script ignora il secondo UPS, poiché non sono connessi agli eventi, e procede normalmente con lo spegnimento.

Per avere il doshutdown eventi in qualche modo collegati, le due istanze di apcupsd necessitano di un file di configurazione appositamente personalizzato. La differenza risiederà nella directory da cui devono essere eseguiti gli script degli eventi.

Proprietà principali dei primi piani, in /etc/apcupsd/apcupsd.ups0.conf

SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events

E per gli ups1, in /etc/apcupsd/apcupsd.ups1.conf

SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events

Ogni scriptdir dovrebbe ottenere una copia degli script predefiniti.
Vogliamo personalizzare il doshutdown script, che non spegnerà direttamente la macchina, ma deve controllare se l'altro UPS è ancora acceso o in modalità di spegnimento.

In cima al doshutdown script, potremmo aggiungere qualcosa come

per ups0

if [ ! -f /tmp/ups1.is.down ]
then
  touch /tmp/ups0.is.down
  exit 99
fi

per ups1

if [ ! -f /tmp/ups0.is.down ]
then
  touch /tmp/ups1.is.down
  exit 99
fi

lo stato 99 ha un significato speciale, che indica apccontrol per interrompere l'azione in corso. Le cinque righe controllano se l'altro file UPS-down è stato creato; se no , il file down viene creato per gli up in down ed esce. Se , il che significa che l'altro UPS è inattivo, anche questo si sta arrestando, quindi lo script dovrebbe continuare e spegnere la macchina.

I file /tmp/usp[01].is.down indicare se l'ups[01] è attualmente down.

Importante:lo script di avvio init.d di apcupsd dovrebbe rimuovere questi file, se sono stati creati in una sessione precedente:

rm -f /tmp/usp[01].is.down

Infine, le directory create sopra, /etc/apcupsd/ups[01] dovrebbero avere accesso a apcupsd utente (o a qualsiasi utente rilevante che esegue le istanze).

chown -R apcupsd /etc/apcupsd/ups[01]

Si prega di dare un'occhiata alla documentazione dettagliata.

modifica corretto il /tmp/ups[01].is.down nomi, il .is mancava.


Guarda NUT. Lo gestisce bene. Definire il numero di alimentatori da ciascun UPS e il numero di alimentatori richiesti. L'arresto non verrà attivato finché vi sono sufficienti alimentatori non sull'UPS.


Linux
  1. In che modo questo comando Su -c "..." sembra passare due comandi invece di uno?

  2. È possibile installare due servizi per un pacchetto utilizzando Dh_installinit? Come?

  3. Come configurare più server MySQL su un sistema usando mysqld_multi

  4. Come unire due librerie statiche ar in una?

  5. Come faccio a visualizzare i nomi dei file che contengono due caratteri e uno di essi è c?

Come sincronizzare automaticamente i file tra due server Linux

Come sincronizzare automaticamente due server Web in Linux

Come usare il comando di spegnimento con esempi

Come spegnere Ubuntu Server [Suggerimento per principianti]

Come eseguire il rollback di un server cloud

Come bloccare il tuo server CentOS con IPtables