PostgreSQL에서 스트리밍 복제 및 장애 조치


14

PostgreSQL 복제에 대한 개념 증명을하고 있습니다. 포럼에서 토론 한 후에 다른 솔루션에 비해 성능이 우수하므로 스트리밍 복제를 진행하기로 결정했습니다. PostgreSQL은 스트리밍 복제에 자동 장애 조치를 제공하지 않습니다. 트리거 파일을 사용하여 슬레이브를 마스터로 전환 할 수 있지만 관리 할 수는 없습니다. 자동 장애 조치 및 고 가용성 솔루션을 원합니다.

다양한 솔루션을 사용할 수 있습니다.

  1. 담당자
  2. 리눅스 하트 비트
  3. Pgpool-II (자동 장애 조치 전용)
  4. 사용한 경우 다른 도구.

내 질문은 어떤 솔루션을 사용해야합니까?

답변:


8

우리 가게에서는 pgpool 대신 repmgr과 pgbouncer를 선택했습니다. repmgr에는 복제 된 데이터베이스 서버의 클러스터를 설정하고 유지 관리 할 수있는 유용한 도구가 있습니다. 이 경우 마스터 1 개와 슬레이브 2 개 (새 마스터의 장애 조치가 될 수있는 하나의 장애 조치 및 하나의 실시간 읽기 성능 테스트)입니다. pgpool에는 구성 변경에 문제가 있습니다. 대부분의 경우 서비스를 다시 시작해야하므로 가동 중지 시간이 있습니다. 24x7x365 가용성이 필요할 때 문제가됩니다.

repmgrd (데몬)는 페일 오버 후 새 마스터를 선택하는 데 도움이되므로 두뇌 분리 상황을 원하지 않습니다. 우리는 마스터 데이터베이스에 대한 하나의 가상 IP 주소를 가지고 있습니다. 다른 서버가 마스터가되면이 주소를 사용하는 유일한 서버입니다. 모든 데이터베이스 서버에는 읽기 전용 쿼리를위한 자체 IP 주소도 있습니다.

repmgr은 처음에 스트리밍 복제를 생성 한 사람들이 관리하므로 그들이 무엇을 이야기하는지 알게됩니다. 버전 2.0이 출시 될 예정입니다.

최악의 상황에 대비하고 전원 및 네트워크 플러그를 뽑아서 심각한 테스트를 수행하십시오! 무언가 잘못되면 다른 많은 일들이 이미 잘못되어 감당할 수 없을 때 등을 물게됩니다.

복제는 심각한 문제가 발생한 후 작동하는 페일 오버 (failover)입니다.


1

우리는 동시에 두 가지 다른 솔루션을 사용하고 있습니다 ...

동기식 복제의 경우 Pgpool-II 및 비동기 (트리거 된) 복제의 경우 Slony2

성능이 우수합니다


답변 주셔서 감사합니다 ... 실제로 스트리밍 복제와 함께 Pgpool-II를 시도하고 있습니다. 자동 장애 조치를 제공합니다. 그러나 기본 노드를 다시 시작하면 pgpool-II를 다시 마스터 또는 대기 노드로 시작할 수 있습니까?
Saurabh

내가 아는 한은 확실하지 않습니다. 기본 노드를 수동으로 복구해야합니다. 우리의 설정은 약간 다릅니다. 그것은 다중 마스터 환경이며 모든 노드는 동등한 권리를가집니다. 한 노드가 동기화되지 않으면로드 밸런서는 클라이언트를이 노드로 리디렉션하는 것을 거부합니다.
user5701 2019 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.