[Pgpool-general] Questions about online recovery
Ramon de Carvalho Valle
ramon at risesecurity.org
Mon Dec 21 02:07:28 UTC 2009
Hi Tatsuo,
Thank you for the explanation.
Best regards,
On Sun, 2009-12-20 at 18:25 +0900, Tatsuo Ishii wrote:
> > Hi,
> >
> > I've a pgpool-II replication + load balance environment with seven
> > backend servers running PostgreSQL 8 and CentOS 5.
> >
> > The backend 0 (master node) runs both pgpool-II and PostgreSQL. I'm
> > setting up online recovery with rsync using the same script for both 1st
> > and 2nd stage commands.
> >
> > Considering a scenario where the backend 0 (which runs pgpool-II and
> > PostgreSQL) PostgreSQL is disconnected from pgpool-II, I have the
> > following questions:
> >
> > * How online recovery is supposed to work in this case?
>
> 1) backend 1 is chosen as the new master node.
>
> 2) pgpool-II connects to PostgreSQL on backend 1. This connection is
> different from ordinary backend connection.
>
> 3) pgpool-II requests backend 1 to execute CHECKPOINT.
>
> 4) pgpool-II requests backend 1 to execute "SELECT pgpool_recovery"
> which will execute online recovery stage 1 command.
>
> 5) pgppool-II waits until all client connection disconnected.
>
> 6) pgpool-II requests backend 1 to execute CHECKPOINT.
>
> 7) pgpool-II requests backend 1 to execute "SELECT pgpool_recovery"
> which will execute online recovery stage 2 command.
>
> 8) pgpool-II requests backend 1 to execute "SELECT pgpool_remote_start"
> which will execute "pgpool_remote_start" script, which is supposed
> to remote start postmaster on backend 0.
>
> 9) backend 0 connected again and recovery done.
>
> > * Do I need to have pgpool-II installed on all backend servers? If so, I
> > will have dummy pgpool-II processes running on backend serves just to
> > have the pgpool communication manager running and be able to run
> > pcp_recovery_node from another backend?
>
> No. What you need on all backend servers are:
>
> 1) C functions under pgpool-II/sql/pgpool-recovery installed
> (pgpool_recovery and pgpool_remote_start).
>
> 2) pgpool_remote_start script installed under PostgreSQL database
> cluster directory (/usr/local/pgsql/data).
>
> 3) recovery scripts installed under PostgreSQL database cluster
> directory (/usr/local/pgsql/data).
>
> > * How 2nd stage of online recovery is supporsed to work if I am
> > recovering from a different backend than the one running pgpool-II and
> > PostgreSQL will continue accepting connections? Is cascading pgpool-II
> > connections to the backend servers a correct solution or workaround
> > here?
>
> See above.
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://pgfoundry.org/pipermail/pgpool-general/attachments/20091221/423ea8fe/attachment.bin>
More information about the Pgpool-general
mailing list