안녕하세요.
요즘 우분투 위에 Nginx + Rails + Postgresql 올라간 서버를 신규 서버의 CentOS로 이관중에 있습니다.
올라간 Application도 많고 이중화도 구성하려고 하니 난관이 많습니다.
그래서 구성에 도움좀 받고자 질문드립니다.
일단 환경은 이렇습니다.
Postgresql : 9.4.1
pgpool-II : 3.4.2
Server #1 : 192.168.0.171
Server #2 : 192.168.0.172
목적은 서버당 WEB + DB 구성해서 WEB은 L4로 DB는 pgpool-II로 이중화를 구성하려고 합니다.
1번 서버가 다운이 되어도 2번 서버에서 모든 서비스가 가능토록 하려 합니다.
일단 DB단에서 Replication은 설정해서 sync가 되는건 확인했습니다.
그리고 pgpool를 설치하고 설정하였습니다.
- Master : 1번서버 (Write)
- Slave1 : 1번서버 (Read)
- Slave2 : 2번서버 (Read)
그래서 1번서버가 Master와 Slave1 역할을 같이 하게 설정이 하려고하여 아래와 같이 넣었습니다.
# vi pgpool.conf
backend_hostname0 = '192.168.0.171'
# Host name or IP address to connect to for backend 0
backend_port0 = 5432
# Port number for backend 0
backend_weight0 = 0.2
# Weight for backend 0 (only in load balancing mode)
backend_data_directory0 = '/var/lib/pgsql/9.4/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.9.171'
backend_port1 = 54321
backend_weight1 = 5
backend_data_directory1 = '/var/lib/pgsql/9.4/data'
backend_flag1 = 'ALLOW_TO_FAILOVER'
backend_hostname1 = '192.168.9.172'
backend_port1 = 54322
backend_weight1 = 5
backend_data_directory1 = '/var/lib/pgsql/9.4/data'
backend_flag1 = 'ALLOW_TO_FAILOVER'
여기서 질문입니다.
1. 제가 처음에 말한 목적에 맞게 제대로 진행하고 있는지 궁금합니다.
2. 현재 1번 서버에만 pgpool을 설치했는데 2번 서버에는 필요 없나요??
1번서버가 장애 (DB가 아닌 서버장애)가 나면 pgpool도 죽어서 DB pool 역활을 못하게 되어 2번 서버가 pgpool을 해야 될거 같은데...
검색해봐도 이 내용은 찾기가 힘드네요...ㅜㅡ
|