이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 26.2. 로그쉽 토토 서버버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

23.4. 고 가용성을위한 따뜻한 대기 토토 커뮤니티

연속 아카이브를 사용하여 A고 가용성(ha) 클러스터 구성 하나 이상의대기 토토 커뮤니티준비 기본 토토 커뮤니티가 실패하면 작업을 인수하십시오. 이 기능 널리 알려져따뜻한 대기또는로그 배송.

기본 및 대기 토토 커뮤니티가 함께 작동하여이를 제공합니다. 기능은 서버가 느슨하게 연결되어 있지만. 그만큼 기본 서버는 연속 아카이빙 모드에서 작동하는 반면 각각은 각각 작동합니다 대기 토토 커뮤니티는 연속 복구 모드에서 작동하여 읽습니다 기본의 책치 파일. 데이터베이스 테이블의 변경 사항은 없습니다 이 기능을 활성화하는 데 필요하므로 낮게 제공합니다 다른 복제와 비교하여 관리 오버 헤드 구혼. 이 구성은 또한 상대적으로 낮습니다 기본 서버에 대한 성능 영향.

한 데이터베이스 서버에서 직접 이동 또는 "로그"레코드를 직접 이동 다른 사람에게는 일반적으로 로그 배송으로 설명됩니다.PostgreSQL파일 기반 로그를 구현합니다 배송, 즉 WAL 레코드가 하나의 파일로 전송되었음을 의미합니다. 한 번에 (WAL 세그먼트). 책치 파일을 쉽게 배송 할 수 있습니다 인접한 시스템에 관계없이 모든 거리에서 저렴하게 동일한 사이트의 다른 시스템 또는 먼 쪽의 다른 시스템 지구의. 이 기술에 필요한 대역폭은 다양합니다 기본 서버의 트랜잭션 속도에 따라. 기록 기반 로그 배송은 사용자 정의 개발로도 가능합니다 에서 논의 된 바와 같이 절차섹션 23.4.4.

로그 배송이 비동기식이라는 점에 유의해야합니다. WAL 레코드는 거래 커밋 후 배송됩니다. 결과적으로 기본 서버가 어려움을 겪는 경우 데이터 손실에 대한 창이 있습니다. 치명적인 실패 : 아직 배송되지 않은 거래가있을 것입니다 잃어버린. 데이터 손실 창의 길이는 사용에 의해 제한 될 수 있습니다. 의archive_timeout매개 변수 필요한 경우 몇 초 만에 낮게 설정할 수 있습니다. 그러나 그런 낮은 설정은 대역폭 요구 사항을 크게 증가시킵니다 파일 배송 용. 1 분 미만의 창이 필요하거나 따라서 레코드 기반 로그를 살펴 보는 것이 좋습니다 해운.

대기 토토 커뮤니티는 액세스 할 수 없습니다. 지속적으로 복구 처리를 수행합니다. 복구 성능 대기가 일반적으로 완전 가용성에서 멀어지면 활성화 된 순간. 결과적 으로이 기능을 따뜻한 대기라고합니다. 고 가용성을 제공하는 구성. 서버 복원 보관 된베이스 백업 및 롤 포워드에서옵니다 상당히 길어서 기술은 실제로 제공합니다 재해 복구를위한 솔루션, ha.

23.4.1. 계획

일반적으로 기본 및 대기 토토 커뮤니티를 만드는 것이 현명합니다. 그들이 최소한 데이터베이스 서버의 관점. 특히, 경로 테이블 스페이스와 관련된 이름은 AS-IS에 전달됩니다. 기본 서버와 대기 토토 커뮤니티는 모두 동일한 마운트를 가져야합니다. 해당 기능이 사용되는 경우 테이블 스페이스 경로. 명심하십시오 IFPostgreSQL : 문서새로운 마운트 포인트 1 차에서 실행됩니다 1 차와 모두에서 생성되어야합니다. 명령이 실행되기 전에 대기 토토 커뮤니티. 하드웨어가 필요합니다 정확히 동일하지는 않지만 경험은 두 개의 동일한 시스템이 두 가지를 유지하는 것보다 쉽습니다 응용 프로그램 및 시스템의 수명에 걸쳐. 어느 쪽이든 사례 하드웨어 아키텍처가 동일해야합니다. 배송 예를 들어, 32 비트에서 64 비트 시스템에서 작동하지 않습니다.

