프라이머리 Ops Manager 및 데이터베이스 백업 을 위해 세컨더리 Ops Manager라는 두 번째 Ops Manager 인스턴스를 배포할 수 있습니다. 세컨더리 MongoDB Ops Manager는 프라이머리 MongoDB Ops Manager를 잃은 경우 복구 경로로도 사용됩니다.
이 패턴은 MongoDB Ops Manager가 애플리케이션 데이터베이스 와 메타데이터 저장소에 저장하는 운영 데이터를 보호합니다. 이 가이드를 사용하여 MongoDB Ops Manager 자체에 대한 재해 복구를 설계, 구성 및 운영합니다.
이 가이드는 백업 및 재해 복구를 관리하는 MongoDB Ops Manager 관리자와 MongoDB Ops Manager의 고가용성 및 재해 복구 토폴로지를 설계하는 팀을 위한 가이드입니다.
세컨더리 MongoDB Ops Manager 백업 작업 방식
이 패턴에서 두 개의 MongoDB Ops Manager 인스턴스는 각각 다른 책임을 가집니다.
프라이머리 MongoDB Ops Manager는 평소와 같이 MongoDB 배포서버와 백업을 관리합니다.
세컨더리 MongoDB Ops Manager는 프라이머리 MongoDB Ops Manager의 데이터베이스 백업만 관리하고 백업합니다. 세컨더리 MongoDB Ops Manager는 애플리케이션 클러스터를 관리하지 않습니다.
MongoDB Agent는 프라이머리 MongoDB Ops Manager의 각 호스팅된 애플리케이션 데이터베이스 에서 실행되며 세컨더리 MongoDB Ops Manager에 등록됩니다. 세컨더리 MongoDB Ops Manager는 데이터베이스 백업을 지속적으로 수행하고 시점 백업을 수행합니다.
프라이머리 MongoDB Ops Manager를 잃은 경우 세컨더리 MongoDB Ops Manager에서 데이터베이스 백업을 복원한 후 새 프라이머리 MongoDB Ops Manager를 시작합니다. 프라이머리 MongoDB Ops Manager가 복원된 데이터베이스 백업에 다시 연결하고 MongoDB 배포서버의 관리를 재개합니다.
MongoDB 에이전트가 재시작동 후 다시 연결하면 복원된 데이터베이스보다 더 새로운 구성 버전을 보고합니다. 프라이머리 MongoDB Ops Manager는 불일치를 감지하고 영향을 받은 프로젝트에 대해 자동으로 복원 모드 로 진입하며 복원된 구성에 대해 모든 에이전트를 변경하고 일치가 완료될 때까지 배포 변경을 차단합니다.
아키텍처
다음 표에는 이 패턴의 구성 요소와 의무가 설명되어 있습니다.
구성 요소 | 책임 |
|---|---|
프라이머리 MongoDB Ops Manager | MongoDB 배포서버와 백업을 관리합니다. 애플리케이션 데이터베이스, 스냅샷 메타데이터 저장소 및 oplog 메타데이터 저장소에 자체 운영 데이터를 저장합니다. |
세컨더리 MongoDB Ops Manager | 애플리케이션 데이터베이스 스냅샷과 oplog 슬라이스를 위해 S3호환 저장 블록 저장소에 쓰는 백업 디먼 을 실행합니다. 프라이머리 MongoDB Ops Manager의 백업 데이터베이스를 연속적으로 백업합니다. 애플리케이션 클러스터를 관리하지 않습니다. |
애플리케이션 데이터베이스 | 프로젝트 구성, 자동화 상태 및 백업 메타데이터를 포함하여 프라이머리 MongoDB Ops Manager의 운영 데이터를 저장합니다. 애플리케이션 데이터베이스를 백업해야 합니다. |
스냅샷 및 oplog 메타데이터 저장 | 프라이머리 MongoDB Ops Manager가 백업하는 배포서버에 대해 블록 및 oplog 인덱스를 저장합니다. 이 저장도 백업합니다. |
MongoDB Agent | 각 데이터베이스 백업 호스트에서 실행되며 세컨더리 MongoDB Ops Manager에 등록하여 백업 및 복원을 수행합니다. |
세컨더리 MongoDB Ops Manager는 프라이머리 MongoDB Ops Manager의 데이터베이스 백업본을 프라이머리 MongoDB Ops Manager의 백업 저장소와는 별도로 자체 S3호환 저장 블록 저장소에 저장합니다.
배포 바리언트
프라이머리 MongoDB Ops Manager와 별도의 장애 도메인에 세컨더리 MongoDB Ops Manager를 배포하여 단일 장애가 두 인스턴스 모두에 영향을 미치도록 합니다. 일반적인 변형은 다음과 같습니다.
다른 리전
프라이머리 MongoDB Ops Manager와 다른 클라우드 리전에 세컨더리 MongoDB Ops Manager를 배포합니다. 이 버전은 리전 손실에 대해 보호합니다.
다른 데이터 센터
프라이머리 MongoDB Ops Manager와 다른 데이터 센터에 세컨더리 MongoDB Ops Manager를 배포합니다. 이 배포 방식은 데이터 센터 손실에 대해 보호합니다.
백업 네트워크 분리
백업 트래픽에 전용된 별도 네트워크에 세컨더리 MongoDB Ops Manager를 배치합니다. 이 배리언트는 애플리케이션 네트워크에서 백업 트래픽을 분리합니다.
중요
프라이머리 MongoDB Ops Manager와 별도의 장애 도메인(예: 다른 랙, 가용영역, 리전 또는 네트워크 세그먼트)에 세컨더리 MongoDB Ops Manager를 배포합니다. 두 인스턴스가 동일한 장애 도메인을 공유하는 경우 단일 장애로 인해 프라이머리 MongoDB Ops Manager와 복구 경로 모두 중단될 수 있습니다.
지원되는 버전 및 제한 사항
이 패턴을 사용하기 전에 다음 요구 사항 및 제한 사항을 검토하십시오.
지원되는 버전
프라이머리 및 세컨더리 MongoDB Ops Manager 인스턴스는 MongoDB Ops Manager 8.0.24 이상을 실행해야 합니다.
세컨더리 MongoDB Ops Manager는 프라이머리 MongoDB Ops Manager와 동일하거나 더 높은 버전을 실행해야 합니다. 프라이머리 MongoDB Ops Manager보다 이전 버전의 세컨더리 MongoDB Ops Manager를 실행하지 마십시오.
경고
스냅샷을 촬영한 원본 프라이머리 MongoDB Ops Manager와 동일한 버전 또는 더 높은 버전을 실행하는 프라이머리 MongoDB Ops Manager에 애플리케이션 데이터베이스를 복원합니다. 대체 바이너리가 애플리케이션 데이터베이스의 기록된 버전보다 오래된 경우 MongoDB Ops Manager가 "다운그레이드는 허용되지 않습니다" 오류로 시작을 거부합니다.
제한 사항
이 패턴은 프라이머리 MongoDB Ops Manager의 데이터베이스 백업을 지원합니다. 임의의 MongoDB 클러스터를 백업하지 않습니다. 프라이머리 MongoDB Ops Manager는 MongoDB 배포서버의 백업을 계속 관리합니다.
스냅샷 메타데이터 저장소와 oplog 메타데이터 저장소를 백업하고 조정하는 것은 수동 절차입니다. MongoDB Ops Manager는 이러한 저장에 대한 복원 점을 자동으로 선택하지 않습니다. 그 결과 복원 후 백업 메타데이터가 일치하지 않을 수 있으며 일부 백업은 복원할 수 없을 수 있습니다. MongoDB Ops Manager는 복원하기 전에 스냅샷을 유효성 검사하고 안전하지 않은 복원을 수행하기보다 오류가 발생합니다.
복원 모드는 Kubernetes 연산자가 managed하는 배포서버와 같이 외부에서 managed되는 배포서버에는 적용되지 않습니다. 애플리케이션 데이터베이스를 복원한 후에는 이러한 프로젝트의 에이전트가 다음 폴링에서 복원된 구성을 직접 수신하고 복원 모드에 진입하지 않고 수려됩니다. 이러한 프로젝트에는 아무런 조치가 필요하지 않습니다.
스냅샷의 데이터 블록이 더 이상 스냅샷 저장소에 없으면 스냅샷을 복원할 수 없게 됩니다. 복원 전에 프라이머리 MongoDB Ops Manager가 스냅샷의 블록이 존재하는지 확인합니다. 블록이 없으면 복원이 오류로 실패하고 복제본 세트는 중간에 지우고 실패하는 대신 수정되지 않은 채로 남습니다.
유효성 검사를 거치지 않은 복원은 운영 위험입니다. 백업 및 복원 경로의 유효성을 정기적으로 검사합니다. 세컨더리 MongoDB Ops Manager에서 MongoDB Ops Manager 복원에서 유효성 검사 런북을 참조하십시오.
다음 단계
이 패턴을 설정하고 작동하려면 다음 페이지를 참조하세요.