<div dir="ltr">Hello,<div><br></div><div>I setup a new 3-node PostgreSQL cluster with HA managed by PAF. Nodes are named ph-sql-03, ph-sql-04, ph-sql-05. Archive mode is on and writing archive files to an NFS share that's mounted on all nodes using pgBackRest. </div><div><br></div><div>What I did: </div><div>- Create a pacemaker cluster, cib.xml is attached.</div><div>- Set maintenance-mode=true in pacemaker</div><div>- Bring up ph-sql-03 with pg_ctl start</div><div>- Take a pg_basebackup on ph-sql-04 and ph-sql-05</div><div>- Create a recovery.conf on ph-sql-04 and ph-sql-05:</div><div><font size="1"><br></font></div><div><font face="courier new, monospace"><font size="1">standby_mode = 'on'<br>primary_conninfo = 'user=replication password=XXXXXXXXXXXXXXXX application_name=ph-sql-0x host=10.100.130.20 port=5432 sslmode=prefer sslcompression=0 krbsrvname=postgres target_session_attrs=any'<br>recovery_target_timeline = 'latest'<br>restore_command = 'pgbackrest --stanza=pgdb2 archive-get %f "%p"'</font><br></font></div><div><div><font face="courier new, monospace"><br></font></div><div>- Bring up ph-sql-04 and ph-sql-05 and let recovery finish</div><div>- Set maintenance-mode=false in pacemaker</div><div>- Cluster is now running with ph-sql-03 as master and ph-sql-04/5 as slaves</div><div>At this point I tried a manual failover:<br></div><div>- pcs resource move --wait --master pgsql-ha ph-sql-04</div>Contrary to my expectations, pacemaker attempted to stop psqld on ph-sql-03. This took longer than the configured timeout of 60s (checkpoint hadn't completed yet) and the node was fenced. Then I ended up with ph-sql-04 and ph-sql-05 both in slave mode and ph-sql-03 rebooting. </div><div><font size="1"><br></font></div><div><font size="1"> <font face="courier new, monospace">Master: pgsql-ha<br>  Meta Attrs: notify=true<br>  Resource: pgsqld (class=ocf provider=heartbeat type=pgsqlms)<br>   Attributes: bindir=/usr/pgsql-11/bin pgdata=/var/lib/pgsql/11/data recovery_template=/var/lib/pgsql/recovery.conf.pcmk<br>   Operations: demote interval=0s timeout=30s (pgsqld-demote-interval-0s)<br>               methods interval=0s timeout=5 (pgsqld-methods-interval-0s)<br>               monitor interval=15s role=Master timeout=10s (pgsqld-monitor-interval-15s)<br>               monitor interval=16s role=Slave timeout=10s (pgsqld-monitor-interval-16s)<br>               notify interval=0s timeout=60s (pgsqld-notify-interval-0s)<br>               promote interval=0s timeout=30s (pgsqld-promote-interval-0s)<br>               reload interval=0s timeout=20 (pgsqld-reload-interval-0s)<br>               start interval=0s timeout=60s (pgsqld-start-interval-0s)<br>               stop interval=0s timeout=60s (pgsqld-stop-interval-0s)</font></font><br></div><div><br></div><div>I understand I should at least increase the timeout of the stop operation for psqld, though I'm not sure how much. Checkpoints can take up to 15 minutes to complete on this cluster. So is 20 minutes reasonable? Any other operations I should increase the timeouts for? </div><div><br></div><div>Why didn't pacemaker elect and promote one of the other nodes?</div><div><br></div><div><br class="m_7929644032281453637gmail-Apple-interchange-newline"><div><br></div>-- <br><div dir="ltr" class="m_7929644032281453637gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Tiemen Ruiten<br>Infrastructure Engineer<br>R&D Media<br></div></div></div></div>