Docs Menu
Docs Home
/
MongoDB Ops Manager
/ /

백업 프로세스

이 페이지의 내용

  • 백업 정의 및 운영 상태
  • 백업 프로세스 절차

백업은데이터베이스 가 호환되는 MongoDB 의 버전에 따라 달라집니다. 이 기능 호환성 버전은 현재 버전부터 이전 버전까지 다양합니다. MongoDB 4.2 의 경우 FCV 는 4.0 또는 4.2 일 수 있습니다.

백업 프로세스 는 예약된 스냅샷스냅샷 간격 에 따라 데이터 디렉토리 의 스냅샷을 생성합니다. 이 프로세스 는 MongoDB 배포서버 서버의 데이터 파일을 복사하여 네트워크를 통해 MongoDB Ops Manager 를 통해 기존 스냅샷 저장 로 전송합니다. 배포서버 는 복사 프로세스 중에도 읽기 및 쓰기 (write) 작업을 계속 처리하다 할 수 있습니다.

백업 프로세스는 스냅샷 저장 방법에 관계없이 이 방식으로 진행됩니다.

참고

새로운 백업 프로세스 를 사용하면 더 이상 초기 동기화가 필요하지 않습니다. 초기 동기화가 없기 때문에 MongoDB Ops Manager 는 renameCollection을 많이 사용하는 배열 고객을 지원 수 있습니다.

백업 이 시작되면 MongoDB Ops Manager 는 지속적이고 지속적인 프로세스 로 데이터를 백업합니다. 이 프로세스 는 헤드 데이터베이스 가 데이터베이스 와 동기화된 상태로 유지되는 한 스냅샷을 계속 생성합니다.

이 프로세스는 복제본 세트 데이터 동기화처럼 작동합니다.

백업 프로세스:

  1. 초기 동기화 를 수행하여 모든 기존 데이터를 현재 상태 로 백업합니다. 샤드 샤딩된 에서 이는 각 샤드 와 config 서버에서 발생합니다.

    참고

    초기 동기화를 다시 시작하는 조건 또는 작업

    초기 동기화 프로세스 중에 특정 작업이나 조건으로 인해 초기 동기화 프로세스 가 다시 시작될 수 있습니다. 다음과 같은 행동과 조건은 피하세요:

    초기 동기화 시 피해야 할 조치:

    • 소스 데이터베이스 의 버전 또는 FCV 값을 다시 시작, 종료 또는 변경합니다.

    • 소스 데이터베이스 컬렉션 의 이름 변경 .

    • 소스 데이터베이스 의 집계 파이프라인에서 $out 값을 변경합니다.

    • MongoDB Ops Manager 애플리케이션 또는 백업 디먼 을 다시 시작하거나 종료합니다.

    • MongoDB Agent 다시 시작, 종료 또는 업그레이드.

    초기 동기화 시 피해야 할 조건:

    • 헤드 디렉토리 가 가득 찼습니다.

    • MongoDB Ops Manager 구성 요소 간의 네트워크 연결이 불안정합니다.

  2. 스냅샷 일정에서 지정한 횟수만큼 배포에서 data 디렉토리의 스냅샷을 만든 다음 스냅샷을 스토리지 시스템으로 전송합니다.

    참고

    샤드 클러스터는 체크포인트를 활성화 하여 스냅샷 사이의 특정 시점에 복원을 허용할 수도 있습니다. 샤딩된 클러스터가 체크포인트를 사용하는 방법을 학습 보려면 체크포인트를 참조하세요.

    중요

    기능 호환성 버전 이 4.0 이하인 MongoDB를 실행하는 클러스터에 체크포인트를 사용할 수 있습니다. FCV 가 4.2 이상인 MongoDB 인스턴스에서 체크포인트가 제거되었습니다.

  3. oplog 를 지속적으로 모니터링하고 최신 백업 에 새 데이터베이스 작업을 추가하여 데이터의 로컬 MongoDB Ops Manager 복사본을 최신 상태로 유지합니다.

백업 프로세스는 스냅샷 저장 방법에 관계없이 이 방식으로 진행됩니다.

각 백업은 작업 으로 정의됩니다. 각 작업은 백업할 데이터의 양과 빈도를 정의합니다. 백업 작업은 프로젝트별로 정의됩니다.

다음 표에는 백업 작업의 상태가 나와 있습니다.

상태
이전 스냅샷 유지
새 스냅샷 생성
Active
Stopped
No
Inactive
No
No
상태
이전 스냅샷 유지
새 스냅샷 생성
Oplog 적용
Active
Stopped
No
No
Inactive
No
No
No

