¿Cómo activar un servidor después de que UPS lo apaga cuando se restablece la alimentación de red?

16

Tengo varios servidores Linux conectados a UPS de APC. Están conectados al UPS a través de USB y configurados para apagarse si el UPS envía una señal de que se ha perdido la alimentación de la red y no ha regresado después de un período de tiempo. Esto funciona bien Además, se configuran mediante puentes para que se enciendan automáticamente si se pierde la energía y luego vuelve. Esto también funciona bien.

El escenario que está causando problemas es cuando se pierde la alimentación de la red y el servidor se apaga, pero luego se restablece la alimentación de la red antes de que se acabe el UPS. En ese caso, nos gustaría que el servidor se inicie nuevamente, pero como la energía nunca se pierde después del UPS, el servidor nunca ve un evento de retorno de energía y, por lo tanto, no se enciende.

Espero que exista un dispositivo que pueda conectarse a la red eléctrica pre-UPS, y sentir el estado de retorno de energía y enviar señales de activación tal vez a través de Wake-on-Lan a servidores preconfigurados para activarlos una vez que la red eléctrica haya devuelto que alguien me puede señalar

También se agradecen las sugerencias alternativas, lo único que no puedo hacer es reemplazar el hardware del servidor, y preferiría mantener los mismos UPS si es posible.

bk.
fuente

Respuestas:

13

El escenario típico implementado cuando se usa UPS es:

  1. En caso de pérdida de energía, el UPS notifica al componente de software en los sistemas conectados a él.
  2. Si la energía se pierde más de n segundos, el controlador del UPS notifica al UPS y detiene el sistema sin apagarlo (esto es importante).
  3. UPS espera m segundos para que los sistemas se detengan y corta la corriente.
  4. Cuando se restablece la energía y la batería del UPS se carga por encima del mínimo (de modo que pueda soportar un encendido y un apagado limpio en caso de que se pierda la energía inmediatamente después de que las máquinas comiencen a arrancar), el UPS restaura la energía a los sistemas.
  5. Aviso de sistemas (a nivel de BIOS / UEFI), que se encendieron antes de perder la alimentación, por lo que se inician.

En la mayoría de los BIOS del servidor, puede configurar el sistema para restaurar el estado de energía desde antes de la pérdida de energía. Esto significa que si el servidor se apaga y se pierde la energía, permanecerá apagado después de enchufarlo. Por otro lado, si estaba encendido, cuando se perdió la energía, se encenderá cuando se conecte CA restaurado

NUT mencionado por BillThor debería permitirle darse cuenta de este escenario.

Paweł Brodacki
fuente
1
¡Gracias! Tengo todo lo anterior funcionando, excepto el paso (3), mi UPS no corta la energía hasta que la batería está demasiado baja. Algunos de mis servidores pueden demorar varios minutos en detenerse o apagarse por completo y el tiempo cambia entre apagados. Al hacer que el UPS desconecte la alimentación después de un tiempo preconfigurado, me arriesgaré a desconectar la energía demasiado pronto, o esperaré demasiado y arriesgaré a que vuelva a encenderse antes de que el UPS desconecte la alimentación y nunca obtenga mi señal de encendido para arrancar. Quizás lo que necesito es un UPS que admita un canal posterior desde el sistema para que desconecte la energía tan pronto como el servidor o los servidores se detengan.
bk.
2
Mirando los documentos de NUT, creo que el problema que estoy enfrentando es este, así que intentaré la solución que recomiendan allí. Gracias networkupstools.org/docs/FAQ.html#_i_8217_m_facing_a_power_race
bk.
9

Este problema lo resolví utilizando una pequeña caja de linux (Asus wl deluxe o smth) que se enchufó al UPS principal y se activó lo antes posible cuando se restableció la energía. El script de inicio incluye un retraso de 5 minutos para evitar cualquier variación en el estado de energía (arriba / abajo), WOL-ed todos los servidores (todos w2k3, un linux) y me envía un mensaje de estado.

migabi
fuente
4

Después de leer muchas sugerencias, creo que una buena solución es usar cualquier computadora vieja (si no te importa el consumo de energía), o algún tipo de frambuesa pi, conectada directamente a la energía.

Entonces, cuando se va la energía, un script verificará si los servidores están encendidos, y si no, luego enviará un OWL a través de la red.

Trabajo Diógenes Ribeiro Borges
fuente
3

Utilizo NUT (Network UPS Tool) para casos como este. Necesitará un servidor basado en Unix / Linux para monitorear el UPS. Una vez que comience el apagado, se asegurará de que el UPS se apague y vuelva a encender. Esto hará que los servidores vuelvan a funcionar si se reinician cuando se restablece la energía.

Hay un cliente para los servidores de Windows, por lo que se pueden cerrar limpiamente.

BillThor
fuente
1

Si su BIOS tiene la posibilidad de establecer un tiempo de encendido, puede configurarlo en 50 minutos después del apagado, si el apagado se activa a través de la señal de apagado del UPS.

Entonces, en su escenario, el servidor volverá a funcionar después de 50m + arranque + tiempo de apagado más reciente.

Nils
fuente
-2

Me gustan todas las ideas mencionadas anteriormente. Me gustaría sugerir ejecutar el servidor "NUT" o el servidor "WoL" en una computadora portátil, con la tapa cerrada. De esta manera, puede funcionar durante 4-6 horas solo con la batería. Algunas computadoras portátiles pueden tener 2 baterías instaladas a la vez, incluso para tiempos de funcionamiento largos.

jftuga
fuente
deberías leer el comentario de Paweł Brodacki; El punto de NUT o apcupsd es que el servidor Linux puede ser derribado sin apagarse . Esto significa que el "último estado" enciende el servidor nuevamente, momento en el cual enciende todos los servidores de Windows. La batería de respaldo a largo plazo es todo lo contrario aquí.
Michael Lowman
¿Qué pasa con la solución WoL mencionada por migabi?
jftuga
Son la misma idea. "enciende todos los servidores de Windows" se logra con WoL; usted no quiere que su "caja de WoL" permanezca activa debido a la forma en que debería apagarlo (es decir, tal que el último estado aún funcione)
Michael Lowman