recuperar nodo en estado 3

Started by Miguel Angel Hernandez Morenoabout 16 years ago13 messagesgeneral
Jump to latest
#1Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com

tengo un problema ya habia replicado los datos en las BD

2010-03-11 19:23:58 DEBUG: pid 8252: starting health checking
2010-03-11 19:23:58 DEBUG: pid 8252: health_check: 0 th DB node status: 1
2010-03-11 19:23:58 DEBUG: pid 8252: health_check: 1 th DB node status: 3
2010-03-11 19:24:28 DEBUG: pid 8252: starting health checking
2010-03-11 19:24:28 DEBUG: pid 8252: health_check: 0 th DB node status: 1
2010-03-11 19:24:28 DEBUG: pid 8252: health_check: 1 th DB node status: 3

y me marca eso

lo que hice fue incorporar un nodo en el pg.conf con los mismos datos
que el nodo caido para que me quedara asi

backend_hostname0 = 'pgsql1'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/pgsql/data'
backend_hostname1 = 'pgsql2'
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = '/var/lib/pgsql/data'
backend_hostname2 = 'pgsql2'
backend_port2 = 5432
backend_weight2 = 1
backend_data_directory2 = '/var/lib/pgsql/data'

y ahora que me conecto me queda asi
2010-03-11 19:27:56 DEBUG: pid 8384: starting health checking
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 0 th DB node status: 1
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 1 th DB node status: 3
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 2 th DB node status: 1

por que el nodo 1 nunca se recupero a pesar de que son los mismos
gracias!!

#2Cesar Martin
cmartinp@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#1)
Re: recuperar nodo en estado 3

Eso, no tiene demasiado sentido, no veo la razon para agregar dos nosotros
que son el mismo, lo unico que puede pasar es que te de fallos...
Lo que tienes que hacer es intentar recuperar el nodo que estaba en estado
3, no agregarlo otra vez, si estas totalmente seguro de que el nodo 1 esta
sincronizado con el 0 haz un pcp_attach_node y para poner el nodo 1 online,
pero antes de esto, quita el nodo 2 de la configuracion.
Un saludo.

PD. Creo que no deberias mandar mensajes en Castellano a la lista general,
por eso la he quitado de la respuesta.

El 12 de marzo de 2010 02:31, Miguel Angel Hernandez Moreno <
miguel.hdz.mrn@gmail.com> escribió:

tengo un problema ya habia replicado los datos en las BD

2010-03-11 19:23:58 DEBUG: pid 8252: starting health checking
2010-03-11 19:23:58 DEBUG: pid 8252: health_check: 0 th DB node status: 1
2010-03-11 19:23:58 DEBUG: pid 8252: health_check: 1 th DB node status: 3
2010-03-11 19:24:28 DEBUG: pid 8252: starting health checking
2010-03-11 19:24:28 DEBUG: pid 8252: health_check: 0 th DB node status: 1
2010-03-11 19:24:28 DEBUG: pid 8252: health_check: 1 th DB node status: 3

y me marca eso

lo que hice fue incorporar un nodo en el pg.conf con los mismos datos
que el nodo caido para que me quedara asi

backend_hostname0 = 'pgsql1'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/pgsql/data'
backend_hostname1 = 'pgsql2'
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = '/var/lib/pgsql/data'
backend_hostname2 = 'pgsql2'
backend_port2 = 5432
backend_weight2 = 1
backend_data_directory2 = '/var/lib/pgsql/data'

y ahora que me conecto me queda asi
2010-03-11 19:27:56 DEBUG: pid 8384: starting health checking
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 0 th DB node status: 1
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 1 th DB node status: 3
2010-03-11 19:27:56 DEBUG: pid 8384: health_check: 2 th DB node status: 1

por que el nodo 1 nunca se recupero a pesar de que son los mismos
gracias!!

--
César Martín Pérez
cmartinp@gmail.com

#3Cesar Martin
cmartinp@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#1)
Re: recuperar nodo en estado 3

Buenas,

