Come riattivare un server dopo che l'UPS lo spegne quando viene ripristinata l'alimentazione di rete?


16

Ho diversi server Linux collegati a UPS APC. Sono collegati all'UPS tramite USB e configurati per l'arresto se l'UPS invia un segnale che l'alimentazione di rete è stata persa e non è tornata dopo un periodo di tempo. Funziona bene Inoltre, sono configurati tramite jumper per accendersi automaticamente in caso di interruzione dell'alimentazione e quindi di ritorno. Anche questo funziona bene.

Lo scenario che causa problemi è quando si perde l'alimentazione di rete e il server si spegne, ma l'alimentazione di rete viene ripristinata prima che l'UPS si esaurisca. In tal caso, vorremmo che il server si riavviasse, ma poiché l'alimentazione non viene mai effettivamente persa dopo l'UPS, il server non vede mai un evento di ritorno dell'alimentazione e quindi non si accende.

Spero che esista un dispositivo in grado di collegarsi all'alimentazione di rete pre-UPS e di rilevare lo stato di ritorno dell'alimentazione e inviare segnali di riattivazione, forse tramite Wake-on-Lan, a server preconfigurati per riattivarli una volta che l'alimentazione di rete è tornata da qualcuno mi può indicare.

Sono apprezzati anche suggerimenti alternativi, l'unica cosa che non posso fare è sostituire l'hardware del server e preferirei mantenere gli stessi UPS, se possibile.

Risposte:


13

Lo scenario tipico implementato quando si utilizza UPS è:

  1. In caso di interruzione dell'alimentazione, l'UPS notifica il componente software sul sistema o sui sistemi ad esso collegati.
  2. Se l'alimentazione viene persa per più di n secondi, il driver UPS avvisa l'UPS e arresta il sistema senza spegnerlo (questo è importante).
  3. L'UPS attende m secondi per l'arresto dei sistemi e interrompe l'alimentazione.
  4. Quando viene ripristinata l'alimentazione e la batteria UPS viene caricata al di sopra del minimo (in modo che possa supportare l'accensione e lo spegnimento pulito nel caso in cui l'alimentazione venga persa subito dopo l'avvio delle macchine), UPS ripristina l'alimentazione dei sistemi.
  5. I sistemi notano (a livello di BIOS / UEFI) che sono stati accesi prima di perdere energia, quindi si avviano.

Nella maggior parte dei BIOS del server è possibile impostare il sistema per ripristinare lo stato di alimentazione prima della perdita di energia. Ciò significa che se il server viene spento e l'alimentazione viene persa, rimarrà spenta dopo averlo collegato. D'altra parte, se era acceso, quando si è persa l'alimentazione, si accenderà quando CA è restaurato.

NUT menzionato da BillThor dovrebbe permetterti di realizzare questo scenario.


1
Grazie! Ho tutto quanto sopra funzionante tranne il passaggio (3), il mio UPS non interrompe l'alimentazione fino a quando la batteria non si scarica. Alcuni dei miei server potrebbero richiedere alcuni minuti per arrestare o arrestare completamente e il tempo cambia tra gli arresti. Avendo l'UPS che si disattiva dopo un tempo preconfigurato, o rischierò di estrarre l'energia troppo presto, o aspetterò troppo a lungo e rischierò di riaccenderlo prima che l'UPS tira energia e non ricevo mai il mio segnale di accensione per avviarsi. Forse quello di cui ho bisogno è un UPS che supporti un canale posteriore dal sistema in modo che tira energia non appena il server (i) si interrompe.
bk.

2
Guardando NUT Docs, penso che il problema che sto affrontando sia questo, quindi proverò la soluzione che raccomandano lì. Grazie networkupstools.org/docs/FAQ.html#_i_8217_m_facing_a_power_race
bk.

9

Questo problema è stato risolto utilizzando una piccola scatola linux (Asus wl deluxe o smth) che è stata collegata all'UPS principale e svegliata al più presto al ripristino dell'alimentazione. Lo script di avvio include un ritardo di 5 minuti per evitare variazioni nello stato di alimentazione (su / giù), WOL-ed tutti i server (tutti w2k3, uno linux) e mi invia lo stato.


4

Dopo aver letto molti suggerimenti, penso che una buona soluzione sia quella di utilizzare qualsiasi vecchio computer (se non ti interessa il consumo di energia), o qualche tipo di raspberry pi, collegato direttamente all'energia.

Quindi, quando si accende l'alimentazione, uno script verificherà se i server sono attivi e, in caso contrario, invierà un GUFO attraverso la rete.


3

Uso NUT (Network UPS Tool) per casi come questo. Per monitorare l'UPS è necessario un server basato su Unix / Linux. Una volta avviati gli arresti, si assicurerà che l'UPS venga spento e riacceso. Ciò ripristinerà i server se si riavviano quando viene ripristinata l'alimentazione.

Esiste un client per server Windows in modo che possano essere chiusi in modo pulito.


1

Se il BIOS ha la possibilità di impostare un tempo di accensione, è possibile impostarlo a 50 minuti dopo l'arresto, se l'arresto viene attivato attraverso il segnale di spegnimento dell'UPS.

Quindi, nel tuo scenario, il server dovrebbe essere di nuovo in esecuzione dopo 50m + boot + shutdown-time latest.


-2

Mi piacciono tutte le idee precedentemente menzionate. Vorrei suggerire di eseguire il server "NUT" o il server "WoL" su un laptop, con il coperchio chiuso. In questo modo, può funzionare per 4-6 ore solo con la sola batteria. Su alcuni laptop è possibile installare 2 batterie contemporaneamente per periodi di funzionamento prolungati.


dovresti leggere il commento di Paweł Brodacki; il punto di NUT o apcupsd è che il server Linux può essere disattivato senza spegnerlo . Ciò significa che "ultimo stato" riaccende il server, a quel punto accende tutti i server Windows. Il backup della batteria a lungo termine è quasi l'opposto qui.
Michael Lowman,

Che dire della soluzione WoL menzionata dal migabi?
jftuga,

sono la stessa idea. "accende tutti i server Windows" viene realizzato con WoL; non hai la tua "scatola WoL" per rimanere attiva a causa del modo in cui dovresti spegnerla (vale a dire, in modo tale che l'ultimo stato funzioni ancora)
Michael Lowman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.