백업/복구 어플라이언스에서 PostgreSQL 백업 및 DR

주의: 2027년 7월 31일부터 어플라이언스 관리 콘솔을 사용한 PostgreSQL 데이터베이스 백업 지원이 지원 중단됩니다. 이 지원 중단 및 대체 백업 솔루션에 대해 자세히 알아보려면 기존 데이터베이스 백업에서 이전을 참고하세요.

PostgreSQL은 SQL 언어를 사용하고 확장하며 가장 복잡한 데이터 워크로드를 안전하게 저장하고 확장하는 다양한 기능을 결합한 강력한 오픈소스 객체 관계형 데이터베이스 시스템입니다.

백업 및 DR에서 사용하는 PostgreSQL 백업 API

  • 볼륨 수준 (Linux 변경 블록 추적 및 LVM 스냅샷) 백업: 백업 및 DR은 Linux 변경 블록 추적 및 LVM 스냅샷으로 백업을 실행할 때 PostgreSQL pg_start_backup(label) 및 pg_stop_backup() 명령어를 사용합니다.

  • 전체+증분 (파일 기반 기존) 백업: Backup and DR은 PostgreSQL pg_dump 파일 기반 백업 명령어를 사용합니다. pg_dump 명령에는 데이터베이스의 증분 변경사항을 캡처하는 옵션이 없으므로 각 백업은 전체 데이터베이스 덤프 백업입니다.

    데이터베이스 복원은 데이터 영역을 물리적으로 덮어쓰는 방식으로 데이터베이스를 복구합니다.

  • PostgreSQL 로그 백업: 로그 백업 중에 백업 및 DR은 모든 PostgreSQL WAL (WriteAheadLog)을 물리적으로 복사합니다. 로그를 삭제하기 위해 백업 및 DR은 OS 수준 명령어를 사용합니다.

작동 방식: Linux CBT를 사용한 백업 및 DR 볼륨 기반 백업

변경된 블록만 비트맵에서 추적됩니다. 쓰기 시 복사도 없고 I/O 집약적 작업도 없습니다.

다음 단계에서는 데이터 백업 및 복구 프로세스를 설명합니다.

  1. 백업 및 DR 에이전트에는 데이터베이스 데이터 영역에서 변경된 블록을 추적하는 CBT가 있습니다.

  2. 에이전트는 데이터 백업을 위해 데이터베이스를 고정하거나 일시중지하도록 데이터베이스 API를 호출합니다.

  3. 에이전트가 데이터베이스 데이터 영역의 LVM 스냅샷을 만들고 비트맵을 합성합니다.

  4. 데이터베이스 동결 해제를 위한 데이터베이스 API에 대한 에이전트 호출

  5. 에이전트가 변경된 블록을 백업/복구 어플라이언스에 복사하면 어플라이언스가 스냅샷을 삭제하고 백업을 카탈로그화합니다.

  6. 어플라이언스가 내부 스냅샷을 실행하고 특정 시점 가상 전체 백업을 합성합니다.

  7. 데이터 복구를 위해 백업 및 DR은 재작성 가능한 스테이징 디스크를 즉시 마운트하고 데이터베이스를 온라인으로 가져옵니다.

볼륨 수준 스냅샷 작업의 경우 기본에서 quiesce 또는 unquiesce 명령어가 실행됩니다.

select pg_start_backup(<label>);
select pg_stop_backup();

볼륨 수준 스냅샷 작업의 경우 대기 노드에서 quiesce 및 unquiesce 명령어가 실행됩니다.

PostgreSQL 버전이 10.x 이상인 경우:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

PostgreSQL 버전이 9.x인 경우:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

작동 방식: 파일 기반 백업

다음 단계에서는 파일 기반 백업으로 데이터 백업 및 복구를 실행하는 방법을 설명합니다.

  1. 백업 및 DR 에이전트가 데이터베이스 서버에 배포됩니다.

  2. 데이터베이스 서버에 스테이징 디스크를 마운트합니다.

  3. 덤프 백업 명령어를 사용하여 전체 백업을 호출하고 마운트된 디스크에 백업을 씁니다.

  4. 백업 및 DR에서 내부 스냅샷을 생성합니다. 로그 백업은 구성한 일정에 따라 파일 시스템에서 직접 유사한 방식으로 실행됩니다.

  5. 데이터 복구의 경우 백업 및 DR은 스테이징 디스크를 데이터베이스 서버에 즉시 마운트하고 데이터베이스 복원 작업을 시작합니다. 데이터베이스가 복원된 후에는 언제든지 로그를 재생할 수 있습니다.

다음 단계

백업 및 DR을 위해 데이터베이스 준비

PostgreSQL용 백업 및 DR 관련 기타 문서