지속적인 보관을 사용하여 다음을 생성할 수 있습니다.고가용성(HA) 클러스터 구성 하나 이상대기 토토 커뮤니티준비됨 기본 서버에 장애가 발생하면 작업을 대신합니다. 이 기능 다음과 같이 널리 알려져 있습니다.따뜻한 대기또는로그 전달.
기본 및 대기 토토 커뮤니티는 함께 작동하여 이를 제공합니다. 하지만 서버는 느슨하게 결합되어 있습니다. 는 기본 서버는 연속 보관 모드로 작동하지만 각 서버는 대기 토토 커뮤니티는 연속 복구 모드로 작동하여 기본의 WAL 파일입니다. 데이터베이스 테이블에 대한 변경 사항은 없습니다. 이 기능을 활성화하는 데 필요하므로 낮은 제공량을 제공합니다. 다른 복제와 비교하여 관리 오버헤드 접근합니다. 이 구성은 또한 상대적으로 낮은 기본 서버의 성능에 영향을 미칩니다.
하나의 데이터베이스 서버에서 WAL 또는 "로그" 레코드를 직접 이동 다른 사람에게 전달하는 것은 일반적으로 로그 전달로 설명됩니다.PostgreSQL파일 기반 로그 구현 배송, 이는 WAL 기록이 하나의 파일로 전송됨을 의미합니다. (WAL 세그먼트)를 한 번에. WAL 파일은 쉽게 배송될 수 있으며 인접한 시스템이든 상관없이 모든 거리에서 저렴하게 동일한 사이트의 다른 시스템 또는 반대편의 다른 시스템 지구의. 이 기술에 필요한 대역폭은 다양합니다. 기본 서버의 트랜잭션 속도에 따라. 맞춤형 개발로 기록 기반 로그 전달도 가능 절차에 설명된 대로섹션 23.4.4.
로그 전달은 비동기식이라는 점에 유의해야 합니다. WAL 레코드는 트랜잭션 커밋 후에 배송됩니다. 그 결과 기본 서버에 문제가 발생하면 데이터가 손실될 가능성이 있습니다. 치명적인 실패: 아직 배송되지 않은 거래는 길을 잃었다. 데이터 손실 기간은 사용에 따라 제한될 수 있습니다. 의archive_timeout매개변수, 이는 필요한 경우 몇 초 정도로 낮게 설정할 수 있습니다. 그러나 그렇게 낮은 설정은 대역폭 요구 사항을 크게 증가시킵니다. 파일 배송을 위해. 1분 미만의 창이 필요한 경우 또는 따라서 기록 기반 로그를 살펴보는 것이 더 나을 것입니다. 배송.
대기 토토 커뮤니티는 접속할 수 없습니다. 지속적으로 복구 처리를 수행합니다. 복구 성능 대기 상태는 일반적으로 활성화된 후 전체 가용성이 잠시 떨어져 있습니다. 결과적으로 이 기능을 웜 대기라고 합니다. 고가용성을 제공하는 구성입니다. 서버 복원 아카이브된 기본 백업에서 롤포워드하는 데 소요되는 시간은 다음과 같습니다. 상당히 길기 때문에 해당 기술은 실제로 HA가 아닌 재해 복구용 솔루션입니다.
일반적으로 기본 및 대기 토토 커뮤니티를 생성하는 것이 현명합니다 적어도 그 내용에서는 최대한 유사하도록 데이터베이스 서버의 관점. 특히, 경로 테이블스페이스와 연관된 이름은 있는 그대로 전달됩니다. 따라서 기본 서버와 대기 토토 커뮤니티 모두 동일한 마운트를 가져야 합니다. 해당 기능이 사용되는 경우 테이블스페이스에 대한 경로입니다. 명심하세요 만약에PostgreSQL : 문서기본, 새 마운트 지점에서 실행됩니다. 이를 위해 필요한 것은 기본 및 모든 데이터베이스 모두에서 생성되어야 합니다. 명령이 실행되기 전 대기 토토 커뮤니티. 하드웨어 필요 정확히 동일하지는 않지만 경험에 따르면 유지하는 것은 두 개의 동일한 시스템이 두 개의 서로 다른 시스템을 유지하는 것보다 쉽습니다. 애플리케이션과 시스템의 수명 동안의 것입니다. 어떤 경우에도 하드웨어 아키텍처가 동일해야 하는 경우 - 배송 예를 들어 32비트에서 64비트 시스템으로는 작동하지 않습니다.
일반적으로 서로 다른 서버를 실행하는 서버 간의 로그 전달 주요 릴리스 레벨은 불가능합니다. 이는 의 정책이다. PostgreSQL 글로벌 개발 그룹은 다음 내용을 변경하지 않습니다. 마이너 릴리스 업그레이드 중에 디스크 형식이 변경될 가능성이 높습니다. 기본 및 대기 토토 커뮤니티가 성공적으로 작동합니다. 그러나 공식적인 이에 대한 지원이 제공되며 기본을 유지하는 것이 좋습니다. 동일한 릴리스 레벨의 대기 토토 커뮤니티 가능합니다. 새로운 마이너 릴리스로 업데이트할 때 가장 안전한 방법은 정책은 대기 토토 커뮤니티를 먼저 업데이트하는 것입니다 — 새로운 마이너 서버 릴리스는 WAL 파일을 읽을 수 있는 가능성이 더 높습니다. 이전 마이너 릴리스보다 그 반대입니다.
대기 활성화에 필요한 특수 모드는 없습니다. 서버. 기본 및 대기 모두에서 발생하는 작업 서버는 완전히 정상적인 지속적인 보관 및 복구입니다. 작업. 두 데이터베이스 간의 유일한 접촉 지점 서버는 다음을 공유하는 WAL 파일의 아카이브입니다. 아카이브에 쓰기, 아카이브에서 읽기 대기. 관리 별도의 기본 데이터베이스에 대한 WAL 아카이브를 보장하기 위해 수행되어야 합니다. 서버가 서로 섞이거나 혼동되지 않습니다.
느슨하게 연결된 두 토토 커뮤니티를 작동시키는 마법 함께는 단순히 arestore_command다음 WAL 파일이 생성되기를 기다리는 대기에서 사용됩니다. 기본부터 가능합니다.restore_command다음에 지정됨recovery.conf파일을 대기 토토 커뮤니티에 저장하세요. 정상적인 복구 처리는 WAL에서 파일을 요청합니다. 아카이브, 파일을 사용할 수 없는 경우 실패를 보고합니다. 에 대한 대기 처리 중 다음 파일이 나오는 것은 정상입니다. 사용할 수 없으므로 인내심을 갖고 나타날 때까지 기다려야 합니다. 에이 기다리고 있어요restore_command작성 가능 존재 여부를 폴링한 후 반복되는 사용자 정의 스크립트로 다음 WAL 파일의 트리거하는 방법도 있어야 합니다. 장애 조치가 중단되어야 합니다.restore_command, 루프를 중단하고 대기 토토 커뮤니티에 파일을 찾을 수 없음 오류가 발생했습니다. 이것으로 복구가 종료됩니다 그러면 대기 토토 커뮤니티가 일반 서버로 나타납니다.
적합한 의사 코드restore_command다음은:
트리거됨 = false;
while (!NextWALFileReady() && !트리거됨)
    수면(100000L);         /* ~0.1초 동안 기다림 */
    if(CheckForExternalTrigger())
        트리거 = 사실;
    PostgreSQL제공하지 않음 오류를 식별하는 데 필요한 시스템 소프트웨어 기본 시스템에 알리고 대기 시스템에 알린 다음 대기 시스템에 알립니다. 데이터베이스 서버. 이러한 도구가 많이 존재하며 잘 통합되어 있습니다. IP와 같은 성공적인 장애 조치에 필요한 다른 측면 주소 이전.
