Jump to content

Extinction ordonnée de servs sur un même onduleur


Recommended Posts

Salut à tous ! :yes:

Une petite question rapide s'il y a des admins réseaux dans la zone :

Je vous explique ma problématique : je dispose d'une salle serveur avec un peu plus de 100 serveurs alimentés via un unique onduleur MGE Galaxy 3000 30 kVA. Celui-ci est équipé de la carte LAN pour le mettre sur le réseau et ainsi pouvoir éteindre mes servs en cas de coupure de courant prolongée. Jusque là tout va bien mais c'est après que ça se complique : je voudrais pouvoir éteindre mes serveurs dans un ordre prédéfini (servs Active Directory en dernier par exemple) et là je me trouve bloqué car je n'ai qu'un seul onduleur pour tous mes serveurs et la politique d'extinction fournie avec le logiciel en archi client-serveur (une partie client installée sur chaque serv et une partie serveur installée soit sur un proxy relié en série à l'onduleur soit directement via la carte LAN au choix) est obligatoirement la même pour tous les serveurs reliés à l'onduleur. C'est-à-dire que lorsqu'un paramètre critique est atteint, la carte va donner l'ordre à tous les serveurs de s'éteindre, mais impossible de fixer un ordre d'extinction.

Donc si quelqu'un a une idée je suis preneur sachant que je peux rajouter un ou plusieurs serveurs supplémentaires mais absolument pas rajouter d'onduleur.

Dernière précision : mes serveurs sont sous différents OS. :D

Merci par avance à tous ceux qui prendront le temps de me filer un coup de main ! :mdr:

Link to comment
Share on other sites

je verrais bien une solution, un peu crade et necessitant quelques compétences en developpement par contre ...

L'idée serait d'intercepter le message envoyé par l'onduleur aux clients afin de pouvoir le reproduire (à l'aide d'outils comme wireshark ou ettercap). Ensuite, il suffit de faire un bout de programme qui intercepte le signal de l'onduleur pour le retransmettre de manière échelonnée dans le temps aux différents serveurs du réseau.

Voilà pour le concept, pour la pratique ca me semble réalisable pour peu que tu aies quelques connaissances en programmation de sockets en C/C++, sachant que tu peux utiliser le client fourni par ton onduleur sur la majorité des pcs, seul un petit programme est à réaliser afin d'intercepter/retransmettre le message d'arret des serveurs et à placer sur un poste relié en direct à l'interface réseau de l'onduleur d'un coté, et au reste du réseau de l'autre)

Voilà, j'éspere que c'est compréhensible comme idée, n'hésite pas à me contacter si tu as besoin d'aide pour la réalisation :mdr:

Link to comment
Share on other sites

Yes j'y avais songé ! Je garde cette méthode en dernier recours si je ne trouve rien de mieux ! Je me donne encore quelques jours pour essayer de voir si une autre solution plus propre se dégage de tout ça !

Ceci dit, j'ai quand même un doute car il y a une liaison directe entre le Network Shutdown Module installé sur chaque serveur et la Network Management Card que j'ai installé sur l'onduleur (les 2 communiquent en permanence pour obtenir l'état de chaque élément) donc vu qu'il est impossible de mettre un serveur entre les deux mondes je ne vois pas trop comment intercepter le signal. La solution viendrait par l'installation d'un serveur directement relié à l'onduleur hébergeant un Network Management Proxy envoyant le signal d'alerte aux différents serveurs, mais encore une fois ça s'annonce compliqué vu que celui-ci est relié à l'onduleur soit par port série soit par port USB donc celà risque d'être compliqué pour intercepter le signal...

A moins que je sois à côté de la plaque ? :yes:

Tu peux confirmer ? :D

Sinon si quelqu'un a déjà joué avec les onduleurs MGE et a trouvé une solution plus propre je suis toujours intéressé ça ne presse pas à la seconde donc je peux attendre un peu au cas où une idée vous passe par l'esprit !

Quoi qu'il en soit, merci Manatane de me filer un coup de main ça fait zizir ! :D

PS : Tu en es content de ta P5Q ? :mdr:

Link to comment
Share on other sites

Si j'ai bien compris le fonctionnement de la chose, ton onduleur à la possibilité d'envoyer un signal à un proxy à travers une interface serie ou usb, mais ensuite le poxy envoie le signal à travers le LAN c'est bien ça ?

A partir de là, l'idée serait d'avoir :

- un proxy connecté à l'onduleur utilisant le logiciel original fourni avec l'onduleur

