J'expédie un tas de serveurs ESXi 5.1 à des bureaux distants où ils seront alimentés via APC UPS.
Je voudrais que l'onduleur déclenche un arrêt du serveur connecté - je compterais alors sur la configuration ESXi pour prendre en charge l'arrêt / la suspension des VM hébergées sur celui-ci.
Je peux voir qu'APC a une solution documentée à l'aide de son arrêt réseau PowerChute , mais cela implique la configuration d'un serveur supplémentaire par bureau et nécessite des cartes réseau sur chaque onduleur. Nous utilisons généralement UPS sans carte réseau (par exemple Back-UPS Pro) - ils sont livrés avec un connecteur USB et ils sont facilement disponibles dans les endroits où se trouvent nos bureaux.
Comment puis-je connecter un onduleur à un hôte ESXi via USB, puis demander à ESXi de détecter une panne de courant et d'agir en conséquence? Quelqu'un a-t-il réussi à le faire?
Réponses:
Selon APC, cela n'est pas possible et vous avez besoin de l'arrêt du réseau Powerchute. Nous avons essayé plusieurs fois avec USB et n'avons trouvé aucune solution.
VMWare a des informations ici sur l'utilisation de la solution approuvée APC.
Penserait également que SmartUPS serait un meilleur choix et vous pouvez vous adapter à la carte réseau. Naturellement plus d'argent, mais si vos serveurs sont importants, ce coût en vaut la peine. Vous offre également plus de surveillance et d'alerte, ce qui pourrait être utile sur un site distant. Vous devez également garantir un temps d'exécution suffisant pour que toutes les machines virtuelles s'arrêtent proprement, puis arrêtent l'hôte
la source
Oui c'est possible. Voici les détails de ma configuration similaire.
Configuration matérielle: APC Smart-UPS 1500 connecté à l'hôte ESXi 5.1 via USB. Une machine virtuelle Linux exécutée sur cet hôte ESXi. L'onduleur est connecté à cette machine virtuelle à l'aide de l'option de transfert USB ESXi.
Configuration logicielle: maître NUT (Network UPS Tools) exécuté sur la machine virtuelle et esclave natif ESXi NUT exécuté sur l'hôte ESXi.
Logique d'arrêt: VM exécute les usbhid-ups du pilote UPS qui est responsable de la communication avec UPS via USB. Le processus upsd se connecte à l'onduleur via le pilote usbhid-ups et surveille l'état de l'onduleur. Le processus maître upsmon exécuté sur la même machine se connecte à l' upsd et lance l'arrêt. L'hôte ESXi exécute la 2e instance de upsmon qui se connecte également à la même machine virtuelle upsd via le réseau interne.
En cas de panne de courant, la séquence suivante a lieu:
Téléchargements:
Le NUT pour Linux peut être installé à partir du package.
Le client NUT natif pour le serveur ESXi peut être téléchargé en utilisant le dernier lien sur cette page: http://www.networkupstools.org/download.html
Certains de mes scripts et fichiers de conf sont ici (seules les lignes modifiées sont affichées): http://pastebin.com/KkEeanK1
Remarques:
Bien sûr, il y a plus de détails et il m'a fallu un certain temps pour que cela fonctionne comme il se doit. Mais maintenant, il fonctionne très bien. Ce système prend en compte les cas où vous venez d'arrêter la machine virtuelle de surveillance de l'intérieur (le script vmware-tools n'est pas exécuté), ou s'il s'agit d'un arrêt de machine virtuelle lancé par l'hôte ESXi (pas d'indicateur / etc / killpower, donc pas de chargement de l'onduleur), ou s'il s'agit d'un arrêt ESXi (le même). Le seul important est d'avoir cette machine virtuelle exécutée dès que possible après le démarrage de l'hôte, et de l'arrêter en dernier (donc le temps d'arrêt de l'hôte est prévisible - comme dit ci-dessus, c'est environ 1 minute pour moi et 2 minutes de plus je réserve juste au cas où).
Mon UPS surveillant la machine virtuelle Linux est également un serveur de partage Samba / NFS pour le stockage de sauvegarde, le serveur NAT / DHCP pour les machines virtuelles et certains autres services légers. Il prend environ 22 MHz de partages de processeur ESXi et environ 10 Mo de RAM active lorsqu'il est inactif. En raison de l'utilisation du NUT, vous pouvez alimenter plus d'appareils à partir du même onduleur si nécessaire, et tout cela peut être arrêté sans problème. Aucune carte de moniteur réseau PowerChute et / ou coûteuse n'est requise.
la source
Super question. Il est en fait possible de le faire très bien - au moins sur certaines configurations. J'ai essayé la recette suivante sur un certain nombre d'hôtes ESXi 5.5. Fondamentalement, la solution se présente comme suit:
ctrl urb status -62
dansdmesg
, il est probable que le contrôleur physique ne correspond pas à celui de votre machine virtuelle. S'ils correspondent - eh bien, c'est un problème. J'ai une configuration avec ce genre de problème et aucune vraie solution.apcupsd
sur la machine virtuelle Linux - dans Ubuntu, vous pouvez fairesudo apt-get install apcupsd
pour installer la dernière version. Le projet NUT est également sympa mais je suis un traditionaliste.sudo apt-get install putty-tools
plink root@<your ESXi host IP>
. Vous pouvez immédiatement fermer la connexion. L'objectif est de sauvegarder la clé d'hôte afin que plink ne l'invite plus lorsque nous l'exécutons via un script/etc/apcupsd/apcupsd.conf
et modifier les éléments ci - dessous afin qu'ils correspondent:UPSNAME < the name you'd like your UPS to have > UPSCABLE usb UPSTYPE usb # DEVICE DIRECTIVE should be blank for USB DEVICE
Veillez également à ce que/etc/default/apcupsd
aISCONFIGURED=yes
/etc/apcupsd/apccontrol
et faites défiler jusqu'audoshutdown
cas. Faites comme ça:doshutdown) echo "UPS ${2} initiated Shutdown Sequence" | ${WALL} # Shut down indirectly by triggering the ESXi host to do the # shutdown via VMWare tools /usr/bin/plink root@< your ESXi host IP > -pw < your root pw > "/sbin/shutdown.sh && /sbin/poweroff" ;;
sudo service apcupsd restart
et voyez si les choses fonctionnent en appelantapcaccess
. Sinon, vérifiez les journaux et dmesgvCenter -> <your host> -> Manage -> Settings -> VM Startup/Shutdown
. Assurez-vous que l'action d'arrêt consiste à arrêter le système d'exploitation invité.Une fois que vous avez ces choses en cours d'exécution, le
doshutdown
scriptlet de l'étape 8 est appelé en cas de panne de courant. C'est à son tour invoque le script shutdown.sh sur l'hôte ESXi, qui signale au package VMWare Tools dans chaque VM sur votre hôte de faire un arrêt propre via le système d'exploitation invité. D'après mon expérience, cela fonctionne mieux que le logiciel PowerChute d'APC.Si vous souhaitez surveiller les choses à partir de vos machines virtuelles, vous pouvez configurer sur elles des instances d'apcupsd esclaves qui se connectent à la machine virtuelle Linux de contrôle de l'onduleur maître. Vos fichiers esclaves apcupsd.conf devraient avoir une entrée comme celle-ci: les
UPSTYPE net < your UPS control VM IP >:3551
entrées comme
UPSCABLE
et telles n'ont pas d'importance dans ce cas. Cela fonctionne également avec la version Windows deapcupsd
(disponible ici ). Vous pouvez utiliser le inclusapctray.exe
pour vérifier l'état actuel des choses.Je pense que cela le couvre à peu près.
la source
doshutdown
un peu la séquence. Nous avons ajouté${APCUPSD} --killpower
juste avant la/usr/bin/plink
pièce pour que l'onduleur s'arrête après un certain temps et redémarre automatiquement lorsque l'alimentation est de retour. En outre, il convient de noter que l'étape 6 doit être effectuée telle qu'elle a étéroot
acquise viasu
ousudo su
, mais passudo -s
.Vous pouvez envisager d'utiliser la fonctionnalité de relais de périphérique USB à un invité exécutant PowerChute ou un autre logiciel capable de surveiller la santé de l'onduleur et capable de déclencher un arrêt sur l'hôte ESXi (par exemple apcupsd ). ESXi ne prend officiellement en charge qu'un nombre très limité de périphériques USB pour le relais , mais les gens ont attaché et traversé différentes classes d'appareils depuis un certain temps déjà avec un succès variable, mais l'APC UPS USB semble fonctionner selon cette procédure pas à pas pour une machine virtuelle Windows ou celui-ci pour une machine virtuelle Linux CentOS .
la source
Jetez un œil à vSphere Management Assistant (vMA) à partir d' ici Nous l'utilisons à mon bureau pour faire ce que vous essayez, cependant avec Smart-UPS connecté via USB plutôt que Back-UPS.
la source
Bien que possible (probablement / généralement), je ne pense pas qu'un arrêt automatisé d'un ordinateur sur batterie soit une bonne idée. Si vous allez faire cela, alors pour la plupart des intentions et des buts pratiques, vous devriez probablement vous épargner l'argent d'un onduleur alimenté par batterie et laisser la perte d'alimentation arrêter votre machine pour vous. (Certes, un arrêt propre est toujours préférable à une perte de puissance, mais vous semblez manquer d'avoir une autonomie de plus de quelques minutes si vous éteignez automatiquement tout lorsque vous perdez l'alimentation électrique. )
La façon dont je l'ai toujours géré est d'avoir une alerte de surveillance des SA lorsque l'alimentation est coupée, afin que les SA puissent utiliser leur matière grise pour décider quand (ou même si) d'arrêter les serveurs. Si c'est une brève panne, ce n'est peut-être pas une bonne idée d'arrêter les serveurs du tout, ou vous pouvez laisser certains serveurs opérationnels aussi longtemps que possible, et les arrêter uniquement avant que la batterie ne meure. Me semble vraiment être une tâche de prise de décision mieux adaptée à l'homme qu'une simple règle.
la source
Dans l' ancien temps des installations baremetal , APC PowerChute Plus était une partie essentielle de mon processus d'installation. En utilisant le simple câble de signalisation série et leur binaire uniquement Red Hat , il était facile de configurer des règles pour gouverner un serveur connecté localement. Des notifications par e-mail de base pour les événements de batterie UPC, les événements d'alimentation de ligne et les actions d'arrêt étaient disponibles:
et
ou
Plus une interface raisonnable pour voir ce qui se passait ...
Ce logiciel est finalement devenu commercial (ou a été enterré sur le site Web d'APC). Il y avait quelques approches open source pour fournir quelque chose de similaire. Mais tout cela se complique avec des hôtes VMWare ESXi uniques.
Il semble que c'est quelque chose que VMWare aurait dû intégrer à l'hyperviseur de base. C'est basique et pourrait offrir un niveau de protection décent aux utilisateurs. Les remèdes les plus courants que je vois maintenant sont le transfert USB vers une machine virtuelle dédiée, une approche démon réseau ou faire ce que je fais; ne pas configurer d'arrêt automatique ou de batterie ...
Certes, j'utilise généralement un onduleur qui peut prendre en charge la charge du système pendant une heure ou plus, mais des pannes prolongées se produisent. Une alternative est peut-être de collecter quelques cartes d'interface réseau à faible coût ou remises à neuf et de prévoir au moins d'acheter des appareils SmartUPS ...
la source
Consultez le lien suivant . Pas la solution la plus élégante, mais une solution très pratique et très simple. Il existe des inconvénients possibles en termes de sécurité (en fonction de la conception particulière de votre réseau, des invités chargés sur les hôtes et des accès des utilisateurs à ces invités, mais vous pouvez passer cet appel.
la source
J'ai utilisé la solution MrMajestyk et j'ai seulement changé l'accès ssh via plink avec un accès ssh sans mot de passe en utilisant la clé publique rsa. La clé rsa générée dans la machine virtuelle apcupsd doit être incluse dans / etc / ssh / keys-root / authorized_keys de l'hôte vmware.
la source