프로젝트 에 대해 백업 작업이 활성화되면 중지되거나 종료될 때까지 추가 개입 없이 실행 됩니다. 연산자 는 다음과 같은 방법으로 백업 상태 를 변경할 수 있습니다.

초기 상태
원하는 상태
메서드
Inactive
Active
Start를 클릭합니다.
Active
Stopped
Stop를 클릭합니다.
Stopped
Active
Restart를 클릭합니다.
Stopped
Inactive

Terminate를 클릭합니다.

경고: Terminate 보존된 모든 백업을 삭제합니다.

초기 상태
원하는 상태
메서드
Inactive
Active 이후 Initial Sync
Start를 클릭합니다.
Active
Stopped
Stop를 클릭합니다.
Stopped
Active 이후 Initial Sync
Restart를 클릭합니다.
Stopped
Inactive

Terminate를 클릭합니다.

경고: Terminate 보존된 모든 백업을 삭제합니다.

중요

백업 작업에 대해 Backup requires a resync 경고 를 받을 수 있습니다. 이 경우 백업을 다시 동기화 해야 할 수 있습니다. 이는 다른 상태 가 아니라 새 백업 프로세스 흐름 을 트리거하는 것입니다. Initial Sync 이(가) 완료되면 백업 작업 이 다시 Active 이(가) 됩니다.

백업 작업이 생성되면 다음 프로세스 흐름을 거칩니다.

스냅샷 저장 를 사용할 때 MongoDB Ops Manager 의 백업 구성 요소에 대한 데이터 흐름을 보여주는 다이어그램입니다.
  1. 클러스터 가 예약된 스냅샷 을 생성할 준비가 되면 스냅샷 을 찍을 수 있는 최적의 가용 노드 를 결정합니다. 대부분의 경우 mongod 는 우선 순위 가 가장 낮은 세컨더리 멤버를 기본 스냅샷 노드 로 결정합니다. 세컨더리 가 프라이머리 및 이전에 선택한 스냅샷의 멤버에 대한 최신 정보를 얼마나 최신 상태로 유지하고 있는지 등 다른 지표 를 고려하여 기본 노드 를 결정할 수 있습니다.

  2. mongod 프로세스 가 스냅샷 의 원본 노드 를 결정하면 백업 프로세스 는 대상 노드 에서 $backupCursor 를 엽니다.

    스토리지 엔진 계층 메커니즘인 $backupCursor은(는) 쓰기를 계속 허용하면서 스토리지의 데이터베이스 파일을 일관된 상태로 복사할 수 있게 해줍니다.

  3. MongoDB Agent 백업 기능은 이러한 데이터 파일을 복사하고 처리합니다.

  4. MongoDB Agent 백업 기능은 데이터 파일을 Ops Manager로 전송합니다.

  5. 백업 프로세스는 이러한 파일을 수집하여 백업을 저장하도록 선택한 스냅샷 저장소로 전송합니다. 스냅샷을 저장하기 위해 선택한 스냅샷 저장소에 따라 스냅샷을 다음과 같이 작성할 수 있습니다.

    1. 블록 스토어에 대한 차단. Ops Manager 호스트의 MongoDB 데이터베이스에 기록된 바이너리 청크입니다.

    2. Amazon Web Services S3 버킷 에 대한 차단. 해당 차단의 메타데이터 는 MongoDB 호스팅하다 의 데이터베이스 에 MongoDB Ops Manager 기록됩니다.

    3. 파일 시스템 저장 에 스냅샷 파일을 저장합니다.

참고

각 저장 방법의 특징에 대한 자세한 내용은 백업 구성 옵션을 참조하세요.

초기 백업

