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/ 디렉토리에 출력합니다.

mongodump 이(가) PATH 에 없는 경우 도구의 경로를 지정합니다.

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

터널에 연결하는 옵션이 포함되어 있습니다. [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으로 암호화한 암호화된 스냅샷을 복원하는 경우, 복원 작업 완료 후 마스터 키를 로테이션합니다.

돌아가기

백업 스냅샷 쿼리