- un second proxy doté de 2 interfaces réseau :

- une premiere interface connectée directement au proxy de l'onduleur et interceptant les messages d'extinction

- une deuxieme interface réseau connecté au reste du réseau (ou à ton réseau d'administration si tu as plusieurs réseaux pour tes serveurs), relayant les messages d'extinction en les réordonnant

C'est donc sur ce 2eme proxy qu'il faudrait intercepter le message d'extinction la première fois (après que le premier proxy l'ait reformaté pour le transférer par le réseau à l'ensemble des postes du réseau) pour pouvoir le regénérer sur la deuxième interface.

Par contre il faudra certainement penser à faire ca dans les deux sens : les serveurs envoyant probablement eux aussi des informations à l'onduleur sur leur état de santé, il faudra penser à les relayer dans l'autre sens également.

L'avantage d'une telle solution est qu'elle permets d'utiliser les programmes fournis avec ton onduleur de façon relativement transparente. L'inconvénient étant qu'il peut ne pas être aisé d'intercepter tous ces paquets pour pouvoir les reproduire comme on veut (il est possible que des mécanismes de sécurité soient implémentés dans le protocole utilisé par l'onduleur pour empêcher ce type de manoeuvres)

Sinon, en ce qui concerne la P5Q Pro, j'en suis effectivement ravi, bien que si j'avais pu attendre quelques jours de plus j'aurais probablement attendu la disponibilité de la deluxe pour les quelques options supplémentaires dans le bios ... mais bon je venais de cramer ma P5B et ai déjà eu beaucoup de chance de trouver un P45 ce jour là :p. Sinon pour l'oc c'est du bonheur, le FSB atteint des sommets sans toucher aux voltages autres que Vcore, le vdroop est quasi inexistant (et la plupart du temps se fait "à l'envers" chez moi, le vcore augmentant légerement avec la charge au lieu de diminuer drastiquement comme c'était le cas avec ma P5B)

De rien pour le coup de main, ca fait plaisir de pouvoir se rendre utile aussi :transpi:

Link to comment
Share on other sites

Héhé pas mal alors la P5Q ! Merci pour ton feedback ! 2 semaines que j'ai totalement laché le hardware pour profiter de l'été avec ma femme et me voilà paumé dans les nouveautés ! :transpi:

Et effectivement bravo : tu as bien compris l'architecture de l'installation ! Ceci dit il reste un problème : pour relier chaque client à l'onduleur, il faut directement rentrer l'IP du proxy qui fournit l'intelligence à l'onduleur dans l'application client ! C'est le seul et unique moyen pour que l'application client puisse envoyer les infos d'états du serveur vers le proxy. Ensuite c'est un scanner lancé à partir du proxy lui-même qui prend les choses en main pour ajouter le serveur à la liste des machines à proteger donc il reste toujours à trouver la technique pour "tromper" ce scanner mais aussi pour faire comme si le serveur intermédiaire n'était pas là ! Et vu comment la suite logicielle est hermétique à mon avis ça va pas être une partie de plaisir !

En tout cas c'est plutôt INtéressant ! Je vais essayer d'envoyer un mail à MGE France histoire de savoir si ils ont pas une technique maison parcequ'on risque de bien s'arracher les cheveux comme ça ^^

Dans tous les cas je te tiens au courant !

...eh beh je suis pas au bout de mes peines moi !!! :p

Link to comment
Share on other sites

Nan j'ai pas de prises programmables dessus ! Donc une seule politique de shutdown pour tous les serveurs !

Mais bon là je pars sur une autre voie : je comptes exécuter un script central hébergé sur un serveur dédié à partir de chaque client !

J'ai déjà commencé à dév dessus ça va être du gros boulot mais c'est faisable je pense !

Par contre y'a un truc vraiment lourd c'est qu'il faut que je recode le client pour pouvoir débrider ses possibilités et exécuter le script de mon choix dessus !

Link to comment
Share on other sites

J'ai pensé à un truc entre temps ... Le seul signal réellement interressant pour l'onduleur est le signal d'extinction pour cause de coupure de courant. En effet, rien ne t'empeche de gérer l'ensemble des autres paramètres avec un serveur de monitoring de parc type nagios, bigbrother ou autre il me semble (remontées snmp pour les températures et script gérant l'extinction de la machine en cas d'atteinte d'un threshold par exemple). Ce qui simplifie pas mal ma proposition initiale puisque tu n'as des lors plus besoin d'identifier tous tes serveurs au sein du service de l'onduleur, en effet, il n'y a plus qu'à identifier une machine sur laquelle tu fais tourner un script qui va intercepter la commande d'extinction de l'onduleur et la repasser au reste du parc de manière échelonnée, et possiblement sous une autre manière (RPC, ssh, BMC ...)

