J'ai deux machines (A et B, A est maître) exécutant VRPP (de keepalived) pour une IP virtuelle.
Comment puis-je empêcher A de redevenir maître s'il a échoué et revenir (pour une raison quelconque)?
Je fais cela pour que nous ayons un seul basculement vers la deuxième boîte, et revenir à la normale nécessiterait une intervention manuelle.
linux
keepalived
vrrp
MrMagu
la source
la source
Réponses:
Selon ce fil relativement ancien sur la liste des développeurs keepalived, cela peut être fait. Vous définissez les deux serveurs sur une priorité égale (ou aucun), et ne déclarez pas l'état pour MASTER ou BACKUP, et définissez plutôt l'état sur EQUAL pour les deux.
EDIT (07-déc.-2017):
Il semble qu'EQUAL ne soit pas réellement un état valide, bien qu'il semble fournir l'effet souhaité au moment où cette réponse a été publiée. Veuillez noter les commentaires ci-dessous, en particulier le lien vers la liste des problèmes actuels pour keepalived fournie par @cristi.
la source
EQUAL
directive invalide et la traitait comme si aucune priorité n'était définie (ce qui s'est avéré justement avoir l'effet souhaité).Nous avons résolu ce problème en ajoutant l'
nopreempt
indicateur à notre fichier de configuration keepalived. N'a pas eu à changer quoi que ce soit (toujours laissé un commeMASTER
et un commeBACKUP
et ainsi de suite). Fondamentalement, cela lui dit de ne pas changer de maître simplement parce qu'un nouveau serveur est en ligne, de ne commuter qu'en cas de défaillance du maître actuel.la source
Si je comprends bien, lorsqu'un nouveau serveur VRRP arrive, il force une élection, et le serveur actuel n'obtient aucun avantage, donc l'ancien maître viendra et gagnera l'élection. Je doute qu'il y ait beaucoup que vous puissiez faire pour arrêter cela, au-delà du tournage plutôt brutal de The Other Node In The Head. Keepalive peut avoir une configuration pour contrôler le processus électoral. Malheureusement, je n'ai pas le temps de vérifier maintenant, mais je vais essayer de regarder plus tard.
la source