Vous n'êtes pas identifié(e).
Pages : 1
bonjour a tous
Si j'ai de réplication entre un serveur Master et un serveur slave comment effectuer un basculement ?
Est ce que le faite d’arrêter le serveur Maître est suffisant pour avoir un basculement automatique ?
y'a il une commande magique que je peut le faire pour assurer un basculement
merci pour vos aides
Hors ligne
Si j'ai de réplication entre un serveur Master et un serveur slave comment effectuer un basculement ?
Est ce que le faite d’arrêter le serveur Maître est suffisant pour avoir un basculement automatique ?
Non, heureusement. À la moindre déconnexion réseau, paf, on basculerait. Non, vraiment pas.
y'a il une commande magique que je peut le faire pour assurer un basculement
Pour passer un esclave en maître autonome, il vous suffit d'utiliser l'action promote de pg_ctl ou de créer le fichier pointé par le paramètre trigger_file de l'esclave.
Guillaume.
Hors ligne
Tu parle du Fichier recovery.conf ou le fichier recovery.done
Hors ligne
Le paramètre trigger_file se trouve dans le fichier recovery.conf (si j'ai bien compris la question, ce dont je ne suis absolument pas sûr).
Guillaume.
Hors ligne
Bonjour,
Postgresql ne fait pas de bascule automatique, il fait juste de la replication.
Il faut faire une bascule manuelle soit via la commande pg_ctl promote soit en créant le trigger file qui est dans le recovery.conf (qui devient recovery.done une fois la bascule effectuée).
Si vous souhaitez faire une bascule automatique, il faut utilise run outil tiers qui permet de la faire :
- repgmr
- paf
- patroni
- pg_keeper
...
Hors ligne
Bonjour,
Ok pour le basculement d'un standby en primaire. Je l'ai fait avec le recovery.conf auquel j'ai rajouté la commande trigger_file.
La création du fichier master.on (c'est le nom que j'ai choisi) provoque après redémarrage de postrgres sur le standby la possibilité d'écriture et le renomage en recovery.done du fcihier intial.
Pour faire l'inverse que faut-il vraiment faire?
J'avais naïvement pensé que supprimer le fichier master.on puis redémarrer postgres suffirait hors le fichier recovery.done ne redevient pas automatiquement recovery.conf?
d'avance merci pour votre éclairage.
Hors ligne
bonjour,
Il faut reconstruire le slave (ancien master) avec le nouveau master et refaire un recovery.conf (avec trigger file) sur le nouveau slave.
Cordialement,
Sébastien.
Hors ligne
Je reformule pour être sûr d'avoir bien compris :
Pour refaire un esclave à partir du nouveau maitre je suis obligé de refaire un rsync complet, or pour qu"il soit intégrè il faut que je stoppe le nouveau (master) au moins pour la synchronisation des fichiers à l'arrêt.
A l'étape des deux arrêts n'est-il pas plus simple de supprimer le trigger file sur le nouveau master et de renommer son recovery.done en recovery.conf ?
Ou s'agit-il d'une étape visant à assurer l'intégrité des données.
Hors ligne
non, non... inutile de faire un arrêt du master pour faire le resync. Il faut passer par un pg_start_backup/pg_stop_backup.
mais le mieux est de bien lire la doc :
https://docs.postgresql.fr/9.6/warm-standby.html
https://docs.postgresql.fr/9.6/warm-sta … lover.html
Cordialement,
Sébastien.
Hors ligne
Pages : 1