Link to comment
Share on other sites

Salut !

Je repasse donc comme prévu pour donner de mes news !

Finalement j'ai choisi de faire plus simple : je n'installe le logiciel client que sur un seul serveur et je le configure comme s'il faisait partie des 100 machines à protéger.........sauf que il sera tout seul ! J'ai décidé de ne pas installer le soft client sur les autres machines !

Ce serveur héberge un joli script batch de ma création pour gérer l'extinction de mes 100 serveurs par vagues comme je le souhaitais et ça marche nickel !

Par contre il me reste un gros problème : dans le logiciel client il y a donc possibilité de lancer un script lorsqu'une alarme est détectée via l'entrée d'une ligne de commande. Seul problème : le logiciel client (qui est un client web) refuse de me lancer mon script ! Il ne se passe rien ! Il est configuré d'origine pour exécuter un script à la noix donc je vais vous poser le code :

Ligne de commande dans le logiciel client :

"..\bin\tools\shutdown.bat" 1000 -shutdown

Code du fameux shutdown.bat :

@echo off
rem All output to the console must be hidden to avoid execution hanging
rem ------------------------------------------------------------------------------------------
rem %1 = An optional shutdown delay in milliseconds to keep care of other action execution
rem %2 = The shutdown type
rem %3 = An optional shutdown option
rem ------------------------------------------------------------------------------------------
..\bin\tools\wait %1
..\bin\tools\shutdown.exe %2 %3

Et moi j'ai juste modifié le contenu de shutdown.bat pour y lancer mon script à la place... J'ai essayé en batch simple ou en vbs et même problème le script refuse de se lancer depuis le client (en simulant une panne) alors qu'il se lance très bien en ligne de commande ou même directement en cliquant sur l'icône dans le dossier Windows !

Voilà un petit exemple de ce que j'ai pu mettre dans ce shutdown.bat pour tenter de lancer mon script :

CALL .\shutdownperso.bat

START /MAX .\shutdownperso.bat

@ECHO off

Set vbs=c:\Off.vbs

> %vbs% echo Dim WshShell
>> %vbs% echo Dim rep
>> %vbs% echo Set WshShell = CreateObject("Wscript.Shell")
>> %vbs% echo.
>> %vbs% echo WshShell.Run(".\shutdownperso.bat")
>> %vbs% echo Wscript.Quit

start /w wscript.exe %vbs% & del %vbs%

J'ai même essayer de garder le code initial et de compiler mon .bat en .exe et toujours rien...

Là franchement je déprime... Marre des suites logicielles à la c** alors que le script marche très bien. Et là je suis complètement bloqué car sans logiciel client, aucun moyen de détecter que l'onduleur est passé en alerte...

Donc si quelqu'un a une idée je suis preneur !

Petit rappel : le nom du logiciel client est Network Shutdown Module au cas où il y aurait des gens qui aient déjà bossé dessus !

Merci d'avance !

Link to comment
Share on other sites

Peut-être qu'il vérifie l'intégrité du script avant de l'exécuter... mais pas normal.

Pouvez-vous avec Process Monitor (Filemon et Regmon mélangés) regarder si quand le client devrait lancer quelque chose, il essaie tout de même ?

Link to comment
Share on other sites

Ouais il y a bien une activité !

Ce qui est bizare c'est que le script d'origine il le lance bien et ce script lance un exécutable.

Par contre si j'essaye de mettre une instruction "PAUSE" dans le script initial alors plus rien ne se passe et je n'ai pas la fenêtre DOS qui s'ouvre pour me dire d'appuyer sur une touche pour continuer.

Et donc idem si je mets mon script perso ou si je remplace l'exécutable initial par le mien (ou par mon script) ça ne fait rien non plus... On s'arrache les cheveux ici...

Link to comment
Share on other sites

  • 4 months later...

salut,

j'ai le meme problème que toi c'est a dire eteindre des serveurs lorsque le seuil de l'onduleur devient critique. je dois aussi coupler cette solution avec une sonde de température. pour intercepter les états je voudrai installer un serveur nagios qui récupere les trap snmp de la carte de l'onduleur et de la sonde de température. de la je pourrai lancer des scripts shutdown (ssh) car j'ai des domaines differents et des os différents. que penses tu de cette solution et toi ou en est tu?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...