Creo que te falta importar el sql que te crea las funciones en la BBDD
template y en las que tengas creadas en ese momento. Mira esta parte del
manual oficial:

Installation of C language function

You need to install the C language function for online recovery to
"template1" database of all backend nodes. Source code is in pgpool-II tar
ball.

pgpool-II-x.x.x/sql/pgpool-recovery/

Change the directory and do "make install".

% cd pgpool-II-x.x.x/sql/pgpool-recovery/
% make install

Then, install SQL function.

% cd pgpool-II-x.x.x/sql/pgpool-recovery/
% psql -f pgpool-recovery.sql template1

Dime, si hiciste ese punto, porque yo creo que es lo que te falta...

PD. Pongo en copia a la lista, porque esto puede interesarle a alguien que
en un futuro le pase lo mismo.

El 16 de marzo de 2010 16:15, Miguel Angel Hernandez Moreno <
miguel.hdz.mrn@gmail.com> escribió:

Hola Cesar:

Oye ya estube haciendo pruebas con el pcp_recovery_node y ya e llegado a
un punto donde no pude avanzar jejejejeje, bueno el show esta en que cuando
aplico pcp_recovery_node me indica lo siguiente

2010-03-16 09:06:07 DEBUG: pid 9915: exec_remote_start: start
pgpool_remote_start
2010-03-16 09:06:07 ERROR: pid 9915: exec_remote_start: pgpool_remote_start
failed: ERROR: no existe la función pgpool_remote_start(unknown, unknown)
LINE 1: SELECT pgpool_remote_start('pgsql2', '/var/lib/pgsql/data')
^
HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede
desear agregar conversión explícita de tipos.

Como puedo hacerle para que funcione de forma correcta??
sera que tengo mal los scripts que marcar el manual??
o acaso me faltan scripts??

- pgpool-failover
- wall_archiving
- base-backup
- pgpool-recovery-pitr
- pgpool_remote_start
- pgpool-failback

Estos son los scripts que tengo, y estan modificados por que las rutas
varian en mi equipo, sabrias que esta fallando??

de antemano muchas gracias!!

--
César Martín Pérez
cmartinp@gmail.com

#4Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Cesar Martin (#3)
Re: recuperar nodo en estado 3

Si ya lo hice!!

mira tengo el pgpool intalado ya me avente de forma completa el manual
de replicación que tiene postgres!! Osea el problema no es que no replique
sino que cuando hago un pcp_node_recovery, al parecer todo marcha de
maravilla, no hay problema, funciona y todo, pero a la hora de concluir me
arroja lo siguiente

LOG DE PGPOOL
2010-03-17 16:24:17 DEBUG: pid 5755: I am PCP 5755 accept fd 5
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: received PCP packet type of
service 'M'
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: salt sent to the client
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: received PCP packet type of
service 'R'
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: authentication OK
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: received PCP packet type of
service 'O'
2010-03-17 16:24:17 DEBUG: pid 5755: pcp_child: start online recovery
2010-03-17 16:24:17 LOG: pid 5755: starting recovering node 1
2010-03-17 16:24:17 DEBUG: pid 5755: exec_checkpoint: start checkpoint
2010-03-17 16:24:17 DEBUG: pid 5755: exec_checkpoint: finish checkpoint
2010-03-17 16:24:17 LOG: pid 5755: CHECKPOINT in the 1st stage done
2010-03-17 16:24:17 LOG: pid 5755: 1st stage is done
2010-03-17 16:24:17 LOG: pid 5755: starting 2nd stage
2010-03-17 16:25:50 ERROR: pid 5755: wait_connection_closed: existing
connections did not close in 90 sec.
2010-03-17 16:25:50 ERROR: pid 5755: start_recovery: timeover for waiting
connection closed
2010-03-17 16:25:50 DEBUG: pid 5755: pcp_child: received PCP packet type of
service 'X'
2010-03-17 16:25:50 DEBUG: pid 5755: pcp_child: client disconnecting. close
connection

