[pgpool-general-jp: 1285] Re: pgpool-ii watchdog アクティブサーバの終了ができない

Yugo Nagata nagata @ sraoss.co.jp
2014年 6月 16日 (月) 15:25:31 JST


鎌田さん

長田です。

検証ありがとうございました。
パッチを master ブランチと V3_3_STABLE ブランチにコミットしました。

On Thu, 12 Jun 2014 15:01:04 +0900
taro tanaka <super.fool.1984 @ gmail.com> wrote:

> 永田さん
> 
> お世話になっております、鎌田です。
> 
> パッチを当てたところ、正常に動作するようになりました。
> ありがとうございました。
> 
> 
> 2014-06-11 21:16 GMT+09:00 Yugo Nagata <nagata @ sraoss.co.jp>:
> 
> > 鎌田さん
> >
> > 長田です。
> >
> > pgpool-II 3.3.3 でアクティブを終了させた時の不具合を認識しています。
> > ping コマンドを実行したときの終了コードが正しく認識できていないバグです。
> >
> > お手数ですが、添付のパッチを試していただけないでしょうか。
> >
> > On Wed, 11 Jun 2014 17:04:59 +0900
> > taro tanaka <super.fool.1984 @ gmail.com> wrote:
> >
> > > はじめまして、鎌田と申します。
> > >
> > >
> > > 以下のサーバ二台の環境で利用しています。
> > > -------------------------------------------
> > > ■サーバ1
> > > ip:192.168.100.76
> > > pgpool-II 3.3.3
> > > postgresql 9.3.4
> > > CentOS 6.5 (64bit)
> > > ■サーバ2
> > > ip:192.168.100.79
> > > pgpool-II 3.3.3
> > > postgresql 9.3.4
> > > CentOS 6.5 (64bit)
> > >
> > > 仮想ip:192.168.100.72
> > > -------------------------------------------
> > >
> > > 各サーバのrootで起動したpgpoolで「use_watchdog」をonにし、heartbeatで死活監視をしています。
> > > アクティブサーバのpgpoolを「pgpool stop」コマンドで終了させようとすると、
> > > 「stop request sent to pgpool. waiting for
> > > termination......」のメッセージが出て、いつまでたっても終了しません。
> > >
> > > 各サーバのログは以下のようになっています(今回の場合はサーバ1がアクティブサーバです)。
> > >
> > > ■サーバ1
> > >
> > -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > > 2014-06-11 15:54:48 LOG:   pid 6310: wd_chk_setuid all commands have
> > setuid
> > > bit
> > > 2014-06-11 15:54:48 LOG:   pid 6310: watchdog might call network commands
> > > which using setuid bit.
> > > 2014-06-11 15:54:48 LOG:   pid 6310: wd_create_send_socket: connect()
> > > reports failure (Connection refused). You can safely ignore this while
> > > starting up.
> > > 2014-06-11 15:54:48 LOG:   pid 6310: send_packet_4_nodes: packet for
> > > 192.168.100.79:9000 is canceled
> > > 2014-06-11 15:55:00 LOG:   pid 6310: wd_escalation: escalating to master
> > > pgpool
> > > 2014-06-11 15:55:04 LOG:   pid 6310: wd_IP_up: ifconfig up succeeded
> > > 2014-06-11 15:55:04 LOG:   pid 6310: wd_escalation: escalated to master
> > > pgpool successfully
> > > 2014-06-11 15:55:04 LOG:   pid 6310: wd_init: start watchdog
> > > 2014-06-11 15:55:04 LOG:   pid 6310: pgpool-II successfully started.
> > > version 3.3.3 (tokakiboshi)
> > > 2014-06-11 15:55:05 LOG:   pid 6319: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:05 LOG:   pid 6319: wd_create_hb_recv_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:05 LOG:   pid 6320: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:05 LOG:   pid 6320: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:28 LOG:   pid 6318: wd_send_response: receive add
> > request
> > > from 192.168.100.79:9999 and accept it
> > > 2014-06-11 15:56:45 LOG:   pid 6321: watchdog: lifecheck started
> > > (ここでサーバ1のpgpoolをstop)
> > > 2014-06-11 16:02:11 LOG:   pid 6310: received smart shutdown request
> > > 2014-06-11 16:02:11 LOG:   pid 6310: pgpool main: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6326: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6328: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6341: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6324: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6352: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6325: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6329: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6342: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6340: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6333: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6335: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6330: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6351: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6337: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6343: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6339: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6334: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6336: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6331: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6350: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6338: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6357: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6356: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6347: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6346: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6332: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6349: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6345: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6358: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6348: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6360: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6361: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6366: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6364: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6371: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6368: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6365: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6363: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6370: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6369: die: close listen socket
> > > 2014-06-11 16:02:11 LOG:   pid 6367: die: close listen socket
> > > 2014-06-11 16:02:14 LOG:   pid 6321: wd_IP_down: ifconfig down succeeded
> > >
> > -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > >
> > > ■サーバ2
> > >
> > -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > > 2014-06-11 15:55:27 LOG:   pid 12619: wd_chk_setuid all commands have
> > > setuid bit
> > > 2014-06-11 15:55:27 LOG:   pid 12619: watchdog might call network
> > commands
> > > which using setuid bit.
> > > 2014-06-11 15:55:28 LOG:   pid 12619: wd_init: start watchdog
> > > 2014-06-11 15:55:28 LOG:   pid 12619: pgpool-II successfully started.
> > > version 3.3.3 (tokakiboshi)
> > > 2014-06-11 15:55:29 LOG:   pid 12622: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:29 LOG:   pid 12622: wd_create_hb_recv_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:29 LOG:   pid 12623: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:55:29 LOG:   pid 12623: wd_create_hb_send_socket: set
> > > SO_REUSEPORT
> > > 2014-06-11 15:57:09 LOG:   pid 12624: watchdog: lifecheck started
> > > (ここでサーバ1のpgpoolをstop)
> > > 2014-06-11 16:02:14 LOG:   pid 12621: wd_escalation: escalating to master
> > > pgpool
> > > 2014-06-11 16:02:18 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:19 LOG:   pid 12624: check_pgpool_status_by_hb: pgpool
> > 1 (
> > > 192.168.100.76:9999) is in down status
> > > 2014-06-11 16:02:20 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:22 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:24 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:26 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:28 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:29 LOG:   pid 12624: check_pgpool_status_by_hb: pgpool
> > 1 (
> > > 192.168.100.76:9999) is in down status
> > > 2014-06-11 16:02:30 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:32 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:34 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:36 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > > 2014-06-11 16:02:38 ERROR: pid 12621: exec_ping: wait() failed. reason:
> > No
> > > child processes
> > >
> > -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > >
> > > この状態で、サーバ1で、pgpool: lifecheckプロセスが生き残っています(サーバ2のpgpoolを終了するとこのプロセスは消えます)。
> > > この状態でも、仮想ipは正常に切り替わっているようです。(サーバ2の仮想ipが有効になっており、pingも通る)
> > >
> > > 逆にサーバ2がアクティブサーバの時に同様の動作を行っても全く同じ状態になります。
> > > また、スタンバイサーバのpgpoolを終了させた時は、特に問題は発生せず、正常に復帰させることもできます。
> > >
> > > 原因が特定できず、困っています。よろしくお願いします。
> > >
> > >
> > >
> > > (以下に各サーバの設定ファイルを抜粋して掲載します)
> > >
> > > ■サーバ1
> > > ------------------------------
> > >
> > -------------------------------------------------------------------------------------------------------
> > > # - pgpool Connection Settings -
> > >
> > > listen_addresses = '*'
> > >                                    # Host name or IP address to listen
> > on:
> > >                                    # '*' for all, '' for no TCP/IP
> > > connections
> > >                                    # (change requires restart)
> > > port = 9999
> > >                                    # Port number
> > >                                    # (change requires restart)
> > > socket_dir = '/tmp'
> > >                                    # Unix domain socket path
> > >                                    # The Debian package defaults to
> > >                                    # /var/run/postgresql
> > >                                    # (change requires restart)
> > >
> > >
> > > # - pgpool Communication Manager Connection Settings -
> > >
> > > pcp_port = 9898
> > >                                    # Port number for pcp
> > >                                    # (change requires restart)
> > > pcp_socket_dir = '/tmp'
> > >                                    # Unix domain socket path for pcp
> > >                                    # The Debian package defaults to
> > >                                    # /var/run/postgresql
> > >                                    # (change requires restart)
> > >
> > > # - Backend Connection Settings -
> > >
> > > backend_hostname0 = '192.168.100.76'
> > >                                    # Host name or IP address to connect
> > to
> > > for backend 0
> > > backend_port0 = 5432
> > >                                    # Port number for backend 0
> > > backend_weight0 = 1
> > >                                    # Weight for backend 0 (only in load
> > > balancing mode)
> > > backend_data_directory0 = '/common/data'
> > >                                    # Data directory for backend 0
> > > #backend_flag0 = 'ALLOW_TO_FAILOVER'
> > >                                    # Controls various backend behavior
> > >                                    # ALLOW_TO_FAILOVER or
> > > DISALLOW_TO_FAILOVER
> > > backend_hostname1 = '192.168.100.79'
> > > backend_port1 = 5432
> > > backend_weight1 = 1
> > > backend_data_directory1 = '/common/data'
> > > #backend_flag1 = 'ALLOW_TO_FAILOVER'
> > >
> > >
> > > # - Authentication -
> > >
> > > enable_pool_hba = on
> > >                                    # Use pool_hba.conf for client
> > > authentication
> > > pool_passwd = 'pool_passwd'
> > >                                    # File name of pool_passwd for md5
> > > authentication.
> > >                                    # "" disables pool_passwd.
> > >                                    # (change requires restart)
> > > authentication_timeout = 60
> > >                                    # Delay in seconds to complete client
> > > authentication
> > >                                    # 0 means no timeout.
> > >
> > > # - SSL Connections -
> > >
> > > ssl = off
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # POOLS
> > >
> > #------------------------------------------------------------------------------
> > >
> > > # - Pool size -
> > >
> > > num_init_children = 50
> > >                                    # Number of pools
> > >                                    # (change requires restart)
> > > max_pool = 10
> > >                                    # Number of connections per pool
> > >                                    # (change requires restart)
> > >
> > > # - Life time -
> > >
> > > child_life_time = 300
> > >                                    # Pool exits after being idle for this
> > > many seconds
> > > child_max_connections = 0
> > >                                    # Pool exits after receiving that many
> > > connections
> > >                                    # 0 means no exit
> > > connection_life_time = 0
> > >                                    # Connection to backend closes after
> > > being idle for this many seconds
> > >                                    # 0 means no close
> > > client_idle_limit = 0
> > >                                    # Client is disconnected after being
> > > idle for that many seconds
> > >                                    # (even inside an explicit
> > transactions!)
> > >                                    # 0 means no disconnection
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # CONNECTION POOLING
> > >
> > #------------------------------------------------------------------------------
> > >
> > > connection_cache = on
> > >                                    # Activate connection pools
> > >                                    # (change requires restart)
> > >
> > >                                    # Semicolon separated list of queries
> > >                                    # to be issued at the end of a session
> > >                                    # The default is for 8.3 and later
> > > reset_query_list = 'ABORT; DISCARD ALL'
> > >                                    # The following one is for 8.2 and
> > before
> > > #reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # REPLICATION MODE
> > >
> > #------------------------------------------------------------------------------
> > >
> > > replication_mode = on
> > >                                    # Activate replication mode
> > >                                    # (change requires restart)
> > > replicate_select = off
> > >                                    # Replicate SELECT statements
> > >                                    # when in replication or parallel mode
> > >                                    # replicate_select is higher priority
> > > than
> > >                                    # load_balance_mode.
> > >
> > > insert_lock = on
> > >                                    # Automatically locks a dummy row or a
> > > table
> > >                                    # with INSERT statements to keep
> > SERIAL
> > > data
> > >                                    # consistency
> > >                                    # Without SERIAL, no lock will be
> > issued
> > > lobj_lock_table = ''
> > >                                    # When rewriting lo_creat command in
> > >                                    # replication mode, specify table
> > name to
> > >                                    # lock
> > >
> > > # - Degenerate handling -
> > >
> > > replication_stop_on_mismatch = off
> > >                                    # On disagreement with the packet kind
> > >                                    # sent from backend, degenerate the
> > node
> > >                                    # which is most likely "minority"
> > >                                    # If off, just force to exit this
> > session
> > >
> > > failover_if_affected_tuples_mismatch = off
> > >                                    # On disagreement with the number of
> > > affected
> > >                                    # tuples in UPDATE/DELETE queries,
> > then
> > >                                    # degenerate the node which is most
> > > likely
> > >                                    # "minority".
> > >                                    # If off, just abort the transaction
> > to
> > >                                    # keep the consistency
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # LOAD BALANCING MODE
> > >
> > #------------------------------------------------------------------------------
> > >
> > > load_balance_mode = on
> > >                                    # Activate load balancing mode
> > >                                    # (change requires restart)
> > > ignore_leading_white_space = on
> > >                                    # Ignore leading white spaces of each
> > > query
> > > white_function_list = ''
> > >                                    # Comma separated list of function
> > names
> > >                                    # that don't write to database
> > >                                    # Regexp are accepted
> > > black_function_list = 'nextval,setval'
> > >                                    # Comma separated list of function
> > names
> > >                                    # that write to database
> > >                                    # Regexp are accepted
> > >
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # MASTER/SLAVE MODE
> > >
> > #------------------------------------------------------------------------------
> > >
> > > master_slave_mode = off
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # PARALLEL MODE
> > >
> > #------------------------------------------------------------------------------
> > >
> > > parallel_mode = off
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # HEALTH CHECK
> > >
> > #------------------------------------------------------------------------------
> > >
> > > health_check_period = 0
> > >                                    # Health check period
> > >                                    # Disabled (0) by default
> > > health_check_timeout = 20
> > >                                    # Health check timeout
> > >                                    # 0 means no timeout
> > > health_check_user = 'postgres'
> > >                                    # Health check user
> > > health_check_password = ''
> > >                                    # Password for health check user
> > > health_check_max_retries = 0
> > >                                    # Maximum number of times to retry a
> > > failed health check before giving up.
> > > health_check_retry_delay = 1
> > >                                    # Amount of time to wait (in seconds)
> > > between retries.
> > >
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # FAILOVER AND FAILBACK
> > >
> > #------------------------------------------------------------------------------
> > >
> > > failover_command = ''
> > >                                    # Executes this command at failover
> > >                                    # Special values:
> > >                                    #   %d = node id
> > >                                    #   %h = host name
> > >                                    #   %p = port number
> > >                                    #   %D = database cluster path
> > >                                    #   %m = new master node id
> > >                                    #   %H = hostname of the new master
> > node
> > >                                    #   %M = old master node id
> > >                                    #   %P = old primary node id
> > >                                    #   %r = new master port number
> > >                                    #   %R = new master database cluster
> > path
> > >                                    #   %% = '%' character
> > > failback_command = ''
> > >                                    # Executes this command at failback.
> > >                                    # Special values:
> > >                                    #   %d = node id
> > >                                    #   %h = host name
> > >                                    #   %p = port number
> > >                                    #   %D = database cluster path
> > >                                    #   %m = new master node id
> > >                                    #   %H = hostname of the new master
> > node
> > >                                    #   %M = old master node id
> > >                                    #   %P = old primary node id
> > >                                    #   %r = new master port number
> > >                                    #   %R = new master database cluster
> > path
> > >                                    #   %% = '%' character
> > >
> > > fail_over_on_backend_error = on
> > >                                    # Initiates failover when
> > > reading/writing to the
> > >                                    # backend communication socket fails
> > >                                    # If set to off, pgpool will report an
> > >                                    # error and disconnect the session.
> > >
> > > search_primary_node_timeout = 10
> > >                                    # Timeout in seconds to search for the
> > >                                    # primary node when a failover occurs.
> > >                                    # 0 means no timeout, keep searching
> > >                                    # for a primary node forever.
> > >
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # WATCHDOG
> > >
> > #------------------------------------------------------------------------------
> > >
> > > # - Enabling -
> > >
> > > use_watchdog = on
> > >                                     # Activates watchdog
> > >                                     # (change requires restart)
> > >
> > > # -Connection to up stream servers -
> > >
> > > trusted_servers = ''
> > >                                     # trusted server list which are used
> > >                                     # to confirm network connection
> > >                                     # (hostA,hostB,hostC,...)
> > >                                     # (change requires restart)
> > > ping_path = '/home/www/bin'
> > >                                     # ping command path
> > >                                     # (change requires restart)
> > >
> > > # - Watchdog communication Settings -
> > >
> > > wd_hostname = '192.168.100.76'
> > >                                     # Host name or IP address of this
> > > watchdog
> > >                                     # (change requires restart)
> > > wd_port = 9000
> > >                                     # port number for watchdog service
> > >                                     # (change requires restart)
> > > wd_authkey = ''
> > >                                     # Authentication key for watchdog
> > > communication
> > >                                     # (change requires restart)
> > >
> > > # - Virtual IP control Setting -
> > >
> > > delegate_IP = '192.168.100.72'
> > >                                     # delegate IP address
> > >                                     # If this is empty, virtual IP never
> > > bring up.
> > >                                     # (change requires restart)
> > > ifconfig_path = '/home/www/sbin'
> > >                                     # ifconfig command path
> > >                                     # (change requires restart)
> > > if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0'
> > >                                     # startup delegate IP command
> > >                                     # (change requires restart)
> > > if_down_cmd = 'ifconfig eth0:0 down'
> > >                                     # shutdown delegate IP command
> > >                                     # (change requires restart)
> > >
> > > arping_path = '/home/www/sbin'           # arping command path
> > >                                     # (change requires restart)
> > >
> > > arping_cmd = 'arping -U $_IP_$ -w 1'
> > >                                     # arping command
> > >                                     # (change requires restart)
> > >
> > > # - Behaivor on escalation Setting -
> > >
> > > clear_memqcache_on_escalation = on
> > >                                     # Clear all the query cache on shared
> > > memory
> > >                                     # when standby pgpool escalate to
> > > active pgpool
> > >                                     # (= virtual IP holder).
> > >                                     # This should be off if client
> > connects
> > > to pgpool
> > >                                     # not using virtual IP.
> > >                                     # (change requires restart)
> > > wd_escalation_command = ''
> > >                                     # Executes this command at escalation
> > > on new active pgpool.
> > >                                     # (change requires restart)
> > >
> > > # - Lifecheck Setting -
> > >
> > > # -- common --
> > >
> > > wd_lifecheck_method = 'heartbeat'
> > >                                     # Method of watchdog lifecheck
> > > ('heartbeat' or 'query')
> > >                                     # (change requires restart)
> > > wd_interval = 10
> > >                                     # lifecheck interval (sec) > 0
> > >                                     # (change requires restart)
> > >
> > > # -- heartbeat mode --
> > >
> > > wd_heartbeat_port = 9694
> > >                                     # Port number for receiving heartbeat
> > > signal
> > >                                     # (change requires restart)
> > > wd_heartbeat_keepalive = 2
> > >                                     # Interval time of sending heartbeat
> > > signal (sec)
> > >                                     # (change requires restart)
> > > wd_heartbeat_deadtime = 30
> > >                                     # Deadtime interval for heartbeat
> > > signal (sec)
> > >                                     # Host name or IP address of
> > > destination 0
> > >                                     # for sending heartbeat signal.
> > >                                     # (change requires restart)
> > > heartbeat_destination0 = '192.168.100.79'
> > >                                     # Host name or IP address of
> > > destination 0
> > >                                     # for sending heartbeat signal.
> > >                                     # (change requires restart)
> > > heartbeat_destination_port0 = 9694
> > >                                     # Port number of destination 0 for
> > > sending
> > >                                     # heartbeat signal. Usually this is
> > the
> > >                                     # same as wd_heartbeat_port.
> > >                                     # (change requires restart)
> > > heartbeat_device0 = ''
> > >                                     # Name of NIC device (such like
> > 'eth0')
> > >                                     # used for sending/receiving
> > heartbeat
> > >                                     # signal to/from destination 0.
> > >                                     # This works only when this is not
> > empty
> > >                                     # and pgpool has root privilege.
> > >                                     # (change requires restart)
> > > # - Other pgpool Connection Settings -
> > >
> > > other_pgpool_hostname0 = '192.168.100.79'
> > >                                     # Host name or IP address to connect
> > to
> > > for other pgpool 0
> > >                                     # (change requires restart)
> > > other_pgpool_port0 = 9999
> > >                                     # Port number for othet pgpool 0
> > >                                     # (change requires restart)
> > > other_wd_port0 = 9000
> > >                                     # Port number for othet watchdog 0
> > >                                     # (change requires restart)
> > >
> > >
> > -------------------------------------------------------------------------------------------------------------------------------------
> > >
> > >
> > >
> > >
> > >
> > >
> > > ■サーバ2(下記抜粋部分以外はサーバ1と同じ)
> > >
> > -------------------------------------------------------------------------------------------------------------------------------------
> > >
> > >
> > #------------------------------------------------------------------------------
> > > # WATCHDOG
> > >
> > #------------------------------------------------------------------------------
> > >
> > > # - Enabling -
> > >
> > > use_watchdog = on
> > >                                     # Activates watchdog
> > >                                     # (change requires restart)
> > >
> > > # -Connection to up stream servers -
> > >
> > > trusted_servers = ''
> > >                                     # trusted server list which are used
> > >                                     # to confirm network connection
> > >                                     # (hostA,hostB,hostC,...)
> > >                                     # (change requires restart)
> > > ping_path = '/home/www/bin'
> > >                                     # ping command path
> > >                                     # (change requires restart)
> > >
> > > # - Watchdog communication Settings -
> > >
> > > wd_hostname = '192.168.100.79'
> > >                                     # Host name or IP address of this
> > > watchdog
> > >                                     # (change requires restart)
> > > wd_port = 9000
> > >                                     # port number for watchdog service
> > >                                     # (change requires restart)
> > > wd_authkey = ''
> > >                                     # Authentication key for watchdog
> > > communication
> > >                                     # (change requires restart)
> > >
> > > # - Virtual IP control Setting -
> > >
> > > delegate_IP = '192.168.100.72'
> > >                                     # delegate IP address
> > >                                     # If this is empty, virtual IP never
> > > bring up.
> > >                                     # (change requires restart)
> > > ifconfig_path = '/home/www/sbin'
> > >                                     # ifconfig command path
> > >                                     # (change requires restart)
> > > if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0'
> > >                                     # startup delegate IP command
> > >                                     # (change requires restart)
> > > if_down_cmd = 'ifconfig eth0:0 down'
> > >                                     # shutdown delegate IP command
> > >                                     # (change requires restart)
> > >
> > > arping_path = '/home/www/sbin'           # arping command path
> > >                                     # (change requires restart)
> > >
> > > arping_cmd = 'arping -U $_IP_$ -w 1'
> > >                                     # arping command
> > >                                     # (change requires restart)
> > >
> > > # - Behaivor on escalation Setting -
> > >
> > > clear_memqcache_on_escalation = on
> > >                                     # Clear all the query cache on shared
> > > memory
> > >                                     # when standby pgpool escalate to
> > > active pgpool
> > >                                     # (= virtual IP holder).
> > >                                     # This should be off if client
> > connects
> > > to pgpool
> > >                                     # not using virtual IP.
> > >                                     # (change requires restart)
> > > wd_escalation_command = ''
> > >                                     # Executes this command at escalation
> > > on new active pgpool.
> > >                                     # (change requires restart)
> > >
> > > # - Lifecheck Setting -
> > >
> > > # -- common --
> > >
> > > wd_lifecheck_method = 'heartbeat'
> > >                                     # Method of watchdog lifecheck
> > > ('heartbeat' or 'query')
> > >                                     # (change requires restart)
> > > wd_interval = 10
> > >                                     # lifecheck interval (sec) > 0
> > >                                     # (change requires restart)
> > >
> > > # -- heartbeat mode --
> > >
> > > wd_heartbeat_port = 9694
> > >                                     # Port number for receiving heartbeat
> > > signal
> > >                                     # (change requires restart)
> > > wd_heartbeat_keepalive = 2
> > >                                     # Interval time of sending heartbeat
> > > signal (sec)
> > >                                     # (change requires restart)
> > > wd_heartbeat_deadtime = 30
> > >                                     # Deadtime interval for heartbeat
> > > signal (sec)
> > >                                     # Host name or IP address of
> > > destination 0
> > >                                     # for sending heartbeat signal.
> > >                                     # (change requires restart)
> > > heartbeat_destination0 = '192.168.100.76'
> > >                                     # Host name or IP address of
> > > destination 0
> > >                                     # for sending heartbeat signal.
> > >                                     # (change requires restart)
> > > heartbeat_destination_port0 = 9694
> > >                                     # Port number of destination 0 for
> > > sending
> > >                                     # heartbeat signal. Usually this is
> > the
> > >                                     # same as wd_heartbeat_port.
> > >                                     # (change requires restart)
> > > heartbeat_device0 = ''
> > >                                     # Name of NIC device (such like
> > 'eth0')
> > >                                     # used for sending/receiving
> > heartbeat
> > >                                     # signal to/from destination 0.
> > >                                     # This works only when this is not
> > empty
> > >                                     # and pgpool has root privilege.
> > >                                     # (change requires restart)
> > > # - Other pgpool Connection Settings -
> > >
> > > other_pgpool_hostname0 = '192.168.100.76'
> > >                                     # Host name or IP address to connect
> > to
> > > for other pgpool 0
> > >                                     # (change requires restart)
> > > other_pgpool_port0 = 9999
> > >                                     # Port number for othet pgpool 0
> > >                                     # (change requires restart)
> > > other_wd_port0 = 9000
> > >                                     # Port number for othet watchdog 0
> > >                                     # (change requires restart)
> > >
> > -------------------------------------------------------------------------------------------------------------------------------------
> >
> >
> > --
> > Yugo Nagata <nagata @ sraoss.co.jp>
> >


-- 
Yugo Nagata <nagata @ sraoss.co.jp>


pgpool-general-jp メーリングリストの案内