Comment réveiller un serveur après l'arrêt de l'onduleur lorsque l'alimentation secteur est rétablie?

16

J'ai plusieurs serveurs Linux connectés aux onduleurs APC. Ils sont connectés à l'onduleur via USB et configurés pour s'arrêter si l'onduleur envoie un signal indiquant que l'alimentation secteur a été perdue et n'est pas revenue après un certain temps. Cela fonctionne bien. De plus, ils sont configurés via des cavaliers pour se mettre automatiquement sous tension en cas de perte de courant, puis revenir. Cela fonctionne également bien.

Le scénario qui pose problème est lorsque l'alimentation secteur est perdue et que le serveur s'arrête, mais que l'alimentation secteur est restaurée avant que l'onduleur ne soit épuisé. Dans ce cas, nous aimerions que le serveur redémarre, mais comme l'alimentation n'est jamais réellement perdue après l'onduleur, le serveur ne voit jamais d'événement de retour d'alimentation et ne se met donc pas sous tension.

J'espère qu'il existe un appareil qui peut se brancher sur le pré-onduleur d'alimentation secteur, et détecter l'état de retour d'alimentation et envoyer des signaux de réveil peut-être via Wake-on-Lan à des serveurs préconfigurés pour les réveiller une fois que l'alimentation secteur est revenue que quelqu'un peut me pointer vers.

D'autres suggestions sont également appréciées, la seule chose que je ne peux pas faire est de remplacer le matériel du serveur, et je préférerais garder les mêmes onduleurs si possible.

bk.
la source

Réponses:

13

Le scénario typique implémenté lors de l'utilisation d'UPS est:

  1. En cas de coupure de courant, l'onduleur notifie le composant logiciel du ou des systèmes qui lui sont connectés.
  2. Si l'alimentation est perdue pendant plus de n secondes, le pilote de l'onduleur avertit l'onduleur et arrête le système sans le mettre hors tension (c'est important).
  3. L'onduleur attend m secondes pour que les systèmes s'arrêtent et coupe l'alimentation.
  4. Lorsque l'alimentation est rétablie et que la batterie de l'onduleur est chargée au-dessus du minimum (afin qu'elle puisse prendre en charge une mise sous tension et un arrêt propre en cas de perte d'alimentation juste après le démarrage des machines), l'onduleur rétablit l'alimentation des systèmes.
  5. Les systèmes remarquent (au niveau du BIOS / UEFI) qu'ils ont été mis sous tension avant de perdre leur alimentation, ils démarrent donc.

Dans la plupart des BIOS de serveur, vous pouvez configurer le système pour restaurer l'état d'alimentation avant la coupure de courant. Cela signifie que si le serveur est hors tension et que l'alimentation est coupée, il restera hors tension après l'avoir branché. En revanche, s'il était sous tension, lorsque l'alimentation a été perdue, il se mettra sous tension lorsque le courant alternatif est coupé. restauré.

NUT mentionné par BillThor devrait vous permettre de réaliser ce scénario.

Paweł Brodacki
la source
1
Merci! Tout ce qui précède fonctionne, sauf l'étape (3), mon onduleur ne coupe pas l'alimentation tant que la batterie n'est pas trop faible. Certains de mes serveurs peuvent prendre jusqu'à plusieurs minutes pour s'arrêter ou s'arrêter complètement et le temps change entre les arrêts. Si l'onduleur tire l'alimentation après un temps préconfiguré, je risque soit de tirer l'alimentation trop tôt, soit d'attendre trop longtemps et de risquer de revenir avant que l'onduleur ne se mette sous tension et je ne reçois jamais mon signal de mise sous tension pour démarrer. Peut-être que j'ai besoin d'un onduleur qui prend en charge un canal arrière du système afin qu'il tire l'alimentation dès que le ou les serveurs s'arrêtent.
bk.
2
En regardant les documents NUT, je pense que le problème auquel je suis confronté est le suivant, je vais donc essayer la solution qu'ils recommandent là-bas. Merci networkupstools.org/docs/FAQ.html#_i_8217_m_facing_a_power_race
bk.
9

J'ai résolu ce problème en utilisant un petit boîtier Linux (Asus wl deluxe ou smth) qui a été branché sur l'onduleur principal et réveillé dès que possible lorsque l'alimentation a été rétablie. Le script de démarrage comprend un délai de 5 minutes pour éviter toute variation de l'état d'alimentation (haut / bas), WOL-ed tous les serveurs (tous w2k3, un linux) et me sms avec le statut.

migabi
la source
4

Après avoir lu de nombreuses suggestions, je pense qu'une bonne solution consiste à utiliser n'importe quel ancien ordinateur (si vous ne vous souciez pas de la consommation d'énergie), ou une sorte de framboise pi, connectée directement à l'énergie.

Ainsi, lorsque l'alimentation est coupée, un script vérifie si les serveurs sont allumés, et sinon, envoie un OWL via le réseau.

Job Diógenes Ribeiro Borges
la source
3

J'utilise NUT (Network UPS Tool) pour des cas comme celui-ci. Vous aurez besoin d'un serveur basé sur Unix / Linux pour surveiller l'onduleur. Une fois les arrêts démarrés, il s'assurera que l'onduleur est redémarré. Cela ramènera les serveurs s'ils redémarrent lorsque l'alimentation est rétablie.

Il existe un client pour les serveurs Windows afin qu'ils puissent être arrêtés proprement.

BillThor
la source
1

Si votre BIOS a la possibilité de définir un temps de mise sous tension, vous pouvez le régler sur 50 minutes après l'arrêt, si l'arrêt est déclenché via le signal d'arrêt de l'onduleur.

Donc, dans votre scénario, le serveur fonctionnerait à nouveau après 50m + démarrage + temps d'arrêt au plus tard.

Nils
la source
-2

J'aime toutes les idées mentionnées précédemment. Je voudrais suggérer d'exécuter le serveur "NUT" ou le serveur "WoL" sur un ordinateur portable, avec le couvercle fermé. De cette façon, il peut fonctionner pendant 4 à 6 heures uniquement sur batterie. Certains ordinateurs portables peuvent avoir 2 batteries installées à la fois pour des durées de fonctionnement encore longues.

jftuga
la source
vous devriez lire le commentaire de Paweł Brodacki; le point de NUT ou apcupsd est que le serveur Linux peut être arrêté sans s'éteindre . Cela signifie que "dernier état" rallume le serveur, auquel cas il allume tous les serveurs Windows. La sauvegarde à long terme de la batterie est un peu complètement le contraire ici.
Michael Lowman
Qu'en est-il de la solution WoL mentionnée par migabi?
jftuga
c'est la même idée. "allume tous les serveurs Windows" est accompli avec WoL; vous n'avez pas votre "WoL box" pour rester en place à cause de la façon dont vous devez l'éteindre (à savoir, de telle sorte que le dernier état fonctionne toujours)
Michael Lowman