TEMINAL EN DONDE HAGO EL REOVERY
linuxM:/usr/local/bin # pcp_recovery_node -d 10 pgsql1 9898 postgres
postgres 1
DEBUG: send: tos="R", len=46
DEBUG: recv: tos="r", len=21, data=AuthenticationOK
DEBUG: send: tos="D", len=6
DEBUG: recv: tos="e", len=20, data=recovery failed
DEBUG: command failed. reason=recovery failed
BackendError
DEBUG: send: tos="X", len=4

Pero si reinicio el PGPOOL y vuelvo a correr el recovery, no me marca
ningun problema,
e incluso me dice que esta bien y el nodo caido lo pone en estado 1
pero no me regresa los valores que deberian recuperarse

2010-03-17 16:32:33 DEBUG: pid 5979: I am PCP 5979 accept fd 5
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: received PCP packet type of
service 'M'
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: salt sent to the client
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: received PCP packet type of
service 'R'
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: authentication OK
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: received PCP packet type of
service 'O'
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: start online recovery
2010-03-17 16:32:33 LOG: pid 5979: starting recovering node 1
2010-03-17 16:32:33 DEBUG: pid 5979: exec_checkpoint: start checkpoint
2010-03-17 16:32:33 DEBUG: pid 5979: exec_checkpoint: finish checkpoint
2010-03-17 16:32:33 LOG: pid 5979: CHECKPOINT in the 1st stage done
2010-03-17 16:32:33 LOG: pid 5979: 1st stage is done
2010-03-17 16:32:33 LOG: pid 5979: starting 2nd stage
2010-03-17 16:32:33 LOG: pid 5979: all connections from clients have been
closed
2010-03-17 16:32:33 DEBUG: pid 5979: exec_checkpoint: start checkpoint
2010-03-17 16:32:33 DEBUG: pid 5979: exec_checkpoint: finish checkpoint
2010-03-17 16:32:33 LOG: pid 5979: CHECKPOINT in the 2nd stage done
2010-03-17 16:32:33 DEBUG: pid 5979: exec_remote_start: start
pgpool_remote_start
/usr/bin/logname: opción inválida -- i
Pruebe `/usr/bin/logname --help' para más información.
/usr/bin/logname: opción inválida -- i
Pruebe `/usr/bin/logname --help' para más información.
2010-03-17 16:32:33 DEBUG: pid 5979: exec_remote_start: finish
pgpool_remote_start
2010-03-17 16:32:33 LOG: pid 5979: 1 node restarted
2010-03-17 16:32:33 LOG: pid 5979: send_failback_request: fail back 1 th
node request from pid 5979
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler called
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: starting to select
new master node
2010-03-17 16:32:33 LOG: pid 5946: starting fail back. reconnect host
pgsql2(5432)
2010-03-17 16:32:33 LOG: pid 5946: execute command:
/home/postgres/data/pgpool-failback 1 pgsql2 5432 var/lib/pgsql/data 0 0
/usr/bin/logname: opción inválida -- i
Pruebe `/usr/bin/logname --help' para más información.
/usr/bin/logname: opción inválida -- i
Pruebe `/usr/bin/logname --help' para más información.
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6207
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6208
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6209
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6210
2010-03-17 16:32:33 DEBUG: pid 6208: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6211
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6212
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6213
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6214
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6215
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6216
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6217
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6218
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6219
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6220
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6221
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6222
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6223
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6224
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6225
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6226
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6227
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6228
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6229
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6230
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6231
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6232
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6233
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6234
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6235
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6236
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6237
2010-03-17 16:32:33 DEBUG: pid 5946: failover_handler: kill 6238
2010-03-17 16:32:33 LOG: pid 5946: failover_handler: set new master node:
0
2010-03-17 16:32:33 DEBUG: pid 6238: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6254: I am 6254
2010-03-17 16:32:33 DEBUG: pid 6207: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6209: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6210: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6211: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6213: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6212: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6214: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6215: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6216: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6217: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6218: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6255: I am 6255
2010-03-17 16:32:33 DEBUG: pid 6256: I am 6256
2010-03-17 16:32:33 DEBUG: pid 6219: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6257: I am 6257
2010-03-17 16:32:33 DEBUG: pid 6220: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6258: I am 6258
2010-03-17 16:32:33 DEBUG: pid 6221: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6259: I am 6259
2010-03-17 16:32:33 DEBUG: pid 6222: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6260: I am 6260
2010-03-17 16:32:33 DEBUG: pid 6223: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6261: I am 6261
2010-03-17 16:32:33 DEBUG: pid 6224: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6262: I am 6262
2010-03-17 16:32:33 DEBUG: pid 6225: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6263: I am 6263
2010-03-17 16:32:33 DEBUG: pid 6226: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6264: I am 6264
2010-03-17 16:32:33 DEBUG: pid 6227: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6265: I am 6265
2010-03-17 16:32:33 DEBUG: pid 6266: I am 6266
2010-03-17 16:32:33 DEBUG: pid 6228: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6267: I am 6267
2010-03-17 16:32:33 DEBUG: pid 6229: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6268: I am 6268
2010-03-17 16:32:33 DEBUG: pid 6230: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6269: I am 6269
2010-03-17 16:32:33 DEBUG: pid 6231: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6270: I am 6270
2010-03-17 16:32:33 DEBUG: pid 6232: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6271: I am 6271
2010-03-17 16:32:33 DEBUG: pid 6233: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6234: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6272: I am 6272
2010-03-17 16:32:33 DEBUG: pid 6235: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6273: I am 6273
2010-03-17 16:32:33 DEBUG: pid 6236: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6274: I am 6274
2010-03-17 16:32:33 DEBUG: pid 6237: child received shutdown request signal
3
2010-03-17 16:32:33 DEBUG: pid 6275: I am 6275
2010-03-17 16:32:33 DEBUG: pid 6276: I am 6276
2010-03-17 16:32:33 DEBUG: pid 6277: I am 6277
2010-03-17 16:32:33 DEBUG: pid 6278: I am 6278
2010-03-17 16:32:33 DEBUG: pid 6279: I am 6279
2010-03-17 16:32:33 DEBUG: pid 6280: I am 6280
2010-03-17 16:32:33 DEBUG: pid 6281: I am 6281
2010-03-17 16:32:33 DEBUG: pid 6282: I am 6282
2010-03-17 16:32:33 DEBUG: pid 6283: I am 6283
2010-03-17 16:32:33 DEBUG: pid 6284: I am 6284
2010-03-17 16:32:33 DEBUG: pid 6285: I am 6285
2010-03-17 16:32:33 LOG: pid 5946: failback done. reconnect host
pgsql2(5432)
2010-03-17 16:32:33 DEBUG: pid 5946: reap_handler called
2010-03-17 16:32:33 DEBUG: pid 5946: reap_handler: call wait3
2010-03-17 16:32:33 DEBUG: pid 5946: child 6207 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6208 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6209 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6210 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6211 exits with status 0
2010-03-17 16:32:33 LOG: pid 5979: recovery done
2010-03-17 16:32:33 DEBUG: pid 5946: child 6212 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6213 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6214 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6215 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6216 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6217 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6218 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6219 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6220 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6221 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6222 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6223 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6224 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6225 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6226 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6227 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6228 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6229 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6230 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6231 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6232 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6233 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6234 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6235 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6236 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6237 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: child 6238 exits with status 0
2010-03-17 16:32:33 DEBUG: pid 5946: reap_handler: normally exited
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: received PCP packet type of
service 'X'
2010-03-17 16:32:33 DEBUG: pid 5979: pcp_child: client disconnecting. close
connection

