2016-10-05 1 views
4

명시 적으로 mongodump을 실행할 때 db.fsyncLock() 사용되어서는 안된다는 주장 : mongodump로 덤프를 만들기 전에 MongoDB에서 fsyncLock을 수행해야합니까? 그것은이었다 <a href="https://docs.mongodb.com/v2.6/reference/program/mongodump/" rel="nofollow noreferrer">2.6 docs</a>에서

가 db.fsyncLock와 mongodump 사용하지 마십시오().

그러나이 정보는 3.0 version of the docs 이후 사라졌습니다. 3.0에서 mongodump 문서의 잠금에 관한 정보는 전혀 없습니다.

내 생각 엔 --oplog를 사용하는 경우가 db.fsyncLock()를 호출 할 필요가 없습니다, 것입니다,하지만 난 확실히 100 % 아니에요 : 덤프 작업 중 쓰기 작업이있는 경우, --oplog없이

을 덤프는 한 순간을 반영하지 않습니다. 업데이트 프로세스 중에 데이터베이스에 변경된 은 백업의 출력에 영향을 미칠 수 있습니다.

여기 도와 주실 수 있습니까? mongodump로 덤프를 만들기 전에 MongoDB에서 fsyncLock을 수행해야합니까?

감사합니다.

답변

2

내 생각을 --oplog 사용할 때하는 db.fsyncLock() MongoDB를 버전과 이전

db.fsyncLock() 호출하면 되지해야 3.0 전에 mongodump을하고 호출 할 필요가 없습니다, 것입니다 당신은 지금 그것을 필요로하지 않습니다. fsyncmongodump was removed at several places at once과 함께 사용하지 않는 것에 대한 경고로, 감독과는 달리 의도적 인 변경이 아닌 것처럼 보입니다.

db.fsyncLock() 문서는

이 기능은 데이터베이스를 고정 및 백업 작업을위한 윈도우를 생성한다고.

그러나 이는 단지 Backup with cp or rsync에만 필요합니다. Back Up and Restore with MongoDB Tools Tutorial은 추가 잠금을 언급하고 명시 적으로 --oplog 매개 변수를 사용하여, 일관된 백업거야 것을 언급하지 않습니다

구축하기 위해 oplog 항목을 수집하는 mongodump와 --oplog 옵션을 사용을 포인트 - 인 - 복제 세트 내의 데이터베이스의 실시간 스냅 샷. --oplog를 사용하면 mongodump는 원본 데이터베이스의 모든 데이터와 백업 절차의 처음부터 끝까지 모든 oplog 항목을 복사합니다. 이 작업은 mongorestore --oplogReplay와 함께 mongodump가 덤프 파일 작성을 완료했을 때와 일치하는 특정 시간을 반영하는 백업을 복원 할 수있게합니다.

는 결론 : 아니, 당신은 db.fsyncLock()를 호출 할 필요가 없습니다.

+0

답장을 보내 주셔서 감사합니다. _ 내가 왜 필요하다고 생각하는지 이해하지 못합니다. [fsyncLock] (https://docs.mongodb.com/v3.2/reference/method/db)의 문서를 보시면 .fsyncLock/# 정의),이 함수는 [백업 작업]을 [mongodump docs] (https://docs.mongodb.com/v3)에 링크하는 '이 함수는 데이터베이스를 잠그고 백업 작업을위한 윈도우를 생성한다. 2/core/backups /), 나를 혼란스럽게합니다. – Ruben

+0

@ 루벤 : 알았어. 그러나 cp 또는 rsync를 사용한 기본 백업에만 필요하며 mongodump에는 필요하지 않습니다. 나는 그것을 덧붙였다. –

관련 문제