연속 아카이브를 사용하여 A고 가용성(ha) 클러스터 구성 하나 이상의무지개 토토 서버준비 기본 서버가 실패하면 작업을 인수하십시오. 이 기능 널리 알려져따뜻한 무지개 토토또는로그 배송.
기본 및 무지개 토토 서버가 함께 작동하여이를 제공합니다. 기능은 서버가 느슨하게 연결되어 있지만. 그만큼 기본 서버는 연속 아카이빙 모드에서 작동하는 반면 각각은 각각 작동합니다 무지개 토토 서버는 연속 복구 모드에서 작동하여 읽습니다 기본의 책치 파일. 데이터베이스 테이블의 변경 사항은 없습니다 이 기능을 활성화하는 데 필요하므로 낮게 제공합니다 다른 복제와 비교하여 관리 오버 헤드 구혼. 이 구성은 또한 상대적으로 낮습니다 기본 서버에 대한 성능 영향.
하나의 데이터베이스 서버에서 WAL 레코드를 직접 이동합니다 다른 하나는 일반적으로 로그 배송으로 설명됩니다.PostgreSQL파일 기반 로그를 구현합니다 배송, 즉 WAL 레코드가 하나의 파일로 전송되었음을 의미합니다. 한 번에 (WAL 세그먼트). WAL 파일 (16MB)을 쉽게 배송 할 수 있습니다 그리고 인접한 거리에 관계없이 모든 거리에서 저렴하게 시스템, 동일한 사이트의 다른 시스템 또는 지구의 먼 쪽. 이 기술에 필요한 대역폭 기본 서버의 트랜잭션 속도에 따라 다릅니다. 기록 기반 로그 배송은 사용자 정의 개발로도 가능합니다 에서 논의 된 바와 같이 절차섹션 24.4.4.
로그 배송이 비동기식이라는 점에 유의해야합니다. 즉, 월드 레코드는 거래 커밋 후 배송됩니다. a 결과 기본 서버 인 경우 데이터 손실에 대한 창이 있습니다. 치명적인 실패를 겪습니다 : 아직 배송되지 않은 거래는 의지가 있습니다 길을 잃습니다. 데이터 손실 창의 길이는 사용archive_timeout매개 변수, 필요한 경우 몇 초 만에 설정할 수 있습니다. 하지만 이러한 낮은 설정은 대역폭을 크게 증가시킵니다 파일 배송 요구 사항. 보다 적은 창이 필요한 경우 1 분 정도, 레코드 기반을 조사하는 것이 좋습니다. 로그 배송.
무지개 토토 서버는 액세스 할 수 없습니다. 지속적으로 복구 처리를 수행합니다. 복구 성능 대기가 일반적으로 완전 가용성에서 멀어지면 활성화 된 순간. 결과적 으로이 기능을 따뜻한 무지개 토토라고합니다. 고 가용성을 제공하는 구성. 서버 복원 보관 된베이스 백업 및 롤 포워드에서옵니다 훨씬 더 길어서 기술은 솔루션 만 제공합니다. 고 가용성이 아닌 재해 복구.
일반적으로 기본 및 무지개 토토 서버를 만드는 것이 현명합니다. 그들이 최소한 데이터베이스 서버의 관점. 특히, 경로 테이블 스페이스와 관련된 이름은 AS-IS에 전달됩니다. 기본 서버와 무지개 토토 서버는 모두 동일한 마운트를 가져야합니다. 해당 기능이 사용되는 경우 테이블 스페이스 경로. 명심하십시오 IFPostgreSQL : 문서새로운 마운트 포인트 1 차에서 실행됩니다 1 차와 모두에서 생성되어야합니다. 명령이 실행되기 전에 무지개 토토 서버. 하드웨어가 필요합니다 정확히 동일하지는 않지만 경험은 두 개의 동일한 시스템이 두 가지를 유지하는 것보다 쉽습니다 응용 프로그램 및 시스템의 수명에 걸쳐. 어느 쪽이든 사례 하드웨어 아키텍처가 동일해야합니다. 배송 예를 들어, 32 비트에서 64 비트 시스템에서 작동하지 않습니다.
일반적으로 다른 실행되는 서버간에 로그 배송 주요한PostgreSQL릴리스 레벨은 불가능합니다. PostgreSQL의 정책입니다 디스크 형식을 변경하지 않는 글로벌 개발 그룹 사소한 릴리스 업그레이드 중에는 실행 중입니다. 기본 및 무지개 토토 서버의 다양한 사소한 릴리스 레벨 성공적으로 작동합니다. 그러나 그에 대한 공식적인 지원은 없습니다 제공되며 기본 및 무지개 토토 서버를 유지하는 것이 좋습니다. 가능한 한 동일한 릴리스 레벨에서. 업데이트 할 때 새로운 사소한 릴리스 인 가장 안전한 정책은 대기를 업데이트하는 것입니다. 서버 먼저 - 새로운 마이너 릴리스가 가능할 가능성이 높습니다. VICE보다 이전 마이너 릴리스에서 WAL 파일을 읽으려면 Versa.
무지개 토토를 활성화하는 데 특별한 모드가 필요하지 않습니다. 섬기는 사람. 기본 및 무지개 토토에서 발생하는 작업 서버는 전적으로 정상적인 연속 보관 및 복구입니다 작업. 두 데이터베이스 간의 유일한 접촉 지점 서버는 공유하는 왈 파일 아카이브입니다. 아카이브에 쓰기, 아카이브에서 무지개 토토 읽기. 케어 별도의 기본을위한 WAL 아카이브를 보장하기 위해 서버는 함께 혼합되거나 혼란스럽지 않습니다. 아카이브 무지개 토토에만 필요한 경우 크지 않아도됩니다. 작업.
두 개의 느슨하게 결합 된 서버를 작동시키는 마법 함께 함께Restore_command다음 WAL 파일을 요청할 때 대기에 사용 기본에서 사용할 수 있기를 기다립니다. 그만큼Restore_command복구 .conf대기에서 파일 섬기는 사람. 정상 복구 처리는 파일을 요청합니다 WAL 아카이브, 파일을 사용할 수없는 경우 실패를보고합니다. 대기 처리의 경우 다음 WAL 파일이 사용할 수 없으므로 인내심을 갖고 나타날 때까지 기다려야합니다. 끝나는 파일의 경우.Backup또는.History기다릴 필요가 없습니다 0이 아닌 반환 코드를 반환해야합니다. 무지개 토토Restore_Command는 관습으로 작성할 수 있습니다 다음의 존재에 대한 폴링 후 루프 스크립트 WAL 파일. 장애 조치를 트리거하는 방법도 있어야합니다. 방해 해야하는Restore_command, 루프를 깨고 a 무지개 토토 서버에 대한 파일이없는 오류. 이것은 회복을 종료합니다 그리고 대기는 일반 서버로 나타납니다.
적합한 슈도 코드Restore_commandIS :
트리거 = 거짓; while (! nextwalfileready () &&! 트리거) 수면 (100000L); / * ~ 0.1 초 동안 기다리십시오 */ if (checkforexternaltrigger ()) 트리거 = 참으로;
무지개 토토중인 작업 예Restore_command|Contrib모듈 명명pg_standby. a로 사용해야합니다 설명 된 논리를 올바르게 구현하는 방법에 대한 참조 위에. 특정 지원을 위해 필요에 따라 확장 할 수 있습니다. 구성 또는 환경.
PostgreSQL제공하지 않습니다 실패를 식별하는 데 필요한 시스템 소프트웨어 기본 및 무지개 토토 시스템에 알리고 무지개 토토 데이터베이스 서버. 그러한 많은 도구가 존재하며 잘 통합되어 있습니다 IP와 같은 성공적인 장애 조치에 필요한 다른 측면에서 주소 마이그레이션.
장애 조치를 유발하는 수단은 중요한 부분입니다. 계획과 디자인. 그만큼Restore_command는 한 번만 전체 실행됩니다 각 WAL 파일. 실행되는 프로세스Restore_command따라서 생성되고 죽습니다 각 파일마다 데몬 또는 서버 프로세스가 없으므로 신호와 신호 처리기를 사용할 수 없습니다. 더 영구 장애 조치를 트리거하려면 알림이 필요합니다. 그것은 특히 사용되는 경우 간단한 타임 아웃 시설을 사용할 수 있습니다. 알려진 것과 함께archive_timeout기본 설정. 이것은 네트워크 문제 또는 바쁜 기본 이후 다소 오류가 발생하기 쉬운 서버는 장애 조치를 시작하기에 충분할 수 있습니다. 알림 트리거 파일의 명시적인 생성과 같은 메커니즘은 오류가 발생하기 쉬운 경우, 이것이 배열 될 수 있다면.
WAL 아카이브의 크기는를 사용하여 최소화 할 수 있습니다%r옵션Restore_command. 이 옵션은 마지막을 지정합니다 복구를 허용하기 위해 보관 해야하는 아카이브 파일 이름 올바르게 다시 시작합니다. 이것은 아카이브를 자르는 데 사용될 수 있습니다 파일이 더 이상 필요하지 않으면 아카이브가 쓰기 가능한 경우 무지개 토토 서버에서.
무지개 토토 서버를 구성하기위한 짧은 절차는 다음과 같습니다. 다음. 각 단계에 대한 자세한 내용은 이전을 참조하십시오 언급 된 섹션.
기본 및 무지개 토토 시스템을 거의 동일하게 설정합니다 가능한 한 두 개의 동일한 사본을 포함하여PostgreSQL같은 릴리스에서 수준.
기본에서 월까지 연속 아카이브 설정 무지개 토토 서버의 디렉토리에있는 아카이브. 확인archive_mode, archive_commandandarchive_timeout기본에서 적절하게 설정됩니다 (참조섹션 24.3.1).
기본 서버의 기본 백업을 만듭니다 (참조섹션 24.3.2),이 데이터를 무지개 토토에로드하십시오.
로컬 월에서 무지개 토토 서버에서 복구 시작 아카이브, A복구 .confa를 지정합니다Restore_command앞에서 설명한대로 기다리는 (참조섹션 24.3.3).
복구는 WAL 아카이브를 읽기 전용으로 취급하므로 WAL 일단 WAL 파일이 대기 시스템에 복사되었습니다. 대기로 읽는 것과 동시에 테이프 데이터베이스 서버. 따라서 무지개 토토 서버를 실행합니다 가용성은 파일과 동시에 수행 할 수 있습니다. 장기 재해 복구 목적으로 저장됩니다.
테스트 목적으로, 1 차와 동일한 시스템의 무지개 토토 서버. 이것은 제공하지 않습니다 서버 견고성에 대한 가치있는 개선도 가능하지도 않습니다 ha.
기본 서버가 실패하면 무지개 토토 서버가 장애 조치 절차 시작.
무지개 토토 서버가 실패하면 장애 조치가 필요하지 않습니다. 장소. 무지개 토토 서버를 다시 시작할 수있는 경우 시간조차도 나중에 복구 프로세스도 즉시 일 수 있습니다 재시작 가능한 복구를 활용하여 다시 시작했습니다. 만약 무지개 토토 서버를 다시 시작할 수없고 완전한 새 대기 서버 인스턴스를 작성해야합니다.
기본 서버가 실패한 다음 즉시 다시 시작되면 더 이상 없음을 알리는 메커니즘이 있어야합니다. 기본. 이것은 때때로 Stonith로 알려져 있습니다 (촬영 상황을 피하는 데 필요한 다른 노드) 두 시스템 모두 자신이 기본이라고 생각하는 곳에서 혼란과 궁극적으로 데이터 손실.
많은 장애 조치 시스템은 기본 및 어떤 종류의 하트 비트 메커니즘으로 연결된 무지개 토토 둘과 두 사이의 연결성을 지속적으로 확인하십시오 1 차의 생존 가능성. 세 번째를 사용하는 것도 가능합니다 일부 사례를 방지하기위한 시스템 (증인 서버라고 함) 부적절한 장애 조치이지만 추가 복잡성은 그렇지 않을 수 있습니다 충분한주의를 기울이지 않고 엄격한 테스트.
일단 대기에 장애 조치가 발생하면 우리는 단 하나만 있습니다. 작동중인 서버. 이것은 퇴화 상태로 알려져 있습니다. 그만큼 이전 대기는 이제 기본이지만 이전의 기본은 아래로 머물 수 있습니다. 정상적인 작동으로 돌아 가기 위해서는 우리가해야합니다 이전 기본에서 무지개 토토 서버를 완전히 재현합니다. 시스템이 올 때 또는 세 번째, 아마도 새로운 시스템에 시스템. 완료되면 기본 및 대기는 전환 된 역할. 어떤 사람들은 세 번째 서버를 사용하기로 선택합니다 새 무지개 토토 서버가 될 때까지 새 기본에 백업을 제공합니다. 분명히 이것은 시스템을 복잡하게 만듭니다 구성 및 운영 프로세스.
따라서 기본에서 무지개 토토 서버로 전환하는 것은 빠르지 만 장애 조치 클러스터를 다시 준비하려면 시간이 필요합니다. 정기적인 기본에서 대기로 전환하는 것은 허용되므로 유용합니다. 유지 보수를 위해 각 시스템에서 정기적으로 가동 중지 시간. 이것은 또한 장애 조치 메커니즘의 테스트 역할을하여 필요할 때 실제로 작동합니다. 서면 관리 절차가 권장됩니다.
PostgreSQL직접 위에서 설명한대로 파일 기반 로그 배송을 지원합니다. 그것은 또한 레코드 기반 로그 배송을 구현할 수 있습니다 맞춤형 개발이 필요합니다.
외부 프로그램은를 호출 할 수 있습니다pg_xlogfile_name_offset ()
함수 (참조PostgreSQL : 문서 : 8.4 : 메이저 토토 사이트 메이저 토토 사이트 메이저 토토 사이트)
파일 이름과 정확한 바이트 오프셋
WAL의 현재 끝. 그런 다음 WAL 파일에 직접 액세스 할 수 있습니다
그리고 WAL의 마지막 끝에서 데이터를
현재 끝이 무지개 토토 서버로 끝납니다. 이 접근법으로
데이터 손실의 창은
매우 작을 수 있지만 복사 프로그램은 없습니다.
부분적으로 사용 된 세그먼트 파일을 강제하여 대역폭을 낭비합니다
보관해야합니다. 무지개 토토 서버 'Restore_command스크립트는 여전히 전체 WAL에서 처리합니다
파일, 따라서 점진적으로 복사 된 데이터는 일반적으로 만들어지지 않습니다.
무지개 토토 서버에서 사용할 수 있습니다. 그것은 단지 사용됩니다
1 차 다이 - 마지막 부분 월 파일은
대기하기 전에 대기. 그래서 맞습니다
이 프로세스의 구현에는의 협력이 필요합니다.Restore_command데이터가있는 스크립트
복사 프로그램.