y esto es lo que me dice la terminal

linuxM:/usr/local/bin # pcp_recovery_node -d 10 pgsql1 9898 postgres
postgres 1
DEBUG: send: tos="R", len=46
DEBUG: recv: tos="r", len=21, data=AuthenticationOK
DEBUG: send: tos="D", len=6
DEBUG: recv: tos="c", len=20, data=CommandComplete
DEBUG: send: tos="X", len=4

Que pasa ahi??
que estoy haciendo mal??
por que cuando reinicio el pgpool y corro el recovery me dice que es
correcto??
que estoy haciendo mal??

bueno compañero es todo, de antemano muchas gracias que tengan bonita tarde
y si alguien puede ayudarme muchas gracias!!!

#5Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#1)
Re: recuperar nodo en estado 3

Hola

Oye ya cheque lo del recovery-pitr y lo tengo tal cual lo marca la
documentacion
de postgres en su pagina

http://www.postgresql-es.org/node/313

exceptuando la direccion del comando logger que lo cambie devido a que en mi
maquina no se encontraba en esa dirección. Entonces serias tan amable de
ayudarme
tantito o volver a indicarme donde esta tu post en ese tutorial

muchas gracias

#6Cesar Martin
cmartinp@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#5)
Re: recuperar nodo en estado 3