일반적으로 다른 실행되는 서버간에 로그 배송 주요 릴리스 수준은 불가능합니다. 그것은 정책입니다 토토 사이트은 사소한 릴리스 업그레이드 중 디스크 형식이므로 가능합니다. 1 차 및 다른 사소한 릴리스 레벨을 실행합니다 대기 토토 커뮤니티가 성공적으로 작동합니다. 그러나 공식적인 것은 없습니다 이에 대한 지원이 제공되며 1 차를 유지하는 것이 좋습니다. 그리고 같은 릴리스 레벨의 대기 토토 커뮤니티 가능한. 새 마이너 릴리스로 업데이트 할 때 가장 안전합니다 정책은 먼저 대기 토토 커뮤니티를 업데이트하는 것입니다. 릴리스는 그 반대보다 이전의 사소한 릴리스.

대기를 활성화하는 데 특별한 모드가 필요하지 않습니다. 섬기는 사람. 기본 및 대기에서 발생하는 작업 토토 커뮤니티는 전적으로 정상적인 연속 보관 및 복구입니다 작업. 두 데이터베이스 간의 유일한 접촉 지점 토토 커뮤니티는 공유하는 왈 파일 아카이브입니다. 아카이브에 쓰기, 아카이브에서 대기 읽기. 케어 별도의 기본을위한 WAL 아카이브를 보장하기 위해 토토 커뮤니티는 함께 혼합되거나 혼란스러워지지 않습니다.

두 개의 느슨하게 결합 된 토토 커뮤니티를 작동시키는 마법 함께 함께Restore_command다음 WAL 파일이되기를 기다리는 대기에서 사용 기본에서 사용할 수 있습니다. 그만큼Restore_command복구 .conf대기 토토 커뮤니티의 파일. 정상 복구 처리는 WAL에서 파일을 요청합니다. 아카이브, 파일을 사용할 수없는 경우 실패보고. 을 위한 대기 처리 다음 파일이 사용할 수 없으므로 인내심을 갖고 나타날 때까지 기다려야합니다. 에이 대기 중Restore_command작성할 수 있습니다 존재를 위해 폴링 후 루프하는 사용자 정의 스크립트로 다음 WAL 파일의. 트리거하는 방법도 있어야합니다 장애 조치.Restore_command, 루프를 끊고 a 대기 토토 커뮤니티에 대한 파일이없는 오류. 이것은 회복을 종료합니다 그리고 대기는 일반 서버로 나타납니다.

적합한 PseudocodeRestore_commandIS :

트리거 = 거짓;
while (! nextwalfileready () &&! 트리거)

    수면 (100000L);         / * ~ 0.1 초 동안 기다리십시오 */
    if (checkforexternaltrigger ())
        트리거 = 참으로;

PostgreSQL제공하지 않습니다 실패를 식별하는 데 필요한 시스템 소프트웨어 기본 및 대기 시스템에 알리고 대기 데이터베이스 토토 커뮤니티. 그러한 많은 도구가 존재하며 잘 통합되어 있습니다 IP와 같은 성공적인 장애 조치에 필요한 다른 측면에서 주소 마이그레이션.

장애 조치를 유발하는 수단은 중요한 부분입니다. 계획과 디자인. 그만큼Restore_command는 한 번만 전체 실행됩니다 각 WAL 파일. 실행되는 프로세스Restore_Command따라서 생성되고 죽습니다 각 파일마다 데몬 또는 서버 프로세스가 없으므로 신호와 신호 처리기를 사용할 수 없습니다. 더 영구 장애 조치를 트리거하려면 알림이 필요합니다. 그것은 특히 사용되는 경우 간단한 타임 아웃 시설을 사용할 수 있습니다. 알려진 것과 함께archive_timeout기본 설정. 이것은 네트워크 문제 또는 바쁜 기본 이후 다소 오류가 발생하기 쉬운 서버는 장애 조치를 시작하기에 충분할 수 있습니다. 알림 트리거 파일의 명시적인 생성과 같은 메커니즘은 오류가 발생하기 쉬운 경우, 이것이 배열 될 수 있다면.

