안녕하세요.
PostgreSQL 초보입니다.
PostgreSQL 실력자 분들께 문의드립니다.
두 PostgreSQL 서버가 Active/Standby로 Replication 구성되어 있습니다.
VIP를 사용하여 Master를 바라보고 있다가, Master가 죽으면 Standby로 IP를 넘겨줄 수 있게 설정하려고합니다.
그래서 Pgpool2를 사용했구요.
pgpool의 기능중에 watchdog이라는 기능이 있더라구요. 이게 VIP 설정을 해주는 역할인거 같긴한데... 정확한 사용법을 모르겠네요.
아래 pgpool.conf파일입니다.
먼저 Master 쪽입니다.
# 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 = '/bin'
# ping command path
# (change requires restart)
# - Watchdog communication Settings -
wd_hostname = '마스터 IP'
# Host name or IP address of this watchdog
# (change requires restart)
wd_port = 9000
# port number for watchdog service
# (change requires restart)
wd_priority = 1
# priority of this watchdog in leader election
# (change requires restart)
wd_authkey = ''
# Authentication key for watchdog communication
# (change requires restart)
wd_ipc_socket_dir = '/tmp'
# Unix domain socket path for watchdog IPC socket
# The Debian package defaults to
# /var/run/postgresql
# (change requires restart)
# - Virtual IP control Setting -
delegate_IP = 'VIP 주소'
# delegate IP address
# (change requires restart)
if_cmd_path = '/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 eth1 inet $_IP_$ netmask 255.255.255.0'
# startup delegate IP command
# (change requires restart)
#if_down_cmd = 'ip addr del $_IP_$/24 dev eth0'
if_down_cmd = 'ifconfig eth1 down'
# shutdown delegate IP command
# (change requires restart)
arping_path = '/usr/sbin'
# arping command path
# (change requires restart)
arping_cmd = 'arping -U $_IP_$ -w 1'
# arping command
# (change requires restart)
other_pgpool_hostname0 = 'Standby서버 호스트명'
# 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)
#other_pgpool_hostname1 =
#other_pgpool_port1 =
#other_wd_port1 = 9000
Standby 쪽도 설정은 동일합니다.
Master 서버의 conf파일 저장 후, ./pgpool -f pgpool.conf 해서 start했더니, 얼마 지나지 않아 세션끊기면서 eth1이 vip주소로 바뀌는 현상이 발생했습니다.
제가 원하는건 vip로 master에 접속가능하고 master 장애시 standby서버로 vip가 넘어가는 것인데, 잘 안되네요.
도움 부탁드립니다.
|