From: Koichi S. <koi...@gm...> - 2015-08-27 02:26:22
|
Thank you very much for taking a look at my presentation material. I don't have an experience in DRBD (I have several friends working with this though) and to my knowledge, you are the first guy trying to use XC with DRBD. Most of the challenges are building coordinator and datanode slaves with streaming (log-shipping) replication and switch to the slave when a master crashes. I have worked with them on general configuration and design of their resource agent for XC. Because coordinator and datanode resource management is almost identical to vanilla PostgreSQL, you can start with PostgreSQL's resource agent. The issue in XC is that you have to take care of many, not only one, resources, I mean, your Pacemaker has to monitor gtm, gtm_proxies, coordinators and datanodes, configured among more than one physical/virtual servers. They determined it is far more than current Pacemaker can do. Instead, what they did the following: 1. Build slaves for each pair of coordinator/datanode. For example, if you build datanode1 and datanode2 at node1 and node2, build datanode1 slave at node2 and datanode2 slave at node1. Pacemaker takes care of resources of this pair of the node. So if you build coordinator1 and coordinator2 at node1 and node2 as well, you can build their slaves at node2 and node1 respectively and add them to the above Pacemaker resource. 2. Configure separate Pacemaker to different pair of node as shown in 1. This could work, except for gtm. So far, Pacemaker people around me have not found how to monitor and control gtm. When gtm fails, Pacemaker may be able to switch gtm to its slave. However, when gtm is switched to the slave, all the coordinators and datanodes should change its gtm destination. Yes, restarting gtm_proxy can do this work. Issue is how to write resource manage to do this. VIP may work. Sorry that I can only such scattered information. Thank you again; --- Koichi Suzuki https://www.linkedin.com/in/koichidbms 2015-08-26 18:18 GMT+09:00 ssoorruu <sso...@gm...>: > Hi Suzuki-san, > > Thank you for responding to my email. > At first, your question was sound tough for me (because I'm new to > DRBD, Postgres and Corosync/Pacemaker/Heartbeat). > After I re-read the tutorial and the DRBD references, I'm sure that > the I have configured the DRBD to run Fully-synchronous (called > protocol C in DRBD term) in fixed rate (1Gbps). > > I've read your presentation slide about: High Availability in > Postgres-XC, The symmetric PostgreSQL cluster > In that presentation you were using Pacemaker/Hearbeat with Postgres-XC. > > > Would you share to me the guide of how to configure the > Pacemaker/Heartbeat with Postgres-XC? > Or maybe you have publish it, can I have the link to your tutorial > about Postgres-XC-Pacemaker/Heartbeat? > > > Big thanks, > FattahRozzaq > -- > On 26/08/2015, Koichi Suzuki <koi...@gm...> wrote: > > Hello; > > > > I just know general thing about DRBD, Corosync and Pacemaker so I'd like > to > > post my comment with a question of DRBD basics. > > > > First of all, I have one important questions on DRBD basics: > > > > Does DRBD send all the update to slaves in synchronous manner, or is > there > > any chance that DRBD slave fails to receive some of the updates at the > > master? > > > > If you cannot configure DRBD update backup synchronously, we may have > some > > consistent issue among the data stored in different datanodes. > > > > The background is: > > > > Postgres-XC assumes consistency of data stored in all the coordinators > and > > datanodes. If some coordinator/datanode fails and is switched to the > > slave, the slave must not lose any commits done to the master. > > > > This is the same in the case of log-shipping replication and this is why > I > > advise to use synchronized replication. > > > > If you can keep slave in sync with the master, then what you should do is > > to start Postgres-XC component at the slave. > > > > Thank you very much; > > > > --- > > Koichi Suzuki > > https://www.linkedin.com/in/koichidbms > > > > > > 2015-08-26 16:12 GMT+09:00 ssoorruu <sso...@gm...>: > > > >> Dear fellow PGXC enthusiasts, > >> > >> Good day and I hope you're all doing well, especially with Postgres-XC > :) > >> > >> I have job to deploy Postgres-XC cluster replication using DRBD, and > >> cluster resource manager using Corosync-Pacemaker. > >> I've followed the tutorial from this link: > >> > >> > https://www.howtoforge.com/how-to-set-up-an-active-passive-postgresql-cluster-with-pacemaker-corosync-and-drbd-centos-5.5 > >> > >> But I cannot understand how to configure a Corosync resource for > >> Postgres-XC. > >> > >> Does anyone can give me tutorial on how to do Postgres-XC with > >> Corosync-Pacemaker? > >> > >> Very appreciate and thank you in advance. > >> > >> > >> Regards, > >> FattahRozzaq > >> > >> > >> > ------------------------------------------------------------------------------ > >> _______________________________________________ > >> Postgres-xc-general mailing list > >> Pos...@li... > >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-general > >> > > > |