Docs Menu
Docs Home
/
MongoDB Ops Manager
/ /

단일 데이터베이스 또는 컬렉션 복원

이 페이지의 내용

  • 고려 사항
  • 쿼리 가능 백업에서 데이터베이스 또는 컬렉션 복원

스냅샷에서 단일 데이터베이스 또는 컬렉션(또는 특정 문서)을 복원하려면 쿼리 가능 백업을 사용하여 단일 데이터베이스 또는 컬렉션을 내보내 대상 배포서버로 복원할 수 있습니다.

복원을 시도하기 전에 대상 배포의 호스트에 복원 파일 및 복원된 데이터베이스를 위한 충분한 스토리지 공간과 데이터 세트 확장을 위한 추가 공간이 있는지 확인합니다. db.stats()를 사용하여 현재 데이터베이스 크기를 찾습니다.

쿼리 가능 백업 스냅샷 을 사용하여 데이터베이스 또는 컬렉션 의 데이터를 내보내고 대상 배포서버 로 복원 할 수 있습니다. 다음 절차는 Ops Manager 에서 제공하는 터널 [1] 을(를) 통해 쿼리 가능 백업 인스턴스 에 연결합니다.

참고

데몬이 인터넷에 액세스하지 않고 실행되는 경우 인터넷 액세스를 제한하는 배포 구성을 참조하여 적절한 바이너리를 설치합니다.

1

백업을 쿼리하려는 배포서버의 경우 Options 아래를 클릭한 다음 Query를 선택합니다.

배포서버를 클릭하여 스냅샷을 확인하고 Actions 열 아래에 있는 Query 버튼을 클릭할 수도 있습니다.

2
  1. 쿼리할 스냅샷을 선택하고 Next을 클릭합니다.

  2. Start 스냅샷을 쿼리하는 프로세스. 2단계 인증을 요청하는 메시지가 표시됩니다.

  3. 쿼리 가능 스냅샷에 대한 연결 방법으로 Backup Tunnel을 선택합니다. [1]

  4. 플랫폼을 선택하고 다운로드합니다.

  5. 다운로드한 파일의 압축을 풉니다.

    참고

    계속하기 전에 쿼리 가능 스냅샷이 마운트될 때까지 기다립니다. 스냅샷 마운트 시간은 스냅샷 의 크기에 따라 달라집니다. Continuous Backup (으)로 이동한 다음 Restore History 탭 을 선택하여 스냅샷 이 마운트되었는지 확인합니다. 스냅샷 이 마운트되면 Status 열에 마운트 작업의 날짜와 시간이 보고됩니다.

  6. 터미널 또는 명령 프롬프트를 열고 압축되지 않은 <tunnel> 디렉토리로 이동합니다. 실행 파일을 실행하여 터널을 시작합니다.

    터널의 기본 포트는 27017입니다. 포트를 변경하려면 다음 예시에서와 같이 --local 플래그를 사용합니다:

    ./<tunnel executable> --local localhost:27020

    참고

    포트를 변경하는 경우에는 연결 시 포트 정보를 반드시 포함시켜야 합니다.

3
데이터베이스의 데이터를 내보내려면 다음을 수행합니다.

터널[1]에 연결하려면 다음 mongodump 옵션을 포함하세요.

  • --port 터널의 포트로 설정

  • --db 내보낼 데이터베이스의 이름으로 설정

  • --out 를 빈 디렉토리로 설정하여 데이터 덤프를 출력합니다.

    중요

    mongodump를 실행하는 사용자가 지정된 디렉토리에 쓰기를 수행할 수 있도록 하세요.

mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path>

예시

27020 포트에서 실행되는 터널에 연결하여 test 데이터베이스의 데이터를 /mydata/restoredata/ 디렉토리로 덤프하려면 다음을 따릅니다.

mongodump --port 27020 --db test --out /mydata/restoredata/

mongodumptest 데이터베이스 파일을 /mydata/restoredata/test/ 디렉토리에 출력합니다.

PATHmongodump가 없는 경우 도구의 경로를 지정합니다.

