프라이머리 페일오버 테스트
참고
이 기능 은 M0
무료 클러스터, M2
및 M5
클러스터에서는 사용할 수 없습니다. 사용할 수 없는 기능에 학습 보려면 Atlas M0 (무료 클러스터), M2 및 M5 제한을 참조하세요.
Atlas 는 패치 업데이트, 확장 이벤트와 같은 구성 변경을 수행할 때와 장애가 발생할 때 복제본 세트 투표 를 수행합니다. 애플리케이션은 다운타임 없이 복제본 세트 투표를 처리하다 해야 합니다. 복원력이 뛰어난 애플리케이션 을 빌드 하는 방법을 학습 보려면 MongoDB Atlas 로 복원력이 뛰어난 애플리케이션 빌드를 참조하세요.
Atlas URI 연결 문자열에 retryWrites=true를 추가하여 재시도 가능 쓰기를 활성화할 수 있습니다. 자세히 알아보려면 재시도 가능 쓰기를 참조하세요.
Atlas UI 및 API를 사용하여 Atlas 클러스터에서 프라이머리 복제본 세트의 장애를 테스트하고 애플리케이션이 복제본 세트 페일오버를 처리하는 방식을 관찰할 수 있습니다.
필요한 액세스 권한
페일오버 테스트를 시작하려면 프로젝트 에 대한 Organization Owner
, Project Owner
, Project Cluster Manager
또는 Project Stream Processing Owner
액세스 이 있어야 합니다.
전제 조건
복제본 세트 프라이머리의 장애를 테스트하기 전에는 다음 조건을 충족해야 합니다.
cluster의 보류 중인 변경 사항이 모두 완료되어야 합니다.
cluster의 모든 멤버는 최신 모니터링 데이터가 있는 정상 상태여야 합니다.
각 복제본 세트 또는 샤드에는 프라이머리 노드가 있어야 합니다.
cluster의 모든 노드는 복제 지연 시간이 10초 미만이어야 합니다.
cluster의 모든 멤버는 사용 가능한 디스크 공간이 5% 이상 남아 있어야 합니다.
모든 프라이머리 노드 조작 로그(oplog)에는 3시간 동안 작동할 수 있는 충분한 공간이 있어야 합니다.
프라이머리 페일오버 프로세스 테스트
중요
프라이머리 페일오버를 테스트하기 전에 Atlas 클러스터가 정상인지 확인하세요. 그렇지 않으면 Atlas가 귀하의 요청을 거부할 수 있습니다.
프라이머리 페일오버를 테스트하기 위한 요청을 제출하면 Atlas는 페일오버 이벤트를 시뮬레이션합니다. 이 프로세스에서
Atlas는 현재 프라이머리를 종료합니다.
복제본 세트의 노드는 투표를 통해 세컨더리 중 어떤 노드를 새로운 프라이머리로 설정할지 결정합니다.
Atlas는 원본 프라이머리를 복제본 세트에 세컨더리로 가져옵니다. 기존 프라이머리가 복제본 세트에 재결합되면 다운타임에 발생한 모든 쓰기를 따라잡기 위해 새 프라이머리와 동기화됩니다.
다음 설명은 롤오버와 샤딩된 클러스터에서 페일오버를 테스트할 때 Atlas 동작을 설명합니다.
원래의 프라이머리가 프라이머리가 물러날 때 세컨더리에 성공적으로 복제되지 않은 쓰기 작업을 수락한 경우, 프라이머리는 복제본 세트에 다시 합류하고 동기화를 시작할 때 해당 쓰기 작업을 롤백합니다. 자세한 내용은 복제본 세트 페일오버 중 롤백 을 참조하세요. 롤백을 해결하는 데 도움이 필요하면 MongoDB 지원팀 에 문의하세요.
샤딩된 클러스터에 있는 복제본 세트의 프라이머리 인스턴스와 동일한 인스턴스에 있는
mongos
프로세스만 재시작됩니다.샤딩된 클러스터에 있는 복제본 세트의 프라이머리가 병렬로 재시작됩니다.
Atlas CLI를 사용하여 프로젝트에서 지정된 클러스터에 대한 장애 조치 테스트를 시작하려면 다음 명령을 실행합니다.
atlas clusters failover <clusterName> [options]
명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 클러스터 페일오버에 대한 Atlas CLI 문서를 참조하세요.
테스트 페일오버 API 엔드포인트를 사용하여 페일오버 이벤트 를 시뮬레이션할 수 있습니다. 페일오버 프로세스에 학습 보려면 페일오버 오버 프로세스 테스트를 참조하세요.
Atlas UI를 사용하여 기본 페일오버 테스트를 수행하려면 다음과 같이 합니다.
Atlas 에서 프로젝트의 Clusters 페이지로 Go 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
아직 표시되지 않은 경우 사이드바에서 Clusters 클릭하세요.
Clusters(클러스터) 페이지가 표시됩니다.
페일오버 테스트를 수행하려는 클러스터의 경우 ... 버튼을 클릭합니다.
Test Resilience를 클릭합니다.
Test Resilience 모달에서 Primary Failover 탭을 클릭합니다. Atlas는 페일오버 이벤트를 시뮬레이션하는 데 필요한 단계를 표시합니다. 자세한 내용은 페일오버 프로세스 테스트를 참조하세요.
테스트를 시작하려면 Restart Primary을(를) 클릭합니다. Atlas는 Test Resilience 모달에 시뮬레이션된 페일오버 프로세스의 결과를 표시합니다.
페일오버 확인
페일오버에 성공했는지 확인하는 방법:
AtlasGo Atlas 에서 프로젝트 의 Clusters 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
아직 표시되지 않은 경우 사이드바에서 Clusters 클릭하세요.
Clusters(클러스터) 페이지가 표시됩니다.
페일오버 문제 해결
애플리케이션이 페일오버를 정상적으로 처리하지 못하는 경우 다음 사항을 확인하세요.
SRV 연결 형식 사용 여부
최신 버전의 드라이버를 사용하고 있는지 여부
애플리케이션에서 적절한 재시도 논리를 구현했는지 여부