설정은 다음과 같습니다. 3 개의 추가 볼륨이있는 1 개의 작은 Amazon Linux (EBS 지원) EC2 인스턴스. 이것은 웹 서버 및 데이터베이스 서버입니다. 하나는 코드, 하나는 PostgreSQL (8.4) 데이터 디렉토리, 그리고 하나는 PostgreSQL의 WAL 파일을 저장하는 볼륨입니다.
(1) WAL 파일이있는 볼륨에는 데이터 디렉토리의 기본 백업이 있으며 pg_start_backup ()을 수행 한 후에 복사됩니다. 그런 다음 PostgreSQL (WAL 파일)의 연속 아카이브 출력을 저장합니다. 이 볼륨의 스냅 샷을 만들려면 동기화를 실행하고 파일 시스템을 정지시키는 데 문제가 있습니까 (XFS 인 경우 xfs_freeze 또는 EXT4 인 경우 dmsetup 사용)? 아니면 라이브 스냅 샷을 찍을 수 있습니까? WAL 파일은 분당 1 개의 속도로 배송됩니다. 단일 WAL 파일을 복사하는 동안 스냅 샷이 시작되어 데이터가 손상 될 수 있습니까?
(2) 라이브 PostgreSQL 데이터 디렉토리를 포함하는 볼륨도 매일 측정하기 위해 백업됩니다. 이 볼륨의 스냅 샷을 수행하기 전에 pg_dump를 실행하면 결과 SQL 파일이 데이터 디렉토리에 유지됩니다. 실제 데이터베이스 데이터의 일관성을 유지하기 위해 예방 조치를 취해야 할 점이 있습니까? 라이브 스냅 샷을 작성하면 (a) 구성 파일 (postgresql.conf, pg_hba.conf, pg_ident.conf)을 백업하고 (b) SQL 덤프 파일을 올바르게 백업한다고 가정하는 것이 옳습니까? 이 두 가지를 백업하는 것이 바로 SQL 덤프 파일과 구성 파일입니다. DB가 크지 않기 때문에 데이터 파일 이이 스냅 샷을 팽창시킬 것이라는 사실은 신경 쓰지 않습니다. 이 경우 라이브 스냅 샷을 만들 수 있습니다. 맞습니까?
(2a) 루트 볼륨에 데이터 디렉토리를 유지하고 SQL 덤프 파일과 구성 파일을 다른 볼륨에 복사하고 복사가 완료되면 해당 볼륨을 스냅 샷하는 백업 스크립트를 보유하는 것이 더 좋을까요?
(3) 코드가있는 볼륨은 파일 시스템을 동기화하고 고정시키는 데 어떤 점이 있습니까? 아니면 라이브 스냅 샷 만 찍을 수 있습니까? 이 데이터는 상당히 "정적"이어야합니다.
(4) 이것이 확실한 백업 구성표입니까? 루트 볼륨은 머신 이미지를 설정하고 구성한 후에 만 유지하기 때문에 정기적으로 백업되지 않습니다.
감사