Salut à tous et bonne année 2013 !
Certains d'entre vous m'ont conseillé en 2012 l'utilisation de Ganeti pour un petit cluster HA avec quelques VM. Lors de la lecture de la documentation je me suis rendu compte que Ganeti ne prenait volontairement pas en charge de failover automatique. Or je voudrais mettre en place une reprise automatique en cas de panne matérielle d'un noeud vers l'autre noeud sur le même principe que Heartbeat le fait sur un cluster que j'ai actuellement.
Connaitriez-vous des solutions pour mettre cela en oeuvre avec Ganeti ?
Le 03/01/2013 11:01, Artur a écrit :
Salut à tous et bonne année 2013 !
Certains d'entre vous m'ont conseillé en 2012 l'utilisation de Ganeti pour un petit cluster HA avec quelques VM. Lors de la lecture de la documentation je me suis rendu compte que Ganeti ne prenait volontairement pas en charge de failover automatique. Or je voudrais mettre en place une reprise automatique en cas de panne matérielle d'un noeud vers l'autre noeud sur le même principe que Heartbeat le fait sur un cluster que j'ai actuellement.
Connaitriez-vous des solutions pour mettre cela en oeuvre avec Ganeti ?
Salut et bonne année,
Quand un noeud est injoignable et que donc des machines sont marquées en ERROR_down elles sont redémarrées automatiquement chez nous. Si tu arrêtes manuellement une machine elle est marquée comme ADMIN_down. Je n'ai rien fait pour que cela se fasse tout seul. Par contre si on fait nous même des manips sur les nodes genre upgrade du système et qu'on fait une fausse manip elles ne sont pas redémarrées toute seule.
Au pire faudrait faire une taĉhe cron qui vérifie qu'aucune machine n'est en ERROR_down et la redémarre si besoin. Je pense devoir le faire pour une machine windows 2008 qui je ne sais pour quelle raison s'arrête toute seule. J'ai déjà été plusieurs fois en RDP quand cela se produit, on voit bien le logout et shutdown se lancer.
Une autre solution serait de voir avec les htools si le mécanisme de répartition de charge ne prend pas en compte les machines en état anormal.
Jusqu'à présent on avait pas besoin de cela car si une machine passait en erreur c'est qu'il y avait un souci sur cette dernière suffisamment important pour que le redémarrage automatique ne change rien.
Le 03/01/2013 11:43, Wallace a écrit :
Quand un noeud est injoignable et que donc des machines sont marquées en ERROR_down elles sont redémarrées automatiquement chez nous.
Tu veux dire qu'une VM est redémarrée automatiquement quand une machine physique principale pour cette VM s'arrête ? C'est probablement ganeti-watcher qui le fait, non ?
Salut,
Certains d'entre vous m'ont conseillé en 2012 l'utilisation de Ganeti pour un petit cluster HA avec quelques VM.
Bon choix :)
Lors de la lecture de la documentation je me suis rendu compte que Ganeti ne prenait volontairement pas en charge de failover automatique.
Vrai, et ce n'est pas prêt d'être intégré.
Or je voudrais mettre en place une reprise automatique en cas de panne matérielle d'un noeud vers l'autre noeud sur le même principe que Heartbeat le fait sur un cluster que j'ai actuellement.
Connaitriez-vous des solutions pour mettre cela en oeuvre avec Ganeti ?
Lis la mailing list Ganeti-devel, il y a une RFC, des patchs et une discution à ce propos entre les devs. Cherche Corosync/pacemaker.
En gros: ça marchotte, c'est pas fini, et ce n'est pas conseillé "use it at your own risk".
Je n'ai pas testé personnellement, j'ai suivi le thread avec intérêt. Je suis interessé par tes retours si tu essaies.
Quand un noeud est injoignable et que donc des machines sont marquées en ERROR_down elles sont redémarrées automatiquement chez nous. Si tu arrêtes manuellement une machine elle est marquée comme ADMIN_down. Je n'ai rien fait pour que cela se fasse tout seul.
Ganeti-watcher, et c'est HS. Il veut un failover de node, pas un redémarage de la VM sur la même node.
Au pire faudrait faire une taĉhe cron qui vérifie qu'aucune machine n'est en ERROR_down et la redémarre si besoin.
C'est Ganeti watcher :)
Le 03/01/2013 16:14, Sébastien Bocahu a écrit :
Or je voudrais mettre en place une reprise automatique en cas de panne matérielle d'un noeud vers l'autre noeud sur le même principe que Heartbeat le fait sur un cluster que j'ai actuellement.
Connaitriez-vous des solutions pour mettre cela en oeuvre avec Ganeti ?
Lis la mailing list Ganeti-devel, il y a une RFC, des patchs et une discution à ce propos entre les devs. Cherche Corosync/pacemaker.
En gros: ça marchotte, c'est pas fini, et ce n'est pas conseillé "use it at your own risk".
Je n'ai pas testé personnellement, j'ai suivi le thread avec intérêt. Je suis interessé par tes retours si tu essaies.
Effectivement ils ne souhaitent pas intégrer cela pour des raisons un peu obscures mais cela se fait bien facilement cf plus bas.
Quand un noeud est injoignable et que donc des machines sont marquées en ERROR_down elles sont redémarrées automatiquement chez nous. Si tu arrêtes manuellement une machine elle est marquée comme ADMIN_down. Je n'ai rien fait pour que cela se fasse tout seul.
Ganeti-watcher, et c'est HS. Il veut un failover de node, pas un redémarage de la VM sur la même node.
Pour cela on a scripté à base de gnt-cluster master-ping et de gnt-cluster master-failover pour le failover du master si besoin. Puis un autre script qui gère les cas de panne, avec des grep voilà la liste des commandes que l'on fait sur Ganeti :
gnt-node modify -O yes $NODENAME gnt-node evacuate --force -I hail $NODENAME
Le watcher se charge de redémarrer les vm par la suite.
Au pire faudrait faire une taĉhe cron qui vérifie qu'aucune machine n'est en ERROR_down et la redémarre si besoin.
C'est Ganeti watcher :)
Oui effectivement c'était ce que nous faisions à une époque où l'on désactivait le watcher car il nous faisait des misères, je suis sur Ganeti depuis pas mal d'année, j'ai essuyé les plâtres. Mon état grippal vient de me rappeler que par défaut le watcher tourne toutes les 5 minutes et que dans notre doc d'install on le modifie pour que cela tourne toutes les minutes.