[Pgpool-general] failover done, now need help in online recovery - Please help!
Tatsuo Ishii
ishii at sraoss.co.jp
Tue Apr 19 23:02:34 UTC 2011
> and I cannot even stop it because there is no such process. But since the port
> is listening, I'm unable to start the pgpool again.
>
>
> BTW, my "recovery_2nd_stage_command" is empty. I hope this is not an issue.
This is not a problem.
BTW can you show the PostgreSQL log of both old primary and new
primary? This might help me to diagnosing the problem.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
> ________________________________
> From: Sandeep Thakkar <sandeeptt at yahoo.com>
> To: Tatsuo Ishii <ishii at sraoss.co.jp>
> Cc: pgpool-general at pgfoundry.org
> Sent: Tue, April 19, 2011 2:52:40 PM
> Subject: Re: [Pgpool-general] failover done, now need help in online recovery -
> Please help!
>
>
> Yes, I can connect to pgpool with port 9999. I even checked the 999 port using
> netstat command to see if it is listening and yes it does.
>
>
> But, then I see that there is no pgpool process running and the parent id for
> all the processes (pgpool: wait for connection request) is '1'. Also, I said,
> the terminal does not return where I execute pcp_recovery_node. I have to press
> Control-C on that shell.
>
>
>
>
> ________________________________
> From: Tatsuo Ishii <ishii at sraoss.co.jp>
> To: sandeeptt at yahoo.com
> Cc: pgpool-general at pgfoundry.org
> Sent: Tue, April 19, 2011 2:19:57 PM
> Subject: Re: [Pgpool-general] failover done, now need help in online recovery -
> Please help!
>
> After recovering old primary(5432) can you connect to pgpool without
> problem? Then this is normal. Pgpool needs to restart all child
> process after recovery.
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese: http://www.sraoss.co.jp
>
>> Alright. Once the failover is done successfully and the standby is promoted to
>
>> new primary, I start the recovery of the old primary (5432).
>>
>> The ol primary is getting recovered. But I found that pgpool is getting killed.
>>
>> Why? Here is the pgpool log:
>> ......
>> 2011-04-19 11:23:42 LOG: pid 15894: send_failback_request: fail back 0 th
>>node
>>
>> request from pid 15894
>> 2011-04-19 11:23:42 DEBUG: pid 21977: s_do_auth: auth kind: 0
>> 2011-04-19 11:23:42 ERROR: pid 21977: s_do_auth: unknown response "E" before
>> processing BackendKeyData
>> 2011-04-19 11:23:42 ERROR: pid 21977: s_do_auth: unknown response "^@" before
>> processing BackendKeyData
>> 2011-04-19 11:23:42 ERROR: pid 21977: s_do_auth: unknown response "^@" before
>> processing BackendKeyData
>> 2011-04-19 11:23:42 ERROR: pid 21977: s_do_auth: unknown response "^@" before
>> processing BackendKeyData
>> 2011-04-19 11:23:42 ERROR: pid 21977: s_do_auth: unknown response "V" before
>> processing BackendKeyData
>> 2011-04-19 11:23:42 DEBUG: pid 21977: s_do_auth: parameter status data
> received
>> 2011-04-19 11:23:42 ERROR: pid 21977: pool_read2: failed to realloc
>> 2011-04-19 11:23:42 DEBUG: pid 15861: failover_handler called
>> 2011-04-19 11:23:42 DEBUG: pid 15861: failover_handler: starting to select new
>
>> master node
>> 2011-04-19 11:23:42 LOG: pid 15861: starting fail back. reconnect host
>> localhost(5432)
>> 2011-04-19 11:23:42 LOG: pid 15861: execute command: touch
>> /home/sandeep/PostgreSQL9.0/inst/bin/../failback.log
>> 2011-04-19 11:23:42 DEBUG: pid 20267: child received shutdown request signal 3
>> 2011-04-19 11:23:42 DEBUG: pid 15861: failover_handler: kill 20267
>> 2011-04-19 11:23:42 DEBUG: pid 15861: failover_handler: kill 20268
>> 2011-04-19 11:23:42 DEBUG: pid 15861: failover_handler: kill 20269
>> 2011-04-19 11:23:42 DEBUG: pid 20268: child received shutdown request signal 3
>> 2011-04-19 11:23:42 DEBUG: pid 20270: child received shutdown request signal 3
>> .....
>> 2011-04-19 11:23:42 LOG: pid 15861: failover_handler: set new master node: 0
>> 2011-04-19 11:23:42 DEBUG: pid 22011: I am 22011
>> 2011-04-19 11:23:42 LOG: pid 15861: failback done. reconnect host
>> localhost(5432)
>>
>> My command to start recovery is:
>> pcp_recovery_node -d 20 localhost 9898 pg pg 0
>>
>>
>> The other thing I noticed is that the above command does not return, I have to
>>
>> press Control-C, to get the prompt back. I'm working on CentOS 64bit.
>> Thanks for your help.
>>
>>
>>
>> ________________________________
>> From: Sandeep Thakkar <sandeeptt at yahoo.com>
>> To: Sandeep Thakkar <sandeeptt at yahoo.com>; pgpool-general at pgfoundry.org
>> Sent: Thu, April 14, 2011 3:28:34 PM
>> Subject: Re: [Pgpool-general] failover done, now need help in online recovery
>>
>>
>> Can we bring the primary server up again? I found in the doc that "In
>> master/slave mode with streaming replication, online recovery can be
>>performed.
>>
>> Only a standby node can be recovered. You cannot recover the primary node. To
>> recover the primary node, you have to stop all DB nodes and pgpool-II, and then
>>
>> restore it from a backup."
>>
>>
>>
>>
>> So, can't we restore the primary without making the standby (new primary) down?
>>
>>
>>
>> Thanks.
>>
>>
>>
>>
>> ________________________________
>> From: Sandeep Thakkar <sandeeptt at yahoo.com>
>> To: pgpool-general at pgfoundry.org
>> Sent: Wed, April 13, 2011 3:05:25 PM
>> Subject: [Pgpool-general] failover done, now need help in online recovery
>>
>>
>> Hi,
>>
>> Failover:
>> I have one Master (PG9.0), one Standby (PG9.0) and one instance of pgpool-II
>> (3.0.3) on the same box. I created a recovery.conf in the Standby and did all
>> the other required settings in pgool.conf and postgresql.conf. To mimic the
>> failover scenario, I killed the Master server, and found that failover process
>
>> started successfully. Standby stops in recovering mode, and is promoted to
>> primary (read-write). I could even execute write query on Standby (new Primary)
>>
>> now.
>>
>> Online recovery:
>> To take it forward, I want to bring my old primary up and once up, it should
>> behave as a Standby (read only). One step I know of is to execute the
>> basebackup.sh on the new Primary, which will copy it's base directory to the
>>old
>>
>> primary's data directory. Then what? I do not have the recovery.conf on the
>>old
>>
>> primary yet. Do I need to keep it there? What else do I need to do?
>>
>> Thanks
More information about the Pgpool-general
mailing list