[pgpool-general: 8085] Re: delegate_IP and three nodes in cluster

Bo Peng pengbo at sraoss.co.jp
Thu Apr 14 18:15:36 JST 2022


Hello,

> Thank you for your response, it also turned out that i made a mistake in node_id files. Now it work's fine but let me ask if having only one pgpool node survived it is possible to force delegate_ip to stay on last node (other way than setting up it manually)? 

Yes. 
Since 4.3.0, the dynamic watchdog membership is introduced.

You can enable "wd_lost_node_removal_timeout" and "wd_remove_shutdown_nodes"
to remove the down nodes from watchdog cluster.

https://www.pgpool.net/docs/latest/en/html/runtime-watchdog-config.html#CONFIG-WATCHDOG-CLUSTER-MEMBERSHIP

Please note, this feature has an associated risk of causing a split-brain. 
It is strongly recommended to carefully review if you need to enable this feature.

> Andrzej Rozmus
> Starszy Technolog
> Departament Systemów Administracji Rządowej
> Dział Ministerstwo Finansów
> Asseco Poland S.A.
> ul. Branickiego 13
> 02-972 Warszawa
> tel. kom. +48 502 270 059
> andrzej.rozmus at asseco.pl
> 
> 
> 
> -----Original Message-----
> From: Bo Peng <pengbo at sraoss.co.jp> 
> Sent: Thursday, April 14, 2022 10:58 AM
> To: Rozmus Andrzej <Andrzej.Rozmus at asseco.pl>
> Cc: pgpool-general at pgpool.net; Wierzbicki Sebastian <sebastian.wierzbicki at asseco.pl>
> Subject: Re: [pgpool-general: 8082] delegate_IP and three nodes in cluster
> 
> Hello,
> 
> > I set up three-node cluster and I encountered problem with setting up vip address (delegate_IP) during service startup - although I can set it up manually later using the same command like in "if_up_cmd" parameter. Below i attach details of my configuration (watchdog section):
> 
> You are configuring three watchdog nodes.
> If you start only one pgpool, vip will not be assigned, because quorum doesn't exist.
> Two or more running pgpool nodes are required.
> 
> Regards,
> 
> > #---------------------------------------------------------------------
> > ---------
> > # WATCHDOG
> > #---------------------------------------------------------------------
> > ---------
> > 
> > # - Enabling -
> > 
> > use_watchdog = on
> > 
> > # -Connection to up stream servers -
> > trusted_servers = ''
> > #ping_path = '/bin'
> > 
> > # - Watchdog communication Settings -
> > 
> > hostname0 = 'pgs13-1'
> > wd_port0 = 9000
> > pgpool_port0 = 5433
> > 
> > hostname1 = 'pgs13-2'
> > wd_port1 = 9000
> > pgpool_port1 = 5433
> > 
> > hostname2 = 'pgs13-3'
> > wd_port2 = 9000
> > pgpool_port2 = 5433
> > 
> > #wd_priority = 1
> > #wd_authkey = ''
> > #wd_ipc_socket_dir = '/tmp'
> > 
> > # - Virtual IP control Setting -
> > 
> > delegate_IP = '10.7.181.94'
> > if_cmd_path = '/sbin'
> > if_up_cmd = '/usr/bin/sudo /sbin/ip addr add 10.7.181.94/24 dev eth0 label eth0:0'
> > if_down_cmd = '/usr/bin/sudo /sbin/ip addr del 10.7.181.94/24 dev eth0'
> > arping_path = '/usr/sbin'
> > arping_cmd = '/usr/bin/sudo /usr/sbin/arping -U 10.7.181.94 -w 1 -I eth0'
> > 
> > # - Behaivor on escalation Setting -
> > clear_memqcache_on_escalation = on
> > #wd_escalation_command = ''
> > #wd_de_escalation_command = ''
> > 
> > # - Watchdog consensus settings for failover -
> > 
> > failover_when_quorum_exists = on
> > failover_require_consensus = on
> > allow_multiple_failover_requests_from_node = off 
> > enable_consensus_with_half_votes = off
> > 
> > # - Watchdog cluster membership settings for quorum computation -
> > 
> > wd_remove_shutdown_nodes = off
> > #wd_lost_node_removal_timeout = 0s
> > #wd_no_show_node_removal_timeout = 0s
> > 
> > # - Lifecheck Setting -
> > 
> > # -- common --
> > 
> > wd_monitoring_interfaces_list = 'any'
> > wd_lifecheck_method = 'heartbeat'
> > #wd_interval = 10
> > 
> > # -- heartbeat mode --
> > 
> > heartbeat_hostname0 = 'pgs13-1'
> > heartbeat_port0 = 9694
> > heartbeat_device0 = ''
> > heartbeat_hostname1 = 'pgs13-2'
> > heartbeat_port1 = 9694
> > heartbeat_device1 = ''
> > heartbeat_hostname2 = 'pgs13-3'
> > heartbeat_port2 = 9694
> > heartbeat_device2 = ''
> > 
> > #wd_heartbeat_keepalive = 2
> > #wd_heartbeat_deadtime = 30
> > 
> > 
> > # -- query mode --
> > 
> > #wd_life_point = 3
> > #wd_lifecheck_query = 'SELECT 1'
> > #wd_lifecheck_dbname = ''
> > #wd_lifecheck_user = ''
> > #wd_lifecheck_password = ''
> > 
> > ################################################################
> > When i comment last node in "Watchdog Communication Settings" section 
> > to
> > 
> > #hostname2 = 'pgs13-3'
> > #wd_port2 = 9000
> > #pgpool_port2 = 5433
> > 
> > and change
> > enable_consensus_with_half_votes = off to 
> > enable_consensus_with_half_votes = on
> > 
> > everything works fine - pgpool service starts and i see delegate IP. Do you have any idea what might be a cause of such problem? Version of my pgpool is 4.3.1 (tamahomeboshi) installed from official postgresql repository for SLES 15. I checked logs but i don't see any errors...?
> > Thanks in advance for help.
> > Best Regards
> > 
> > Andrzej Rozmus
> > Starszy Technolog
> > Departament Systemów Administracji Rządowej Dział Ministerstwo 
> > Finansów Zespół Projektowy AIS/AES Asseco Poland S.A.
> > ul. Branickiego 13
> > 02-972 Warszawa
> > tel. kom. +48 502 270 059
> > andrzej.rozmus at asseco.pl
> > 
> 
> 
> --
> Bo Peng <pengbo at sraoss.co.jp>
> SRA OSS, Inc. Japan
> https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.sraoss.co.jp%2F&data=04%7C01%7CAndrzej.Rozmus%40asseco.pl%7C47eaddf2a8a44e0363db08da1df4eb5a%7C88152bdecfa34a5cb981a785c624bb42%7C0%7C0%7C637855235012448306%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nxnhLYB0h2776DW9GFYSATxSWOE6XAbNCS0s%2F74I628%3D&reserved=0


-- 
Bo Peng <pengbo at sraoss.co.jp>
SRA OSS, Inc. Japan
http://www.sraoss.co.jp/


More information about the pgpool-general mailing list