컬렉션의 데이터를 내보내려면 다음을 따릅니다.

터널에 연결하는 옵션이 포함되어 있습니다. [1]:

  • --port 터널의 포트로 설정

  • --db 내보낼 데이터베이스의 이름으로 설정

  • --collection 단일 컬렉션.

  • --out 를 빈 디렉토리로 설정하여 데이터 덤프를 출력합니다.

    중요

    mongodump를 실행하는 사용자가 지정된 디렉토리에 쓰기를 수행할 수 있도록 하세요.

mongodump --port <port for tunnel> \
--db <single-database> \
--collection <collection-name> \
--out <data-dump-path>

예시

27020 포트에서 실행되는 터널에 연결하여 restaurants 컬렉션의 데이터를 test 데이터베이스에서 /mydata/restoredata/ 디렉토리로 덤프하려면 다음을 따릅니다.

mongodump --port 27020 \
--db test \
--collection restaurants \
--out /mydata/restoredata/

mongodump(은)는 restaurants 컬렉션 데이터를 /mydata/restoredata/test/restaurants.bson 파일에 출력합니다.

4
단일 데이터베이스를 복원하려면 다음과 같이 하세요.

다음 mongorestore 옵션을 포함합니다.

  • --port 대상 클러스터의 포트로 설정

  • --db 를 대상 데이터베이스의 이름으로 설정합니다.

대상 클러스터에 데이터베이스가 이미 있는 경우 --drop을 포함하여 데이터베이스를 제거하도록 선택할 수도 있습니다.

mongorestore --port <port> --db <destination database> <data-dump-path/database> --drop

예를 들어 /mydata/restoredata/test 디렉터리에서 새 데이터베이스 restoredTest로 복원하려면 다음과 같이 하세요:

mongorestore --port 27017 --db restoredTest /mydata/restoredata/test --drop

이 예시에서는 대상 복제본 세트의 프라이머리 또는 대상 샤딩된 클러스터의 mongos27017 포트에서 수신 대기한다고 가정합니다.

단일 컬렉션을 복원하려면 다음을 따릅니다.

다음 mongorestore 옵션을 포함합니다.

  • --port 대상 클러스터의 포트로 설정

  • --db 를 대상 데이터베이스의 이름으로 설정합니다.

선택적으로 컬렉션이 이미 있는 경우 대상 클러스터에서 컬렉션을 제거하기 위해 --drop을 포함할 수 있습니다.

mongorestore --port <port> --db <destination database> --collection <collection-name> <data-dump-path/dbname/collection.bson> --drop

예를 들어 /mydata/restoredata/test/restaurants.bson 데이터 파일에서 test2 데이터베이스의 새 컬렉션 rest2 로 복원하려면 다음과 같이 하세요:

mongorestore --port 27017 --db test2 --collection rest2 /mydata/restoredata/test/restaurants.bson --drop

이 예시에서는 대상 복제본 세트의 프라이머리 또는 대상 샤딩된 클러스터의 mongos27017 포트에서 수신 대기한다고 가정합니다.

5

작업을 완료하면 쿼리 가능한 인스턴스를 종료할 수 있습니다.

  1. Restore History로 이동하여 배포서버 항목의 Status 열 위로 마우스를 가져갑니다.

  2. Cancel를 클릭합니다.

[1](1, 2, 3, 4) 또는 터널을 통해 연결하는 대신 제공된 X.509 PEM 파일을 사용하여 쿼리 가능한 백업에 직접 연결할 수 있습니다. 쿼리 가능한 백업에 직접 연결하는 경우 호스트 이름 및 포트, TLS/SSL 옵션 및 X.509 인증서를 지정해야 합니다.

중요

AES256-GCM으로 암호화된 스냅샷을 복원한 후 마스터 키 순환

Ops Manager가 AES256-GCM으로 암호화한 암호화된 스냅샷을 복원하는 경우, 복원 작업 완료 후 마스터 키를 로테이션합니다.

돌아가기

백업 스냅샷 쿼리