Streaming Replication
Streaming Replication
1. Architecture
- Streaming Replication은 동기/비동기 방식 지원
- Master DB는 업데이터 로그(WAL)를 생성 후 Slave로 전달 함
- Slave는 데이터베이스 복구 모드로만 운영 되어야 함
- Master와 Slave의 DB는 동일한 버전 및 아키텍처도 동일해야 함
※ Streaming 방법은 Mater에서 Slave 서버로 직접 WAL Record를 전송하므로 전송시간을 줄일 수 있음
2. 실습환경 구성
MASTER
postgresql.conf 설정
max_wal_senders = 2
wal_level = archive
archive_command = ""
wal_keep_segments = 10000 ; replication 용도로 남겨둘 WAL 파일 개수 지정
synchronous_standby_names = salve1 ; replication을 동기화 방식으로 처리하고자 할 때 지정
master/slave 모두 동일한 이름으로 설정
pg_hba.conf 설정
SLAVE
- MASTER DB의 Backup 본을 이용해 Standby DB Open
recovery.conf 설정
primary_conninfo = 'host=master_ip port=master_port user=... password=... applicatioin_name=slave1'
- Master DB의 접속정보 등록
- application_name을 이용한 sync 방식의 replication 구성
(단, sync 방식으로 replication 구성 시 Slave DB가 멈춰버리면 Master DB 입력처리가 안됨)
3. 실습환경 구성 후
MASTER
/postgres/9.2AS/bin/edb-postgres
postgres: logger process
postgres: checkpointer process
postgres: writer process
postgres: wal writer process
postgres: autovacuum launcher process
postgres: stats collector process
postgres: wal sender process enterprisedb 192.168.50.132[49575] idle
SLAVE
[enterprisedb@ppas02 data]$ ps -ef | grep post
/postgres/9.2AS/bin/edb-postgres
postgres: startup process waiting for 000000010000000000000016
postgres: checkpointer process
postgres: writer process
postgres: wal receiver process
4. Data 입력 후
MASTER
SLAVE
postgres: wal receiver process streaming 0/16001680
▶ Slave DB는 Select 전용으로 활용하지 못함
[enterprisedb@ppas02 data]$ psql
2014-03-12 02:30:34 GMT FATAL: the database system is starting up
psql: FATAL: the database system is starting up
posted by. 신기철 (10.17)