PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Retour sur failover avec Slony

Technique - général | Retour sur failover avec Slony

Par Kiba le 07/09/2007 - 12:13

Bonjour à tous.

Après la réalisation d'un fail over sur mon serveur maitre, passant l'esclave comme nouveau maitre, je veux remettre le serveur dans le systeme de replication.

De ce que j'ai lu, il faut supprimer son node, le recréer, le positionner comme esclave du nouveau serveur maitre, puis de faire un switch over
J'ai écrit un script qui fait la premiere partie de cet énoncé : suppression et re-création. Malheureusement cela n'est aps fonctionnel, et je patauge quand à savoir le pourquoi.

/*** Code **/

cluster name = cluster_test;

node 1 admin conninfo = 'dbname=madb host=192.168.1.70 user=admin password=admin';
node 2 admin conninfo = 'dbname=madb host=192.168.1.71 user=admin password=admin';

#on supprime le node defaillant du cluster
try{
drop node (id = 1, event node = 2);
echo 'drop node OK';
}
on error{
echo 'erreur drop node';
}

#on va recréer le node
try{
store node (id=1, comment = 'node maitre');
echo 'Enregistrement du node OK';
}
on error{
echo 'Echec à lenregistrement du node';
exit -1;
}

try{
store path (server = 1, client = 2, conninfo='dbname=madb host=192.168.1.70 user=admin password=admin');
store path (server = 2, client = 1, conninfo='dbname=madb host=192.168.1.71 user=admin password=admin');
echo 'Enregistrement des paths OK';
}
on error{
echo 'Echec à lenregistrement des path';
exit -1;
}

try{
subscribe set ( id = 1, provider = 2, receiver = 1, forward = no);
echo 'Reinscription au set OK';
}
on error{
echo 'Echec lors de la réinscription au set';
exit -1;
}

Message de retour :

Error: ev_origin for store_node cannot be the news node
Drop Node OK
Error: namespace "_madb" already exists in database of node 1
Echec lors de lenregistrement du node

**/

Ca veut dire que supprimer le node n'est pas suffisant ? Je ne toruve rine sur une eventuelle suppression de cluster complet... Merci de me dire quoi chercher :)

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Hum...

SAS/ = 7 Septembre, 2007 - 14:47

Bonjour,

Le message de retour est-il exactement celui que vous obtenez ?

Les messages affichés ne correspondent pas à ceux présentés dans le script.

Pourriez-vous également nous indiquer les versions PG et Slony ?

Pour en revenir à la question qui nous préoccupe, s'agit-il d'un failover, exécuté avec une commande du style

FAILOVER (
ID = $MASTERNODE,
BACKUP NODE = $SLAVENODE
);

Dans le STORE NODE, par défaut, EVENT NODE vaut 1. Or dans votre cas, il faut le positionner à 2, soit :

STORE NODE(
ID=1,
EVENT NODE=2);

Enfin, le drop node n'est pas suffisant pour nettoyer le noeud des schémas Slony. Essayez d'utiliser UNINSTALL NODE :

UNINSTALL NODE(
ID = 1);

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Merci

Kiba/ = 7 Septembre, 2007 - 16:17

Ahhhhhhhhhh, j'en vois enfin le bout.
Merci pour ton aide, le systême est fonctionnel ^^

Pour l'incohérence des noms c'est de ma faute; recopier à travers un VNC c'est un peu lourd ^^

Un dernier point :
mon scrip executé sur l'esclave :

try{
failover(id = 1 , BACKUP NODE = 2);
drop node (id = 1 , event node = 2);
echo 'failover OK';
}
on error{
echo 'erreur lors du fail over';
}

à la premiere execution il semble tourner sans s'arreter, au bout d'une dizaine de secondes je fais un kill, et je le restart, et là il réalise de suite la commande.

Je tourne sous win XP, PG 8.2.4, slony 1.2

Ca fait un peu bizarre comme probleme, ce n'est pas blocant, maisd pas propre non plus :/

Sinon merci pour le coup de main :)


info sur slony

santnet/ = 7 Septembre, 2007 - 19:58

Bonjour,

je vois que tu utilises slony.

Je veux mettre une configuration de ce style en place.

Peut etre pourrait on echanger ?

Voici mes coordonnees :

nicolas.lemaire@santnet.com

Cordialement,

Lemaire Nicolas


Up

Kiba/ = 11 Septembre, 2007 - 16:08

Personne n'a d'idée sur le pourquoi du double failover afin d'obtenr le résultat attendu ? merci


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.