http://www.postgresql-es.org/node/313#comment-583

El 18 de marzo de 2010 17:45, Miguel Angel Hernandez Moreno <
miguel.hdz.mrn@gmail.com> escribió:

Hola

Oye ya cheque lo del recovery-pitr y lo tengo tal cual lo marca la
documentacion
de postgres en su pagina

http://www.postgresql-es.org/node/313

exceptuando la direccion del comando logger que lo cambie devido a que en
mi
maquina no se encontraba en esa dirección. Entonces serias tan amable de
ayudarme
tantito o volver a indicarme donde esta tu post en ese tutorial

muchas gracias

--
César Martín Pérez
cmartinp@gmail.com

#7Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Cesar Martin (#6)
Re: recuperar nodo en estado 3

disculpa no encuentro tu comentario

El 18 de marzo de 2010 10:53, Cesar Martin <cmartinp@gmail.com> escribió:

Show quoted text

http://www.postgresql-es.org/node/313#comment-583

#8Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#7)
Re: recuperar nodo en estado 3

perdon ya o encontre, es que de forma directa no era
y ademas ya no aparece en la pagina principal hay que irse a la
pagina 2 y ver hasta el final los comentarios

bueno tu aportacion es muy importante y de verdad muchas gracias!!
pero si me queda la duda de que hacer con las siguientes lineas

