[Pgcluster-general] Replication works :) but only one way :(
Simon Bérubé
sberube at accedian.com
Wed Nov 28 19:01:23 UTC 2007
Hi everyone,
I just installed PgCluster and my replication works for the moment,
but only in one way ?!?. I think I setup the thing correctly. The user
for replication can login without password on the other database host
and vice-versa, my server have consitent DNS name and RSYNC and SSh
without pass authentification (with public/private keys) works great.
For the moment, when I update or insert a new row in the database on
server1, the row is replicated perfectly on the server2 database, wich
is correct, but when I update or insert a new row on server2 nothing
append on server1, it's seem that the replication server (pgreplicate)
situated on server1 is nerver notice. I "tail" the log of pgreplicate
and nothing is written about a "update or insert request from
server2".
For the moment, server1 host the database (postgresql) I want to
replicate and also the replication server (pgreplicate), server2 just
run the database (postgresql). So, server1 has a configuration file
for the cluster node (cluster.conf) and another one for the
replication server (pgreplicate.conf). Server2 has just one
configuration file for the cluster node (cluster.conf). Note that I
didn't use load balancer at all. There is my configuration file for
each server
#### SERVER_1 ####
==== cluster.conf ====
<Replicate_Server_Info>
<Host_Name> server1.accedian.local </Host_Name>
<Port> 8001 </Port>
<Recovery_Port> 8101 </Recovery_Port>
</Replicate_Server_Info>
<Host_Name> server1.accedian.local </Host_Name>
<Recovery_Port> 7001 </Recovery_Port>
<Rsync_Path> /usr/bin/rsync </Rsync_Path>
<Rsync_Option> ssh -2 </Rsync_Option>
<Rsync_Compress> yes </Rsync_Compress>
<Pg_Dump_Path> /usr/local/pgsql/bin/pg_dump </Pg_Dump_Path>
<When_Stand_Alone> read_write </When_Stand_Alone>
<Replication_Timeout> 1min </Replication_Timeout>
<LifeCheck_Timeout> 3s </LifeCheck_Timeout>
<LifeCheck_Interval> 11s </LifeCheck_Interval>
==== pgreplicate.conf ====
<Cluster_Server_Info>
<Host_Name> server1.accedian.local </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7001 </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
<Host_Name> server2.accedian.local </Host_Name>
<Port> 5432 </Port>
<Recovery_Port> 7001 </Recovery_Port>
</Cluster_Server_Info>
<Host_Name> server1.accedian.local </Host_Name>
<Replication_Port> 8001 </Replication_Port>
<Recovery_Port> 8101 </Recovery_Port>
<RLOG_Port> 8301 </RLOG_Port>
<Response_Mode> reliable </Response_Mode>
<Use_Replication_Log> yes </Use_Replication_Log>
<Replication_Timeout> 1min </Replication_Timeout>
<LifeCheck_Timeout> 3s </LifeCheck_Timeout>
<LifeCheck_Interval> 15s </LifeCheck_Interval>
<Log_File_Info>
<File_Name> /usr/local/pgsql/data/pgreplicate.log </File_Name>
<File_Size> 10M </File_Size>
<Rotate> 3 </Rotate>
</Log_File_Info>
#### SERVER_2 ####
==== cluster.conf ====
<Replicate_Server_Info>
<Host_Name> server1.accedian.local </Host_Name>
<Port> 8001 </Port>
<Recovery_Port> 8101 </Recovery_Port>
</Replicate_Server_Info>
<Host_Name> server2.accedian.local </Host_Name>
<Recovery_Port> 7001 </Recovery_Port>
<Rsync_Path> /usr/bin/rsync </Rsync_Path>
<Rsync_Option> ssh -2 </Rsync_Option>
<Rsync_Compress> yes </Rsync_Compress>
<Pg_Dump_Path> /usr/local/pgsql/bin/pg_dump </Pg_Dump_Path>
<When_Stand_Alone> read_write </When_Stand_Alone>
<Replication_Timeout> 1min </Replication_Timeout>
<LifeCheck_Timeout> 3s </LifeCheck_Timeout>
<LifeCheck_Interval> 11s </LifeCheck_Interval>
Also, the configuration file for identifing the hosts (/etc/hosts) are
configurated correctly. There they are :
#### SERVER_1 ####
==== /etc/hosts ====
127.0.0.1 localhost
127.0.0.1 server1.accedian.local server1
192.168.10.40 server1.accedian.local server1
192.168.10.41 server2.accedian.local server2
#### SERVER_2 ####
==== /etc/hosts ====
127.0.0.1 localhost
127.0.0.1 server2.accedian.local server2
192.168.10.41 server2.accedian.local server2
192.168.10.40 server1.accedian.local server1
Last question... do I need to start a instance of pgreplicate on each
database node ?!? (one on server1 and one on server2)
Thanks,
Simon Berube
IT Consultant,
Accedian Networks Inc,
http://www.accedian.com
P-S: Sorry for my poor english, is not my first language, but I need
to make it working, I need to prove to my boss that not just Microsoft
SQL Server exists ;)
More information about the Pgcluster-general
mailing list