23.4.2. 구현

대기 토토 커뮤니티를 구성하기위한 짧은 절차는 다음과 같습니다. 다음. 각 단계에 대한 자세한 내용은 이전을 참조하십시오 언급 된 섹션.

  1. 기본 및 대기 시스템을 동일하게 설정하십시오 가능한 한 두 개의 동일한 사본을 포함하여PostgreSQL같은 릴리스에서 수준.

  2. 기본에서 월까지 연속 아카이브 설정 대기 토토 커뮤니티의 디렉토리에있는 아카이브. 확인archive_commandandarchive_timeout기본에 적절하게 설정되어 있습니다 (참조섹션 23.3.1).

  3. 기본 토토 커뮤니티의 기본 백업을 만듭니다 (참조섹션 23.3.2),이 데이터를 대기에로드하십시오.

  4. 로컬 월에서 대기 토토 커뮤니티에서 복구 시작 아카이브, A복구 .confa를 지정합니다Restore_command앞에서 설명한대로 기다리는 (참조섹션 23.3.3).

복구는 WAL 아카이브를 읽기 전용으로 취급하므로 WAL 일단 WAL 파일이 대기 시스템에 복사되었습니다. 대기로 읽는 것과 동시에 테이프 데이터베이스 서버. 따라서 대기 토토 커뮤니티를 실행합니다 가용성은 파일과 동시에 수행 할 수 있습니다. 장기 재해 복구 목적으로 저장됩니다.

테스트 목적으로, 1 차와 동일한 시스템의 대기 토토 커뮤니티. 이것은 제공하지 않습니다 서버 견고성에 대한 가치있는 개선도 가능하지도 않습니다 ha.

23.4.3. Failover

기본 서버가 실패하면 대기 토토 커뮤니티가 장애 조치 절차 시작.

대기 토토 커뮤니티가 실패하면 장애 조치가 필요하지 않습니다. 장소. 대기 토토 커뮤니티를 다시 시작할 수있는 경우 시간조차도 나중에 복구 프로세스도 즉시 일 수 있습니다 재시작 가능한 복구를 활용하여 다시 시작했습니다. 만약 대기 토토 커뮤니티를 다시 시작할 수없고 완전한 새 대기 서버를 생성해야합니다.

기본 서버가 실패한 다음 즉시 다시 시작되면 더 이상 없음을 알리는 메커니즘이 있어야합니다. 기본. 이것은 때때로 Stonith로 알려져 있습니다 (촬영 상황을 피하는 데 필요한 다른 노드) 두 시스템이 모두 기본이라고 생각하는 경우 혼란과 궁극적으로 데이터 손실.

많은 장애 조치 시스템은 1 차 및 1 차 시스템을 사용합니다. 어떤 종류의 하트 비트 메커니즘으로 연결된 대기 둘과 두 사이의 연결성을 지속적으로 확인하십시오 1 차의 생존 가능성. 세 번째를 사용하는 것도 가능합니다 일부 문제를 피하기 위해 시스템 (증인 토토 커뮤니티라고 함) 부적절한 장애 조치이지만 추가 복잡성은 그렇지 않을 수 있습니다 충분한주의를 기울이지 않고 설립되지 않는 한 가치가 있습니다. 엄격한 테스트.

일단 대기에 장애 조치가 발생하면 단 하나만 있습니다. 작동중인 서버. 이것은 퇴화 상태로 알려져 있습니다. 그만큼 이전 대기는 이제 기본이지만 이전의 기본은 아래로 머물 수 있습니다. 정상적인 작동으로 돌아 가기 위해서는 우리가해야합니다 이전 기본에서 대기 토토 커뮤니티를 완전히 재현합니다. 시스템이 올 때 또는 세 번째, 아마도 새로운 시스템에 시스템. 완료되면 기본 및 대기는 전환 된 역할. 어떤 사람들은 세 번째 서버를 사용하기로 선택합니다 새 대기 토토 커뮤니티가 될 때까지 새 기본에 백업을 제공합니다. 분명히 이것은 시스템을 복잡하게 만듭니다 구성 및 운영 프로세스.