장애 조치를 실행하는 수단은 다음의 중요한 부분입니다. 기획과 디자인.restore_command다음 기간 동안 전체가 한 번 실행됩니다. 각 WAL 파일. 을 실행하는 프로세스restore_command그러므로 생성되고 죽습니다 각 파일마다 데몬이나 토토 커뮤니티 프로세스가 없으므로 신호와 신호 처리기를 사용할 수 없습니다. 보다 영구적인 장애 조치를 트리거하려면 알림이 필요합니다. 그것은 특히 사용하는 경우 간단한 시간 초과 기능을 사용할 수 있습니다. 알려진와 함께archive_timeout기본 설정입니다. 이것은 네트워크 문제 또는 바쁜 기본 작업으로 인해 다소 오류가 발생하기 쉽습니다. 서버는 장애 조치를 시작하기에 충분할 수 있습니다. 알림 트리거 파일의 명시적 생성과 같은 메커니즘은 오류 발생 가능성이 적습니다. 처리할 수 있는 경우입니다.
대기 토토 커뮤니티를 구성하는 간단한 절차는 다음과 같습니다. 다음과 같습니다. 각 단계에 대한 자세한 내용은 이전 항목을 참조하세요. 명시된 대로 섹션을 작성하세요.
기본 및 대기 시스템을 거의 동일하게 설정 가능한 한 두 개의 동일한 사본을 포함하여PostgreSQL동일 릴리스에서 수준.
기본에서 WAL로 지속적인 아카이브 설정 대기 토토 커뮤니티의 디렉터리에 있는 아카이브입니다. 다음을 확인하세요.archive_command그리고archive_timeout기본에 적절하게 설정되어 있습니다(참조섹션 23.3.1).
기본 토토 커뮤니티의 기본 백업을 만듭니다(참조섹션 23.3.2), 이 데이터를 대기에 로드합니다.
로컬 WAL에서 대기 토토 커뮤니티 복구 시작 아카이브, 사용하여recovery.confa를 지정하는restore_command이전에 설명한 대로 대기합니다(참조섹션 23.3.3).
복구는 WAL 아카이브를 읽기 전용으로 처리하므로 WAL이 한 번 파일이 복사 가능한 대기 시스템에 복사되었습니다. 대기 장치에서 테이프를 읽는 동시에 테이프를 읽는 중입니다. 데이터베이스 서버. 따라서, 높은 대기 토토 커뮤니티를 운영 파일 가용성은 동시에 수행될 수 있습니다. 장기적인 재해 복구 목적으로 저장됩니다.
테스트 목적으로 기본 및 동일한 시스템의 대기 토토 커뮤니티. 이것은 어떤 것도 제공하지 않습니다 서버 견고성이 향상될 가치가 있으며, 그렇지 않을 수도 있습니다. HA로 설명됩니다.
기본 서버가 실패하면 대기 토토 커뮤니티가 작동해야 합니다. 장애 조치 절차를 시작합니다.
대기 토토 커뮤니티가 실패하면 장애 조치가 필요하지 않습니다. 장소. 대기 토토 커뮤니티를 다시 시작할 수 있다면 잠시라도 나중에 복구 프로세스를 즉시 수행할 수도 있습니다. 다시 시작 가능 복구 기능을 활용하여 다시 시작됩니다. 만약 대기 토토 커뮤니티를 다시 시작할 수 없으면 완전히 새로운 대기 토토 커뮤니티가 됩니다. 서버를 만들어야 합니다.
주 토토 커뮤니티가 실패하고 즉시 다시 시작되면, 더 이상 존재하지 않음을 알리는 메커니즘이 있어야 합니다. 기본. 이것은 때때로 STONITH(Shoot the 헤드의 다른 노드), 상황을 피하기 위해 필요합니다. 두 시스템 모두 자신이 기본이라고 생각하는 경우 혼란을 초래하고 궁극적으로 데이터가 손실됩니다.
많은 장애 조치 시스템은 기본 시스템과 시스템 두 개만 사용합니다. 일종의 하트비트 메커니즘으로 연결된 대기 지속적으로 둘 사이의 연결을 확인합니다. 기본의 생존 가능성. 세 번째로 사용하는 것도 가능합니다 일부 문제를 방지하기 위한 시스템(감시 토토 커뮤니티라고 함) 부적절한 장애 조치를 수행하지만 추가적인 복잡성으로 인해 충분한 주의를 기울여 설정하지 않는 한 가치가 있을 것입니다. 엄격한 테스트를 거쳤습니다.
일단 대기로의 장애 조치가 발생하면 우리는 단 하나의 서버 운영중입니다. 이는 퇴화된 상태로 알려져 있습니다. 는 이전 대기는 이제 기본이지만 이전 기본은 다운되어 계속 다운될 수 있습니다. 정상 작동으로 돌아가려면 다음을 수행해야 합니다. 이전 기본 서버에서 대기 토토 커뮤니티를 완전히 다시 생성합니다. 또는 세 번째, 아마도 새로운 시스템이 나타날 때. 완료되면 기본 및 대기는 다음을 갖는 것으로 간주될 수 있습니다. 역할을 바꿨습니다. 어떤 사람들은 세 번째 서버를 사용하여 새로운 대기 토토 커뮤니티가 나올 때까지 새로운 기본 서버에 백업을 제공합니다. 다시 생성되지만 이는 분명히 시스템을 복잡하게 만듭니다. 구성 및 운영 프로세스.
따라서 기본 서버에서 대기 토토 커뮤니티로 전환하는 것은 빠를 수 있지만 장애 조치 클러스터를 다시 준비하는 데 약간의 시간이 필요합니다. 레귤러 기본에서 대기로 전환하는 것이 권장됩니다. 유지 관리를 위해 각 시스템에 정기적인 가동 중지 시간을 허용합니다. 이 또한 장애 조치 메커니즘을 테스트하여 다음과 같은 기능을 수행하는지 확인합니다. 필요할 때 정말 효과가 있을 것입니다. 서면 행정 절차를 따르는 것이 좋습니다.
PostgreSQL직접 위에서 설명한 대로 파일 기반 로그 전달을 지원합니다. 그것은 또한 기록 기반 로그 전달을 구현할 수 있지만 맞춤형 개발이 필요합니다.
외부 프로그램이 다음을 호출할 수 있습니다.pg_xlogfile_name_offset()함수(참조PostgreSQL : 문서 : 8.2 : 토토 캔 토토 캔 토토 캔) 알아보기
    파일 이름과 그 안에 있는 정확한 바이트 오프셋
    현재 WAL의 끝입니다. 그런 다음 WAL 파일에 직접 액세스할 수 있습니다.
    WAL의 마지막으로 알려진 끝에서 데이터를 복사합니다.
    현재 종료된 서버를 대기 토토 커뮤니티로 보냅니다. 이 접근 방식을 사용하면
    데이터 손실 기간은 폴링 주기 시간입니다.
    복사 프로그램은 매우 작을 수 있지만
    부분적으로 사용된 세그먼트 파일을 강제로 사용하여 낭비되는 대역폭
    보관됩니다. 대기 토토 커뮤니티'restore_command스크립트는 여전히 전체 WAL을 처리합니다.
    파일이므로 증분 복사된 데이터는 일반적으로 만들어지지 않습니다.
    대기 토토 커뮤니티에서 사용할 수 있습니다. 다음과 같은 경우에만 사용됩니다.
    기본 다이 — 그런 다음 마지막 부분 WAL 파일이
    그것이 나타나도록 허용하기 전에 대기하십시오. 그렇군요
    이 프로세스를 구현하려면 다음의 협력이 필요합니다.restore_command데이터가 포함된 스크립트
    복사 프로그램입니다.