스냅샷 저장 를 사용할 때 MongoDB Ops Manager 의 백업 구성 요소에 대한 데이터 흐름을 보여주는 다이어그램입니다.
  1. 백업이 활성화된 MongoDB Agent 는 백업 작업 과 관련된 데이터베이스에 연결하고 인증합니다.

  2. 초기 동기화 가 시작되고 starting 단계에 들어갑니다. 초기 동기화 는 InactiveActive 사이의 전환 상태 입니다. 초기 동기화는 Backup 페이지에 표시되는 일련의 단계를 거쳐 진행 상황을 표시합니다. 백업은 슬라이스라고 하는 10 MB 압축 문서 번들로 기존 데이터를 MongoDB Ops Manager 에 스트리밍합니다. 백업은 스냅샷 이 생성된 점 에 슬라이스를 생성합니다. 스냅샷 이 별도로 시작되면 MongoDB Ops Manager 가 인스턴스 에 삽입된 데이터를 캡처합니다.

  3. transferring 단계는 백업 데몬을 대신하여 슬라이스가 스트리밍되고 일시적으로 oplog 저장소 에 저장되면서 시작됩니다. 백업 디먼 서비스는 다른 백업 작업을 처리 하는 대신 초기 동기화 슬라이스의 대규모 스트림 을 처리 하는 데만 사용할 수 없습니다. oplog 스토어는 백업 디먼 이 슬라이스를 가져올 때까지 슬라이스를 저장합니다. oplog 스토어는 첫 번째 스냅샷 저장소 가 생성될 때 생성됩니다.

  4. 백업은 데이터를 스트리밍 하는 동안 oplog 를 추적합니다. 이 테일링은 백업 이 시작되었을 때 배포서버 데이터베이스 의 상태 와 배포서버 데이터베이스의 현재 상태 간의 차이를 수집합니다. oplog 항목은 oplog 슬라이스 라는 10 MB의 압축된 문서 번들로 전송됩니다. 이 두 슬라이스 스트림은 전체 스냅샷 을 구성하는 데 필요한 시간을 줄이기 위해 병렬로 수집됩니다.

  5. building 단계는 MongoDB Ops Manager 가 초기 동기화 슬라이스의 첫 번째 배치 를 수신하면 시작됩니다. 이 단계에서 MongoDB Ops Manager 는 백업 디먼 서비스 실행 하는 호스팅하다 에 헤드 데이터베이스 데이터베이스 백업된 데이터베이스의 로컬 버전을 생성합니다.

  6. MongoDB Ops Manager 는 백업 디먼 서비스를 사용하여 oplog 스토어에 저장된 문서를 헤드 데이터베이스 에 삽입합니다.

  7. applying oplogs 단계는 MongoDB Ops Manager 가 테일 oplog 항목을 헤드 데이터베이스 에 적용하면서 시작됩니다.

  8. fetching missing documents 단계에서 MongoDB Ops Manager 는 배포서버 데이터베이스 에서 문서 삽입 중에 누락된 문서를 쿼리합니다. MongoDB Ops Manager 는 배포서버 데이터베이스 에서 발견된 누락된 문서를 헤드 데이터베이스 에 삽입합니다.

  9. 누락된 문서를 삽입한 후 MongoDB Ops Manager 가 헤드 데이터베이스 의 배포서버 데이터베이스에서 찾은 모든 인덱스를 생성하면서 creating indexes 단계가 시작됩니다. 인덱스가 완료되면 초기 동기화 가 종료되고 단계가 complete 로 변경됩니다.

  10. 스냅샷을 저장하기 위해 선택한 스냅샷 저장소에 따라 스냅샷을 다음과 같이 작성할 수 있습니다.

    1. 블록 스토어에 대한 차단.

    2. Amazon Web Services S3 버킷 에 대한 차단. 해당 차단의 메타데이터 는 MongoDB 호스팅하다 의 데이터베이스 에 MongoDB Ops Manager 기록됩니다.

    3. 파일 시스템 저장 에 스냅샷 파일을 저장합니다.

참고

후속 백업

헤드 데이터베이스 는 배포서버 데이터베이스 의 전체 복사본으로 작동합니다. 데이터를 배포서버 데이터베이스 와 동기화된 상태로 유지하려면 정기적으로 oplog를 적용해야 합니다. 스냅샷 은 스냅샷 예정에 따라 헤드 데이터베이스 에 저장된 데이터에서 생성됩니다.

첫 번째 전체 백업 이 완료되면 각 활성 백업 작업 은 다음 프로세스 를 따릅니다.

  1. 백업은 배포의 oplog 를 추적합니다.

  2. 백업은 정기적으로 슬라이스 oplog 에 oplog 새 항목을 배치하여 MongoDB Ops Manager 로 전송합니다.

  3. MongoDB Ops Manager 는 oplog 스토어에 oplog 항목을 저장합니다.

  4. MongoDB Ops Manager 는 oplog 슬라이스의 새 oplog 항목을 배포서버 백업 을 저장하는 헤드 데이터베이스 에 적용합니다.

  5. MongoDB Ops Manager 는 새 스냅샷 을 생성하고 스냅 예정 스냅샷에 지정된 대로 스냅샷 저장소 에 저장합니다.

돌아가기

배포 백업