AlloyDB Omni는 PostgreSQL과 호환되므로 Barman 매뉴얼에 설명된 데이터 복원 명령어와 기술이 AlloyDB Omni에도 적용됩니다. 이 페이지에서는 관련 명령어 예시를 통해 일반적인 복구 태스크를 보여줍니다.
AlloyDB Omni와 함께 작동하도록 Barman을 구성하는 방법에 대한 자세한 내용은 AlloyDB Omni용 Barman 설정을 참조하세요.
시작하기 전에
AlloyDB Omni 데이터를 복원하려면 다음이 필요합니다.
소스 데이터베이스 서버와 동일한 주 버전의 AlloyDB Omni을 실행하는 대상 데이터베이스 서버. AlloyDB Omni 설치에 대한 자세한 내용은 AlloyDB Omni 설치를 참조하세요.
대상 서버는 소스 서버와 동일한 머신일 수 있습니다.
대상 서버에 설치된
rsync
유틸리티소스 AlloyDB Omni 데이터베이스의 유효한 Barman 백업이 최소 하나 이상 있는 Barman 백업 서버
Barman 백업 서버와 대상 서버 간의 SSH 연결
Barman 서버의
barman
사용자가 비밀번호 없이 대상 서버를postgres
사용자로 인증할 수 있도록 설정된 SSH 키복원된 데이터베이스를 저장할 수 있는 충분한 여유 디스크 공간이 있는 대상 서버
특정 백업을 사용하여 복구
대상 서버에서 AlloyDB Omni를 중지합니다.
Docker
docker stop CONTAINER_NAME
CONTAINER_NAME
을 AlloyDB Omni 컨테이너를 설치할 때 할당한 이름으로 바꿉니다(예:my-omni
).Podman
podman stop CONTAINER_NAME
CONTAINER_NAME
을 AlloyDB Omni 컨테이너를 설치할 때 할당한 이름으로 바꿉니다(예:my-omni
).Barman 서버에서 복원할 백업을 선택합니다. 사용 가능한 백업을 보려면
barman list-backups
명령어를 실행합니다. 특정 백업에 대한 세부정보를 보려면barman show-backup
명령어를 실행합니다.선택한 백업을 대상 AlloyDB Omni 서버로 복구하려면
barman recover
명령어를 실행합니다.명령어를 실행할 때 다음을 포함합니다.
- 원격 복구 옵션을 사용합니다.
- 대상 서버의 데이터 디렉터리를 대상 디렉터리로 지정합니다.
다음 명령어는 AlloyDB Omni에서
barman recover
를 사용하는 예시를 보여줍니다.barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH
다음을 바꿉니다.
TARGET_IP
: 대상 서버의 IP 주소TARGET_LABEL
: Barman 구성 파일에서 서버에 할당한 라벨BACKUP_ID
: 이전 단계에서 식별된 복원할 백업의 ID(예:20230810T210200
)DATA_PATH
: 대상 서버의 데이터 디렉터리에 있는data
하위 디렉터리의 경로(예:/home/your-username/alloydb-data/data
)
AlloyDB Omni 대상 데이터베이스 서버에서 서비스를 시작합니다.
Docker
docker start CONTAINER_NAME
Podman
podman start CONTAINER_NAME
서비스가 다시 시작되면 AlloyDB Omni 서버에 연결합니다. 복원된 데이터베이스와 데이터가 표시됩니다.
특정 시점으로 복구
PITR(point-in-time recovery)을 수행하려면 이전 섹션에 나열된 단계와 동일한 단계를 수행하되 한 가지 수정사항이 있습니다. barman recover
명령어를 실행할 때 Barman PITR(point-in-time recovery) 옵션 중 하나도 지정해야 합니다.
다음 명령어는 PITR(point-in-time recovery) 옵션이 있는 AlloyDB Omni와 함께 barman recover
를 사용하는 예시를 보여줍니다.
barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH
다음을 바꿉니다.
TARGET_IP
: 대상 서버의 IP 주소TARGET_LABEL
: Barman 구성 파일에서 서버에 할당한 라벨BACKUP_ID
: 이전 단계에서 식별된 복원할 백업의 ID(예:20230810T210200
)TARGET_TIMESTAMP
: 복원할 시간. 날짜와 시간 모두 지정하는 PostgreSQLtimestamp
형식으로 지정합니다(예:2024-02-06 00:00:00
).DATA_PATH
: 대상 서버의 데이터 디렉터리에 있는data
하위 디렉터리의 경로(예:/home/your-username/alloydb-data/data
)