운영DB서버의 백업이 정상적인지 개발DB에서 복원 테스트를 진행하고 있습니다.
백업 데이터로 PostgreSQL 기동하였으나 읽기 전용 대기 서버로 실행되어 문의드립니다.
1. 이중화 구성된 운영 Master DB에서 pg_basebackup으로 백업하였습니다.
> pg_basebackup -D /basebackup -F tar -U postgres -R
2. 생성된 base.tar, pg_wal.tar 파일과 pg_basebackup 이후 아카이브를
개발DB로 복사하고 압축을 풀어주었습니다.
/var/lib/pgsql/11/data/ : base.tar
/var/lib/pgsql/11/data/pg_wal : pg_wal.tar
/archivebackup : 백업 아카이브
3. 다음과 같이 설정하고 PostgreSQL를 가동하였으나 오류 발생되었습니다.
# 백업된 config 아닌 별도의 .conf 생성...
# postgresql.conf
listen_addresses = '*'
max_connections = 100
shared_buffers = 128MB
dynamic_shared_memory_type = posix
wal_level = replica
max_wal_size = 1GB
min_wal_size = 80MB
archive_mode = on
archive_command = 'cp %p /var/lib/pgsql/11/archive/%f'
archive_timeout = 0
#hot_standby = on
# recovery.conf
restore_command = 'cp /archivebackup/%f %p'
recovery_target_timeline= 'latest'
# 오류 내용...
치명적오류: 읽기 전용 대기 서버로 운영이 불가능합니다. 현재 max_connections = 100 설정은 주 서버의 설정값(2000)보다 낮게 설정 되어 있기 때문입니다.
4. max_connections = 2000 설정 이후 서비스는 시작되었으나,
백업된 아카이브가 모두 복원되지 않고 중간에 중단된 것으로 보입니다.
그리고 읽기 전용 대기 서버로 insert, create 등 데이터 수정이 불가한 상태입니다.
5. 질문사항
- 읽기 전용 대기 서버가 아닌 (쓰기 가능한) 일반 서버로 복원하기 위해서는 방법
- 백업된 아카이브 일체를 모두 복원하는 방법 |