scp root@10.200.1.61:/var/lib/pgsql/9.6/data/postgresql.conf.slave .
scp root@10.200.1.61:/var/lib/pgsql/9.6/data/recovery.conf .
-push:
- #scp pgpool.conf failover.sh online-recovery.sh root@10.200.1.60:/etc/pgpool-II/
+push: push-pg push-pgpool
+push-pgpool:
+ # replace names in config with real ones
+ cat pgpool.conf | sed -e 's/__HOSTNAME__THIS__/edozvola-db-01/' -e 's/__HOSTNAME__OTHER__/edozvola-db-02/' > /tmp/pgpool.conf
+ scp /tmp/pgpool.conf failover.sh online-recovery.sh root@10.200.1.61:/etc/pgpool-II/
+ cat pgpool.conf | sed -e 's/__HOSTNAME__THIS__/edozvola-db-02/' -e 's/__HOSTNAME__OTHER__/edozvola-db-01/' > /tmp/pgpool.conf
+ scp /tmp/pgpool.conf failover.sh online-recovery.sh root@10.200.1.62:/etc/pgpool-II/
+
+push-pg:
scp streaming-replication.sh root@10.200.1.61:/var/lib/pgsql/
scp postgresql.conf.master postgresql.conf.slave recovery.done pg_hba.conf root@10.200.1.61:/var/lib/pgsql/9.6/data/
ssh root@10.200.1.61 chown -R postgres:postgres /var/lib/pgsql/9.6/data/
restart:
#ssh root@10.200.1.61 systemctl restart postgresql-9.6
#ssh root@10.200.1.62 systemctl restart postgresql-9.6
- ssh root@10.200.1.60 rm /var/log/pgpool/pgpool_status
- ssh root@10.200.1.60 systemctl restart pgpool
+ ssh root@10.200.1.61 rm /var/log/pgpool/pgpool_status
+ ssh root@10.200.1.61 systemctl restart pgpool
+ ssh root@10.200.1.62 rm /var/log/pgpool/pgpool_status
+ ssh root@10.200.1.62 systemctl restart pgpool
status:
- ssh root@10.200.1.60 systemctl status pgpool
+ ssh root@10.200.1.61 systemctl status pgpool
+ ssh root@10.200.1.62 systemctl status pgpool
ssh root@10.200.1.61 systemctl status postgresql-9.6
ssh root@10.200.1.62 systemctl status postgresql-9.6
# Host name or IP address to listen on:
# '*' for all, '' for no TCP/IP connections
# (change requires restart)
-port = 5432
+port = 9999
# Port number
# (change requires restart)
socket_dir = '/tmp'
# - Debug -
#log_error_verbosity = default # terse, default, or verbose messages
+log_error_verbosity = verbose
#client_min_messages = notice # values in order of decreasing detail:
# debug5
# - Enabling -
-use_watchdog = off
+use_watchdog = on
# Activates watchdog
# (change requires restart)
# -Connection to up stream servers -
-trusted_servers = ''
+trusted_servers = 'edozvola-db-01,edozvola-db-02'
# trusted server list which are used
# to confirm network connection
# (hostA,hostB,hostC,...)
# - Watchdog communication Settings -
-wd_hostname = 'edozvola-db-pgpool'
+wd_hostname = '__HOSTNAME__THIS__'
# Host name or IP address of this watchdog
# (change requires restart)
wd_port = 9000
# - Virtual IP control Setting -
-delegate_IP = ''
+delegate_IP = '10.210.1.60'
# delegate IP address
# If this is empty, virtual IP never bring up.
# (change requires restart)
-if_cmd_path = '/sbin'
+if_cmd_path = '/etc/pgpool-II/sbin'
# path to the directory where if_up/down_cmd exists
# (change requires restart)
-if_up_cmd = 'ip addr add $_IP_$/24 dev eth0 label eth0:0'
+if_up_cmd = 'ifconfig eth0:0 $_IP_$ netmask 255.255.255.0 up'
# startup delegate IP command
# (change requires restart)
-if_down_cmd = 'ip addr del $_IP_$/24 dev eth0'
+if_down_cmd = 'ifconfig eth0:0 down'
# shutdown delegate IP command
# (change requires restart)
-arping_path = '/usr/sbin'
+arping_path = '/etc/pgpool-II/sbin'
# arping command path
# (change requires restart)
arping_cmd = 'arping -U $_IP_$ -w 1'
wd_lifecheck_method = 'heartbeat'
# Method of watchdog lifecheck ('heartbeat' or 'query' or 'external')
# (change requires restart)
-wd_interval = 10
+wd_interval = 3
# lifecheck interval (sec) > 0
# (change requires restart)
wd_heartbeat_deadtime = 30
# Deadtime interval for heartbeat signal (sec)
# (change requires restart)
-heartbeat_destination0 = 'host0_ip1'
+heartbeat_destination0 = 'edozvola-db-01'
# Host name or IP address of destination 0
# for sending heartbeat signal.
# (change requires restart)
# and pgpool has root privilege.
# (change requires restart)
-#heartbeat_destination1 = 'host0_ip2'
-#heartbeat_destination_port1 = 9694
-#heartbeat_device1 = ''
+heartbeat_destination1 = 'edozvola-db-02'
+heartbeat_destination_port1 = 9694
+heartbeat_device1 = ''
# -- query mode --
#other_wd_port0 = 9000
# Port number for othet watchdog 0
# (change requires restart)
-#other_pgpool_hostname1 = 'host1'
-#other_pgpool_port1 = 5432
-#other_wd_port1 = 9000
+other_pgpool_hostname0 = '__HOSTNAME__OTHER__'
+other_pgpool_port0 = 5432
+other_wd_port0 = 9000
#------------------------------------------------------------------------------
export PAGER=''
+install() {
+ ssh root@$1 'test -d /var/log/pgpool || mkdir -p /var/log/pgpool'
+ cat <<__SHELL__ > /tmp/3.sh
+if [ ! -d /etc/pgpool-II/sbin ] ; then
+ mkdir /etc/pgpool-II/sbin
+ cp /usr/sbin/ifconfig /etc/pgpool-II/sbin/
+ cp /usr/sbin/arping /etc/pgpool-II/sbin/
+ chmod -v 4755 /etc/pgpool-II/sbin/*
+fi
+__SHELL__
+ scp /tmp/3.sh root@$1:/tmp/
+ ssh root@$1 sh -x /tmp/3.sh
+
+ # must be at end
+ ssh root@$1 rpm -q pgpool-II-pg96 && return
+ yes | ssh root@$1 yum install $2 http://www.pgpool.net/yum/rpms/3.6/redhat/rhel-7-x86_64/pgpool-II-pg96-3.6.5-1pgdg.rhel7.x86_64.rpm
+}
+
+install 10.200.1.61
+install 10.200.1.62
+
+# create pcp.conf
+#echo -n postgres:`pg_md5 postgres` >> /etc/pgpool-II/pcp.conf
+
+make push-pgpool
+
# init pgpool
-ssh root@10.200.1.60 rm -f /var/log/pgpool/pgpool_status
-echo 0 | ssh root@10.200.1.60 'cat > /tmp/postgres_master'
-ssh root@10.200.1.60 systemctl restart pgpool
-psql -h 10.200.1.60 -c 'show pool_nodes' postgres postgres
+#ssh root@10.200.1.60 rm -f /var/log/pgpool/pgpool_status
+#echo 0 | ssh root@10.200.1.60 'cat > /tmp/postgres_master'
+
+ssh root@10.200.1.61 systemctl restart pgpool
+ssh root@10.200.1.62 systemctl restart pgpool
+
+psql -h 10.200.1.61 -p 9999 -c 'show pool_nodes' postgres postgres