Back to blog

EDB Failover Manager 5.0 릴리스: PostgreSQL 고가용성과 쿼럼 처리 개선

August 10, 2026

Bobby Bissett
2025년 4월 15일

EDB Failover Manager(EFM)는 스트리밍 복제를 사용하는 프라이머리-스탠바이 PostgreSQL 클러스터를 관리하고 고가용성 운영을 지원하는 도구입니다. EFM 5.0은 시작 로그 처리, WAL 관리, 모니터링 속성, 클러스터 크기 및 쿼럼 처리 방식을 개선한 메이저 릴리스입니다.

이번 릴리스는 수년 만에 메이저 릴리스 식별자가 변경된 버전입니다. 5.0이라는 릴리스 번호가 적용된 이유는 4.10과 4.9 등 기존 버전과 하위 호환되지 않는 여러 개선 사항이 포함되었기 때문입니다. 이 글에서는 EFM 5.0의 주요 변경 사항과 PostgreSQL 고가용성 클러스터 운영에 미치는 영향을 살펴봅니다.


EDB Failover Manager 5.0의 주요 변경 사항

EFM 5.0의 메이저 버전 변경에 영향을 준 주요 사항은 다음과 같습니다.

  • EFM 에이전트는 더 이상 시작 로그(startup log)를 사용해 시작 시 출력을 저장하지 않습니다. 예를 들어 systemd를 사용하는 경우 시작 로그와 오류는 systemctl 또는 journalctl 출력에 기록됩니다. 이를 통해 사용자가 일반적으로 확인하는 위치에서 시작 정보를 제공하고, 클러스터별로 다르게 리디렉션할 수 없었던 시작 로그의 기술적 문제도 해결합니다.
  • 새로 승격된 프라이머리를 따르도록 스탠바이 데이터베이스를 재구성할 때 해당 스탠바이의 로컬 WAL은 삭제됩니다. 이전 버전의 EFM에서는 안전을 위해 WAL을 먼저 복사했지만, 일반적으로 이 복사본은 필요하지 않습니다. EFM 5.0은 기본적으로 복사를 수행하지 않아 시간과 디스크 공간을 절약합니다. 이전 방식을 사용하려면 backup.wal 속성을 설정하면 됩니다.
  • efm cluster-status-json 출력에서 사용되던 “xlog” 참조가 “lsn”으로 변경되었습니다.
  • 이전 버전에서는 auto.resume.period 속성이 두 가지 용도로 사용되었습니다. EFM 5.0에서는 각각의 동작을 제어하는 속성을 분리해 용도를 명확하게 구분합니다. 속성 변경에 따른 출력 예시는 EFM 업그레이드 페이지에서 확인할 수 있습니다.
    • 에이전트가 시작된 후 데이터베이스가 시작된 경우 해당 데이터베이스의 모니터링 시도를 제어합니다. 관련 속성은 auto.resume.startup.period입니다.
    • 데이터베이스 장애 이후 에이전트의 모니터링 재개 시도를 제어합니다. 관련 속성은 auto.resume.failure.period입니다.
  • 이전에는 EFM 속성인 detach.on.agent.failure의 기본값이 데이터베이스가 아닌 에이전트에 장애가 발생했을 때 해당 노드를 로드 밸런서에서 분리하도록 설정되어 있었습니다. EFM 5.0에서는 일반적으로 기대되는 동작이 기본값으로 적용됩니다.
  • Failover Manager는 노드에 장애가 발생하거나 노드가 클러스터에서 분리되었을 때 클러스터 크기를 자동으로 조정하지 않습니다. 따라서 클러스터 상태 출력에 실패하거나 분리된 노드의 주소가 포함될 수 있습니다.

PostgreSQL 클러스터 크기 및 쿼럼 처리 방식

이전 버전의 Failover Manager는 노드에 장애가 발생하거나 노드가 분리된 이후 클러스터 크기를 자동으로 조정했습니다. 예를 들어 프라이머리 에이전트가 클러스터가 3개 노드에서 1개 노드로 줄어든 것을 감지하면, 일반적으로 두 번의 연속된 변경을 거쳐 프라이머리 데이터베이스를 격리(fence off)했습니다.

그러나 클러스터가 3개 노드에서 2개 노드로 줄어든 후 다시 2개 노드에서 1개 노드로 줄어드는 경우에는 아무런 동작도 수행하지 않았습니다. 클러스터가 절반으로 분리됐을 때 나머지 절반에서 프로모션이 이뤄지지 않으므로 프라이머리도 스스로를 격리하지 않았기 때문입니다. 두 상황의 실질적인 차이는 변경이 발생한 시간 간격뿐이지만, 경계 상황에서는 혼란과 예기치 않은 동작을 일으킬 수 있었습니다.

EFM 5.0부터 에이전트가 다른 노드의 장애나 분리를 감지하더라도 해당 노드는 재시작되거나 클러스터에 다시 참여하거나 efm reset-members 명령으로 제거될 때까지 클러스터의 일부로 간주됩니다.

이 변경은 클러스터 동작을 단순화하고, 일부 노드는 다른 노드를 확인할 수 있지만 반대 방향에서는 확인할 수 없는 드문 네트워크 오류 상황에서 스플릿 브레인(split brain)을 방지하는 데 효과적입니다. 또한 장애가 발생한 노드들이 시간이 지나면서 별도의 서브 클러스터를 형성할 가능성을 줄여줍니다.

노드를 클러스터에 추가하거나 제거하는 작업은 이전과 마찬가지로 클러스터 크기를 재조정합니다. EFM 5.0에서 달라진 점은 장애가 발생하거나 분리된 노드도 쿼럼 기준에 포함된다는 것입니다.


EFM 5.0의 새로운 기능 및 수정 사항

향후 게시물에서는 새로운 efm create-standby 기능을 비롯한 Failover Manager의 추가 개선 사항을 자세히 소개할 예정입니다.


EDB Failover Manager 5.0 FAQ

EDB Failover Manager 5.0은 어떤 도구인가요?

EDB Failover Manager(EFM)는 스트리밍 복제를 사용하는 프라이머리-스탠바이 PostgreSQL 클러스터를 관리하는 도구입니다. 데이터베이스 클러스터의 고가용성 운영을 지원합니다.

EFM 5.0이 메이저 버전으로 출시된 이유는 무엇인가요?

EFM 5.0에는 4.10이나 4.9 등 기존 버전과 하위 호환되지 않는 여러 변경 사항이 포함되었습니다. 시작 로그 처리, WAL 백업 방식, 속성 구성, 클러스터 크기 및 쿼럼 처리 등이 변경되었습니다.

EFM 5.0에서 스탠바이의 로컬 WAL은 어떻게 처리되나요?

새로 승격된 프라이머리를 따르도록 스탠바이를 재구성할 때 해당 스탠바이의 로컬 WAL은 기본적으로 삭제됩니다. 이전처럼 WAL을 복사하려면 backup.wal 속성을 설정해야 합니다.

EFM 5.0의 쿼럼 처리 방식은 어떻게 변경되었나요?

실패하거나 클러스터에서 분리된 노드도 재시작, 재참여 또는 efm reset-members 명령으로 제거될 때까지 클러스터 구성원과 쿼럼 기준에 포함됩니다. 이를 통해 클러스터 동작을 단순화하고 일부 네트워크 오류 상황에서 스플릿 브레인 발생 가능성을 줄입니다.


원문: Failover Manager 5.0 Release

이메일: salesinquiry@enterprisedb.com

Share this