$PSQL *-h /var/run/postgres/* -t -c '*SELECT datname FROM pg_database WHERE
NOT datistemplate AND datallowconn' template1|*
while read i
do
if [ "$i" != "" ];then
$PSQL -h /var/run/postgres/ -c "SELECT setval(oid, nextval(oid)) FROM
pg_class WHERE relkind = 'S'" $i

*-h /var/run/postgres/*
segun yo el -h es para el hospedaje pero tu marcas una ruta, que significa
eso, ademas yo no tengo esa ruta existente, tengo k crearla?? o que hago con
ella??

*SELECT datname FROM pg_database WHERE NOT datistemplate AND datallowconn'
template1|*
asi dejo la sentencia??

Bueno muchas gracias y lo del archivo wal muchas gracias igual

#9Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#1)
Re: recuperar nodo en estado 3

Fijate a lo de -h lo puse como /home/postgres/data que es donde tengo
el data de pgpool, ademas hice las pruebas que me indicaste con el
psql al puerto 9999 select y me retorna el valor que esta balanceado, los
demas me los ignora, osea lo que no se recupero no lo muestra.

y si hago el pcp_recovery_node y me deja el nodo 1 en estado 1 y luego
hagos las pruebas y me lo pasa a estado 2.

yo creo k eso es correcto, lo que no hace es la recuperacion.

por ahi estaria bien que checara yo los demas scripts porque viendo el
script
de pcp_remote_start no me levanta el nodo si su postgres tiene STOP, y segun
la documentacion deberia tenerlo, ya mande un correo con la duda
haber si tienes chance de ayudarme!! jejejejejeje

bueno muchas gracias

#10Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#9)
Re: recuperar nodo en estado 3

Hola cesar:

ya configue el pgpool_remote_start, ya me levanta el servicio por medio de
SSH con
usuario postgres, lo que es GENIAL por que fue muy dificil ya que el SSH es
un tema nuevo
para mi.

bueno checando los codigos 1 x 1 me di cuenta de que el script de
pgpool-recovery-pitr
siempre retorna 0

Osea ahi va el ejemplo

linuxM:/bin # su postgres
postgres@linuxM:/bin> psql -h pgsql1 -t -c 'SELECT datname FROM pg_database
WHERE NOT datistemplate AND datallowconn' template1
postgres
feria
pgpool

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" postgres
setval
--------
(0 filas)

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" feria
setval
--------
(0 filas)

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" pgpool
setval
--------
(0 filas)

estas pruebas las hice despues de hacer un STOP al PGSQL2 e insertar por el
puerto 9999 un registro, lo que deveria marcar en la BD feria que hay un
dato nuevo

Eh estado buscando alguna consulta o codigo que me ayude pero sigo igual, me
sigue
recuperando del 3 al 1 y cuando hago un SELECT se pone en 2

ntoncs envio tambien como queda mi pgpool-recovery-pitr

#! /bin/sh

PSQL=/usr/bin/psql
LOG=/var/log/pgpool.log
ID=`/usr/bin/id -un`
DATE=`date '+%Y-%m-%d %H:%M:%S'`
SRV="pgsql1"

echo "$DATE NOTICE: Executing pgpool-recovery-pitr as user $ID" >>$LOG

echo "$DATE NOTICE: Executing flush of sequencesces " >>$LOG
# Force to flush current value of sequences to xlog
$PSQL -h $SRV -t -c 'SELECT datname FROM pg_database WHERE NOT datistemplate
AND datallowconn' template1
while read i
do
if [ "$i" != "" ];then
$PSQL -h $SRV -c "SELECT setval(oid, nextval(oid)) FROM pg_class WHERE
relkind = 'S'" $i
fi
done

echo "$DATE NOTICE: Executing pg_switch_xlog" >>$LOG
$PSQL -h $SRV -d postgres -c 'select pg_switch_xlog()' >>$LOG 2>&1

exit 0

Bueno muchas gracias por tu tiempo!!

#11Cesar Martin
cmartinp@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#10)
Re: recuperar nodo en estado 3

Buenas
Estoy empezando a alucinar... no se si es que no me explico o es que no te
entiendo, pero es que lo he dicho ya varias veces ¬¬...
Es NORMAL, totalmente que el nodo al recuperarse se quede en estado 1 y
luego pase al 2, lo que no seria normal es que del estado 1 pasara al 3.
Haz la siguiente prueba, con los dos nodos en estado 2, para uno de los
postgres, luego haz un insert contra el pgppool, de forma que solo se
inserte en un nodo y luego lanza el recovery del otro nodo. Una vez
recuperado, haz varios select contra pgpool para que vuelvan a estar en
estado 2 los dos nodos y despues comprueba que en ambos nodos esta la
informacion que insertaste. Si esta es que funciona bien y por tanto no
tienes ningun problema.

Un saludo

El 19 de marzo de 2010 02:12, Miguel Angel Hernandez Moreno <
miguel.hdz.mrn@gmail.com> escribió:

Hola cesar:

ya configue el pgpool_remote_start, ya me levanta el servicio por medio de
SSH con
usuario postgres, lo que es GENIAL por que fue muy dificil ya que el SSH es
un tema nuevo
para mi.

bueno checando los codigos 1 x 1 me di cuenta de que el script de
pgpool-recovery-pitr
siempre retorna 0

Osea ahi va el ejemplo

linuxM:/bin # su postgres
postgres@linuxM:/bin> psql -h pgsql1 -t -c 'SELECT datname FROM
pg_database WHERE NOT datistemplate AND datallowconn' template1
postgres
feria
pgpool

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" postgres
setval
--------
(0 filas)

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" feria
setval
--------
(0 filas)

postgres@linuxM:/bin> psql -h pgsql1 -c "SELECT setval(oid, nextval(oid))
FROM pg_class WHERE relkind = 'S'" pgpool
setval
--------
(0 filas)

estas pruebas las hice despues de hacer un STOP al PGSQL2 e insertar por el

puerto 9999 un registro, lo que deveria marcar en la BD feria que hay un
dato nuevo

Eh estado buscando alguna consulta o codigo que me ayude pero sigo igual,
me sigue
recuperando del 3 al 1 y cuando hago un SELECT se pone en 2

ntoncs envio tambien como queda mi pgpool-recovery-pitr

#! /bin/sh

PSQL=/usr/bin/psql
LOG=/var/log/pgpool.log
ID=`/usr/bin/id -un`
DATE=`date '+%Y-%m-%d %H:%M:%S'`
SRV="pgsql1"

echo "$DATE NOTICE: Executing pgpool-recovery-pitr as user $ID" >>$LOG

echo "$DATE NOTICE: Executing flush of sequencesces " >>$LOG
# Force to flush current value of sequences to xlog
$PSQL -h $SRV -t -c 'SELECT datname FROM pg_database WHERE NOT
datistemplate AND datallowconn' template1

while read i
do
if [ "$i" != "" ];then
$PSQL -h $SRV -c "SELECT setval(oid, nextval(oid)) FROM pg_class WHERE
relkind = 'S'" $i
fi
done

echo "$DATE NOTICE: Executing pg_switch_xlog" >>$LOG
$PSQL -h $SRV -d postgres -c 'select pg_switch_xlog()' >>$LOG 2>&1

exit 0

Bueno muchas gracias por tu tiempo!!

--
César Martín Pérez
cmartinp@gmail.com

#12Miguel Angel Hernandez Moreno
miguel.hdz.mrn@gmail.com
In reply to: Cesar Martin (#11)
Re: recuperar nodo en estado 3

Hola!!!

Bueno te daras cuenta que anteriormente me habia comunicado contigo
para preguntar un poco sobre PGPOOL en el comando
PCP_RECOVERY_NODE y sus sceipts para generar la recuperación de datos.
Al dia de hoy logre que funcionara el PGPOOL pero no se si fue lo correcto

Segun yo tengo entendido que PGPOOL recupera "SOLO" los datos que no
fueron replicados, pero en esta ocación sucede que cuando hago la
recuperación
me hace una REPLICA DE TODA LA BD, osea si en el NODO 1 tenia 1 BD que
solo deberia estar en el nodo 1, cuando hago la RECUPERACION me borra todo y

me REPLICA TODA LA BASE DE DATOS DEL NODO 0, al parecer esto corresponde
al script BASE-BACKUP, que leyendo el codigo copia todo hacia el nodo a
recuperar.

Digame si lo que hace el PGPOOL es correcto, o si me equivoque en algo??

#13Cesar Martin
cmartinp@gmail.com
In reply to: Miguel Angel Hernandez Moreno (#12)
Re: recuperar nodo en estado 3

Buenas,

Si, actualmente, que yo sepa pgpool recupera el backend entero con todas las
BBDD que contuviera.

Un saludo

El 22 de marzo de 2010 20:31, Miguel Angel Hernandez Moreno <
miguel.hdz.mrn@gmail.com> escribió:

Hola!!!

Bueno te daras cuenta que anteriormente me habia comunicado contigo
para preguntar un poco sobre PGPOOL en el comando
PCP_RECOVERY_NODE y sus sceipts para generar la recuperación de datos.
Al dia de hoy logre que funcionara el PGPOOL pero no se si fue lo correcto

Segun yo tengo entendido que PGPOOL recupera "SOLO" los datos que no
fueron replicados, pero en esta ocación sucede que cuando hago la
recuperación
me hace una REPLICA DE TODA LA BD, osea si en el NODO 1 tenia 1 BD que
solo deberia estar en el nodo 1, cuando hago la RECUPERACION me borra todo
y
me REPLICA TODA LA BASE DE DATOS DEL NODO 0, al parecer esto corresponde
al script BASE-BACKUP, que leyendo el codigo copia todo hacia el nodo a
recuperar.

Digame si lo que hace el PGPOOL es correcto, o si me equivoque en algo??

--
César Martín Pérez
cmartinp@gmail.com