클러스터 또는 복제본 세트를 백업하기 전에 데이터를 백업하는 방법과 백업할 데이터를 결정하세요. 이 페이지에서는 백업을 시작하기 전에 고려해야 할 항목에 대해 설명합니다.
팁
백업 작동 방식을 알아보려면 백업을 참조하세요.
백업 크기 조정 권장 사항
When sizing the backup of your data, keep the replica set size to 2 TB or less of uncompressed data. If your database increases beyond 2 TB of uncompressed data:
데이터베이스 샤딩
각 샤드의 비압축 데이터를 2TB 이하로 유지하세요.
이러한 사이즈 제한은 권장사항입니다. MongoDB database 또는 Cloud Manager의 제한 사항이 아닙니다.
백업 및 복원은 대용량의 CPU, 메모리, 스토리지 및 네트워크 대역폭을 사용할 수 있습니다.
예시
명시된 네트워크 처리량(예: 10Gbps 또는 100Gbps)은 이론적 최대값입니다. 이 값은 네트워크 트래픽 공유 또는 제한을 고려하지 않습니다.
다음 시나리오를 생각해 보겠습니다.
2TB 데이터베이스를 백업하려고 합니다.
호스트는 Cloud Manager에서 백업 스토리지로의 10Gbps TCP 연결을 지원합니다.
네트워크 연결은 패킷 손실이 매우 적고 왕복 지연 시간이 낮습니다.
A full backup of your data would take more than 30 hours to complete. [1]
이는 단일 또는 미러링된 NVMe 스토리지 장치에 대해 최대 3Gbps 읽기 및 1Gbps 쓰기가 가능한 디스크 읽기 및 쓰기 속도를 고려하지 않은 예상치입니다.
각 연속 증분 백업을 완료하는 데 필요한 시간은 쓰기 부하에 따라 다릅니다.
이 데이터베이스를 샤딩하여 4개의 샤드로 만들면 각 샤드에서 백업을 개별적으로 실행합니다. 이렇게 하면 8시간 안에 백업을 완료할 수 있습니다.
| [1] | 이 처리량 수치 는 네트워크 처리량 계산기를 사용하여 계산되었으며 추가 네트워크 압축이 없다고 가정합니다. |
스냅샷 빈도 및 보존 정책
기본적으로 Cloud Manager는 6시간마다 데이터의 기본 스냅샷을 생성합니다.
관리자는 기본 스냅샷의 빈도를 6, 8, 12 또는 24시간으로 변경할 수 있습니다. Cloud Manager는 일정에 따라 스냅샷을 자동으로 생성합니다. 즉, 필요에 따라 스냅샷을 찍을 수 없습니다.
Cloud Manager는 다음 표에 나열된 기간 동안 스냅샷을 보관합니다.
배포의 백업을 종료하면 Cloud Manager는 현재 보존 정책의 날짜 내에 있는 스냅샷을 즉시 삭제합니다.
배포 백업을 중지하면 Cloud Manager는 새 스냅샷 생성을 중지하지만 기존 스냅샷은 나열된 만료 날짜까지 유지합니다.
스냅샷 | 기본 보존 정책 | 최대 보유 기간 정책 |
|---|---|---|
기본 스냅샷 | 2일 | 5일(빈도가 24시간인 경우 30일) |
일일 스냅샷 | 7일 | 1년 |
주간 스냅샷 | 4주 | 1년 |
월간 스냅샷 | 13 개월 | 7년 |
스냅샷 일정을 변경하면 스냅 샷 저장 비용에 영향을 미칩니다.
Backup 페이지를 통해 제공되는 Edit Snapshot Schedule 메뉴 옵션을 통해 백업된 배포의 일정을 변경할 수 있습니다. 관리자는 API의 SnapshotSchedule 리소스를 통해 스냅샷 빈도와 보존 기간을 변경할 수 있습니다.
Cloud Manager에서는 스냅샷의 참고 시간을 변경할 수 없습니다.
제한
Cloud Manager는 배포의 총 컬렉션 수가
100,000을 충족하거나 초과하는 배포를 백업하지 않습니다.Cloud Manager는 인덱스 collection 옵션을 복제하지 않습니다.
암호화 (Encryption)
WiredTiger 암호화를 사용하여 백업을 저장할 수 없습니다. 암호화를 활성화하지 않는 경우 WiredTiger storage engine을 사용하여 백업을 저장할 수 있습니다. 백업에서 복원하는 경우 암호화되지 않은 파일을 복원합니다.
백업 고려 사항
일관성 및 스냅샷
MongoDB 버전 4.2 이상을 실행하는 클러스터
Cloud Manager maintains causal consistency when taking snapshots except for size statistics reported by
collStatsanddb.[collection].count(). Size statistics reported bycollStatsanddb.[collection].count()may be inccurate.Cloud Manager는 샤드 클러스터의 모든 샤드에 걸쳐 시간을 조정합니다. 이렇게 하면 예약된 스냅샷 시간을 기준으로 모든 샤드 및 노드에 기록된 모든 문서가 스냅샷에 포함됩니다.
MongoDB 버전 4.0 이하를 실행하는 클러스터
Cloud Manager는 충돌 일관적인 스냅샷을 유지합니다.
Cloud Manager는 샤드 클러스터와 Config 서버 복제본 세트에 대해 각 샤드에서 거의 동시에 스냅샷을 생성합니다.
FCV 4.2 이상을 실행하는 데이터베이스
현재 지원되는 백업 기능
기능 | FCV 4.2 이상을 실행하는 데이터베이스 | FCV 4.0 이하를 실행하는 데이터베이스 |
|---|---|---|
WiredTiger 스냅샷을 이용한 데이터 백업 | ||
백업 데몬을 사용하여 데이터 백업 | ||
복제본 세트 백업 | ||
샤딩된 클러스터 백업 | ||
Can Filter using Namespaces [2] | ||
동기화 소스 데이터베이스 지정 가능 | ||
Can Restore Data to Specific Point in Time [3] | ||
Can Perform Incremental Backups [4] | ||
KMIP 암호화 [5]를 사용하는 스냅샷 지원 | ||
Supports Snapshots that use Local Key Encryption [6] | ||
S3 스냅샷 스토리지에 저장 지원 | ||
MongoDB Enterprise를 실행하는 데이터베이스 지원 | ||
MongoDB Community를 실행하는 데이터베이스 지원 | ||
Requires a MongoDB Agent with backup enabled on every |
| [6] | 네임스페이스 필터링은 Cloud Manager 버전 6.0.8 이상에서만 지원됩니다. MongoDB deployment의 featureCompatibilityVersion 값이 4.0 이하이거나 6.0.1 이상이어야 합니다. |
| [3] | PIT 복원을 수행하려면 Ops Manager 4.2.13 이상이 필요합니다. |
| [4] | Cloud Manager는 스냅샷이 삭제된 후 및 블록 저장소 블록 크기가 변경된 경우 첫 백업에 대한 전체 백업을 요구합니다. 증분 백업으로 네트워크 전송 및 저장 비용을 절감할 수 있습니다. 이 기능은 다음과 함께 작동합니다.
|
| [5] | Querying an encrypted snapshot requires MongoDB Enterprise 4.2.9 and later or 4.4.0 and later. |
| [6] | FCV 4.2 and later backups don't support local key encryption. |
| [ 7 ] | Backups to a FCV 4.2 or later database to a File System Store ignore File System Store Gzip Compression Level. |
요구 사항 및 제한 사항
To run backups and restores if you are running MongoDB 4.2 or later with FCV 4.2 or later, you:
Must run MongoDB Enterprise.
블록 저장소 블록 크기 변경을 고려해야 합니다. 블록 크기를 설정하지 않고 기본값을 사용한 경우 해당 블록 크기는 64KB에서 1MB로 변경됩니다. 이는 스토리지 사용량에 영향을 줄 수 있습니다.
Must ensure the hostnames in your replica set configuration match the hostnames that the MongoDB Agent uses, or that your host mappings contain the correct hostnames. You can use
rs.conf()to verify your replica set configuration.네임스페이스 필터 목록을 사용하여 MongoDB 6.0 이상을 실행하는 경우에만 백업에 포함된 네임스페이스 를 정의할 수 있습니다. MongoDB 4.2 ~ 5.0 버전에서 만든 스냅샷에는 항상 모든 네임스페이스가 포함됩니다.
동기화 소스 데이터베이스가 필요하지 않습니다. 스냅샷을 만들 때 Cloud Manager는 성능에 미치는 영향이 가장 적고 스냅샷 데이터의 스토리지 수준 중복이 가장 큰 복제본 세트 멤버를 선택합니다.
Must deploy a MongoDB Agent with every
mongodnode in the cluster.
참고
Cloud Manager가 클러스터를 관리하지 않는 경우:
Grant the
backupandclusterAdminroles to the MongoDB user that runs backups.MongoDB Agent를 실행하는 시스템 사용자에게 배포의 모든 데이터 파일(저널 파일 포함)에 대한 읽기 권한이 있는지 확인합니다.
FCV 4.0 이하를 실행하는 데이터베이스
중요
Only sharded clusters or replica sets can be backed up. To back up a standalone mongod process, you must convert it to a single-member replica set.
다음 고려 사항은 데이터베이스가 MongoDB 4.0 이하 버전을 실행하거나 MongoDB 4.2를 다음으로 실행하는 경우에 적용됩니다. "featureCompatibilityVersion" : 4.0
만료된 스냅샷의 가비지 컬렉션
Cloud Manager는 만료된 스냅샷을 그루밍 작업을 사용하여 관리합니다. 이러한 정리 작업은 스냅샷이 포함된 스냅샷 저장소에 따라 다르게 작동합니다.
스냅샷 저장소 | 그루밍 작업 방식 |
|---|---|
MongoDB 블록 저장소 | 각 작업에 필요한 리빙 블록의 양까지 추가 디스크 공간을 사용합니다. |
파일시스템 스냅샷 저장소 | 만료된 스냅샷 삭제 |
S3 Snapshot Store | 그루밍 작업이 실행되는 동안 Cloud Manager가 스냅샷을 생성하는 경우 추가 디스크 공간을 사용할 수 있습니다. Cloud Manager는 S3 스냅샷 저장소에서 동시 그루밍 작업을 실행할 수 있습니다. |
참고
스냅샷 작업과 그루밍 작업은 동시에 실행할 수 없습니다. 스냅샷 작업이 실행되는 동안 그루밍 작업을 시작하면 그루밍 작업이 실패하고 MongoDB Ops Manager가 오류를 기록하고 스냅샷 작업이 완료된 후 그루밍 작업을 자동으로 다시 시도합니다. 그루밍 작업이 실행되는 동안 스냅샷 작업을 시작하면 스냅샷 작업이 실패하고 MongoDB Ops Manager가 오류를 기록하고 그루밍 작업이 완료된 후 스냅샷 작업을 다시 시도합니다.
네임스페이스 필터
네임스페이스 필터를 사용하면 데이터베이스와 컬렉션을 지정할 수 있습니다. 제외할 항목의 Deny List 또는 포함할 항목의 Whitelist를 작성합니다. 백업을 시작할 때 선택한 항목은 나중에 필요에 따라 편집할 수 있습니다. 백업에 데이터를 추가하는 방식으로 필터를 변경하는 경우에는 다시 동기화해야 합니다.
거부 목록을 사용하여 로깅 데이터, 캐시 또는 기타 임시 데이터가 포함된 컬렉션의 백업 방지합니다. 이러한 종류의 데이터베이스 및 컬렉션을 제외하면 백업 시간과 비용을 줄일 수 있습니다. 화이트리스트는 백업하려는 모든 네임스페이스 를 의도적으로 선택해야 하므로 거부 목록을 사용하는 것이 화이트리스트를 사용하는 것보다 더 나은 경우가 많습니다.
참고
네임스페이스 필터링은 Cloud Manager 버전 6.0.8 이상에서만 지원됩니다. MongoDB deployment의 featureCompatibilityVersion 값이 4.0 이하이거나 6.0.1 이상이어야 합니다.
스토리지 엔진
To back up MongoDB clusters, use the WiredTiger storage engine storage engine.
현재 백업 데이터베이스가 MMAPv1을 사용하는 경우 WiredTiger로 업그레이드하세요.
WiredTiger를 사용하면 Cloud Manager는 백업을 파일 수가 10만 개 미만인 배포로 제한합니다. 파일에는 collection과 인덱스가 포함됩니다.
MongoDB 4.2 removes MMAPv1 storage. To learn more about storage engines, see Storage Engines in the MongoDB manual.
프로덕션 배포 재동기화
프로덕션 배포의 경우, 백업된 모든 복제본 세트를 1년에 한 번 등 주기적으로 재동기화하세요. 재동기화하면 각 복제본 세트의 세컨더리에서 데이터를 읽습니다. 재동기화 중에는 새 스냅샷이 생성되지 않습니다.
다음과 같은 경우 백업을 재동기화할 수 있습니다.
데이터 크기를 줄여 디스크에 있는 Cloud Manager의 데이터 사본 크기도 줄입니다.
문서를 주기적으로 삭제하는 TTL 인덱스 생성
Drop a collection(MMAPv1 에서만 사용 가능).Run a sharded cluster, and move chunks from a particular shard.
Cloud Manager가 새로운 스토리지 엔진 형식으로 스냅샷을 제공하도록 하려면 스토리지 엔진을 전환합니다.
체크포인트
중요
Feature Compatibility Version가 4.0 이하인 MongoDB 실행 클러스터에 체크포인트를 사용할 수 있습니다.FCV 4.2 이상을 사용하는 MongoDB 인스턴스에서 체크포인트가 제거되었습니다.
For sharded clusters, checkpoints provide additional restore points between snapshots. With checkpoints enabled, Cloud Manager creates restoration points at configurable intervals of every 15, 30 or 60 minutes between snapshots. To enable checkpoints, see enable checkpoints.
체크포인트를 생성하기 위해 Cloud Manager는 밸런서 를 중지하고 클러스터의 각 샤드 및 config 서버 의 oplog 에 토큰을 삽입합니다. 이러한 체크포인트 토큰은 가벼우며 성능이나 디스크 사용에 영향을 주지 않습니다.
백업에는 체크포인트가 필요하지 않으며 기본적으로 비활성화되어 있습니다.
Restoring from a checkpoint requires Cloud Manager to apply the oplog of each shard and config server to the last snapshot captured before the checkpoint. Restoration from a checkpoint takes longer than restoration from a snapshot.
에이전트가 밸런서를 중지할 수 없는 경우의 스냅샷
For sharded clusters running with FCV 4.0 or earlier, Cloud Manager disables the balancer before taking a cluster snapshot. In certain situations, such as a long migration or no running mongos, Cloud Manager tries to disable the balancer but cannot. In such cases, Cloud Manager continues to take cluster snapshots but flags the snapshots that may have incomplete or inconsistent data. Cluster snapshots taken during an active balancing operation run the risk of data loss or orphaned data.
에이전트가 연결할 수 없는 경우 스냅샷 mongod
For sharded clusters, if the Backup can't reach a mongod process, whether a shard or config server, then the agent can't insert a synchronization oplog token. In these cases, Cloud Manager doesn't create the snapshot and displays a warning message.