가동 중지 시간없이 백업을 수행하기위한 다양한 MongoDB 설정에 대해 읽었습니다. 어떤 전략이 가장 좋고 심지어 비교할 수 있습니까?MongoDb 핫 백업 - fsyncLock을 사용하여 데이터/db VS 복제본 복사
저널링을 활성화하고 단순히
/data/db
디렉토리를 복사 -이 충분한 경우 나에게 분명합니다 - MongoDB의 홈 페이지에 당신이 "그것을 스냅 샷"해야하고 그 예로 SAN 및 LVM에서 작동한다고 .질문 :
는 스냅 샷이 상황에서 무엇을 의미 하는가하는 스냅 샷으로 복사 명령 수? NTFS를 사용하여 Windows 서버에 저널링 MongoDB (2.0+) 데이터 디렉토리를 복사하는 것을 저장합니까? 자신의 파일 시스템과 설정에 대해 어떻게 안전하다고 확신합니까?
2 개의 서버와 중재자가있는 복제 세트를 설정하십시오. 그런 다음
rs.status()
및fsyncLock
/unlock을 사용하여 백업을 수행하는 동안 보조 서버에서만 데이터가 읽히도록하십시오.> db.fsyncLock function() { return db.adminCommand({fsync:1, lock:true}); } > db.fsyncUnlock function() { return db.getSiblingDB("admin").$cmd.sys.unlock.findOne(); }
질문 :
당신이 복제에 잠금을 사용하는 경우는 그 쓰기를 보인다 전체 복제 설정 및 this bug 고정되지 않은 잠겨 될 수 읽기 설정?
백업 진행 중에 보조 서버가 기본 서버로 선정되면 어떻게됩니까? 백업 프로세스가 중지되거나 복제 세트가 잠금 해제 될 때까지 복제 요청이 응답하지 않습니다.
고려 사항 : 지금은
나는 간단한 해결책을 좋아하고 단순히 저널 파일과 함께
data
/db
디렉토리를 복사 및 복제 세트를 기다릴 것이다. MongoDB는 64 비트 Windows 서버 (RackSpace Cloud)에서 실행됩니다.