웜 대기 구성에서는 오프로드가 가능합니다. 기본 데이터베이스에서 정기적인 기본 백업을 수행하는 데 드는 비용 서버; 대신 기본 백업은 다음을 백업하여 수행할 수 있습니다. 대기 토토 커뮤니티의 파일. 이 개념은 일반적으로 다음과 같이 알려져 있습니다. 증분 업데이트 백업, 로그 변경 누적 등 간단히 말해서, 누적을 변경합니다.
대기 토토 커뮤니티의 파일을 백업하는 동안 백업을 수행하면 기본에서 전달된 로그를 따르고 있으므로 다음을 수행할 수 있습니다. 해당 데이터를 다시 로드하고 대기 복구 프로세스를 다시 시작합니다. 마지막 재시작 지점부터. 더 이상 WAL을 유지할 필요가 없습니다. 다시 시작 지점 이전의 파일. 회복이 필요하다면, 증분 업데이트된 백업에서 복구하는 것이 더 빠릅니다. 원래 기본 백업보다.
대기 토토 커뮤니티가 아니기 때문에"실시간", 사용할 수 없습니다.pg_start_backup()그리고pg_stop_backup()백업 관리
    프로세스; 얼마나 멀리 과거로 돌아가는지 결정하는 것은 당신에게 달려 있습니다
    복구 가능한 백업을 가지려면 WAL 세그먼트 파일을 보관해야 합니다.
    다음을 실행하여 이 작업을 수행할 수 있습니다.pg_controldata대기 토토 커뮤니티에서
    제어 파일을 검사하고 현재 체크포인트를 결정합니다.
    WAL 위치.