PostgreSQL 9.1을 평가 중이며 장애 조치 및 복제 세부 정보와 관련된 몇 가지 질문이 있습니다.
테스트 시나리오가 거의 없습니다. 마스터 서버와 슬레이브가 적은 첫 번째 서버. Master가 충돌 할 경우 Slaves 중 하나가 Master가되기를 원합니다. 마스터가 정상 상태로 돌아간 후에는 클러스터의 다른 서버와 동기화되고 (중지 된 동안 수행 된 모든 변경 사항을 적용 함) 마스터 역할을 다시 청구하거나 슬레이브가됩니다.
PostgreSQL과 현재 시나리오에서 볼 수있는 문제는 다음과 같습니다.
1) 마스터 서버 중단을 감지하기위한 기본 제공 도구가 표시되지 않습니다. 나는 pgpool이 그것을 처리하고 트리거 파일을 만들 수 있다는 것을 읽었으며 사람들이 이것을 위해 Linux 하트 비트 또는 유사한 도구를 사용한다는 것을 읽었습니다. 이제 장애 조치를 감지하고 클러스터에서 새 마스터를 할당 할 수 있습니다. 다른 노예들은 새로운 스승이 있다는 것을 알고 지금 그것을 백업해야합니까?
2) 장애 복구 절차를 이해하지 못합니다. 마스터 및 슬레이브 호스트 구성이 다릅니다. 마스터 장애 복구 후 두 개의 마스터가 있습니까? 서버는 어떻게 다시 동기화됩니까? "데이터 폴더를 서버로 전송하고 다시 시작"과 같은 수동 솔루션 만 보았습니다. 그렇다면 해결책이나 모범 사례 또는 적어도 주요 원칙은 무엇입니까?
3) 클라이언트 측에서 서버 중단을 어떻게 처리해야합니까? 연결을 만들 때 서버 IP를 명시 적으로 지정합니다. 마스터-슬레이브 구조를 알고, 요청을 마스터에게만 보내고 연결이 끊어진 경우 백업 서버 등으로 전환되는 일종의 ConnectionManager를 개발해야합니까? pgpool은 응용 프로그램의 진입 점이 될 수 있으며 올바른 방식으로 연결을 관리합니다. pgpool이 유일한 해결책입니까? 장애 조치 및 장애 복구를 잘 처리합니까?
4) 수동으로 데이터를 복사하거나 PostgreSQL 인스턴스 및 기타 수동으로 재구성 해야하는 것을 피할 수있는 솔루션 (상업적 솔루션)이 있습니까? 모든 사람이 동기화 할 때 클러스터 구성의 종류에 따라 누가 마스터이고 모든 것이 운영자의주의없이 자동으로 전환되는지가 확실합니까?
이 스레드와 기사에 따르면
http://denishjpatel.blogspot.com/2010/11/possibility-of-graceful-switchover.html
이러한 질문을 해결할 수있는 완전 자동 솔루션은 없습니다. 내가 맞아?
감사!