따라서 기본에서 대기 토토 커뮤니티로 전환하는 것은 빠르지 만 장애 조치 클러스터를 다시 준비하려면 시간이 필요합니다. 정기적인 기본에서 대기로 전환하는 것이 권장됩니다 유지 보수를 위해 각 시스템에서 정기적으로 가동 중지 시간을 허용합니다. 이것 또한 장애 조치 메커니즘의 테스트 역할을하여 필요할 때 실제로 작동합니다. 서면 관리 절차가 권장됩니다.

23.4.4. 레코드 기반 로그 해운

PostgreSQL직접 위에서 설명한대로 파일 기반 로그 배송을 지원합니다. 그것은 또한 레코드 기반 로그 배송을 구현할 수 있습니다 맞춤형 개발이 필요합니다.

외부 프로그램은에 전화 할 수 있습니다pg_xlogfile_name_offset ()함수 (참조PostgreSQL : 문서 : 8.2 : 토토 캔 토토 캔 토토 캔) 파일 이름과 정확한 바이트 오프셋 WAL의 현재 끝. 그런 다음 WAL 파일에 직접 액세스 할 수 있습니다 그리고 WAL의 마지막 끝에서 데이터를 현재 끝이 대기 토토 커뮤니티로 끝납니다. 이 접근법으로 데이터 손실의 창은 매우 작을 수 있지만 복사 프로그램은 없습니다. 부분적으로 사용 된 세그먼트 파일을 강제하여 대역폭을 낭비합니다 보관해야합니다. 대기 토토 커뮤니티 'Restore_command스크립트는 여전히 전체 WAL을 다루고 있습니다 파일, 따라서 점진적으로 복사 된 데이터는 일반적으로 만들어지지 않습니다. 대기 토토 커뮤니티에서 사용할 수 있습니다. 그것은 단지 사용됩니다 1 차 다이 - 마지막 부분 월 파일은 대기하기 전에 대기. 그래서 맞습니다 이 프로세스의 구현에는의 협력이 필요합니다.Restore_command데이터가있는 스크립트 복사 프로그램.

23.4.5. 점진적으로 업데이트되었습니다 백업

따뜻한 대기 구성에서는 오프로드가 가능합니다. 기본에서 주기적으로 기본 백업을 취하는 비용 섬기는 사람; 대신 기본 백업은 백업을 통해 만들 수 있습니다. 대기 토토 커뮤니티 파일. 이 개념은 일반적으로 알려져 있습니다 백업, 로그 변경 축적 이상 점진적으로 업데이트되었습니다 간단히, 축적 변화.

대기 토토 커뮤니티 파일을 백업하는 동안 기본에서 배송 된 로그를 따르고 있습니다. 해당 데이터를 다시로드하고 대기 복구 프로세스를 다시 시작하십시오 마지막 재시작 지점에서. 우리는 더 이상 WAL을 유지할 필요가 없습니다 다시 시작 포인트 전의 파일. 우리가 회복해야한다면 점진적으로 업데이트 된 백업에서 복구하는 것이 더 빠릅니다. 원래베이스 백업보다.

대기 토토 커뮤니티가 아니기 때문에"라이브", 사용할 수 없습니다pg_start_backup ()andpg_stop_backup ()백업을 관리합니다 프로세스; 얼마나 멀리 떨어져 있는지 결정하는 것은 당신에게 달려있을 것입니다. WAL 세그먼트 파일을 복구 할 수있는 백업을 유지해야합니다. 당신은 실행하여 이것을 할 수 있습니다PG_CONTROLDATA대기 토토 커뮤니티에서 제어 파일을 검사하고 현재 체크 포인트를 결정하십시오 WAL 위치.