AWS EC2 백업 전략의 Mongodb

AWS EC2 백업 전략의 Mongodb

AWS EC2 인스턴스에서 Mongodb를 실행하고 있습니다. 데이터/로그/일지는 xfs 형식으로 별도의 볼륨에 저장됩니다. 현재 우리는 스냅샷을 찍기 위해 mongodb 인스턴스를 중지하고 있지만 다음 내용을 읽고 있습니다. https://docs.mongodb.com/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/ 분명히 저널이 활성화되어 있으므로 스냅샷 중에 서비스를 중지할 필요가 없습니다. 나 맞아? 서비스가 실행 중이더라도 일관된 스냅샷을 생성할 수 있나요?

답변1

일반적으로 장기 미디어에서 복원의 무결성을 확인할 때까지 백업 절차를 신뢰하지 마십시오.


이미 스토리지 시스템 계층 백업을 온라인으로 수행할 수 있는 기능이 있습니다. 이 경우 EBS 볼륨 또는 Linux LVM을 사용합니다. 문제는 데이터베이스를 일관된 상태로 유지하는 것입니다.

저널 유무에 관계없이 온라인 백업이 가능합니다. 두 경우 모두 데이터베이스 쓰기를 일시 중단하는 mongo의 방법은 해당 튜토리얼에 설명된 대로 fsync 및 잠금입니다.

저널이 없으면 디스크에 내구성이 있는 데이터와 버퍼링되어 있지만 아직 커밋되지 않은 데이터를 구분하기 어렵습니다. fsync 및 lock은 특정 시점을 설정하고 백업이 완료될 때까지 진행 중인 쓰기를 더 이상 중지합니다.

(이 스토리지 시스템에서) 스냅샷이 서로 일치하지 않는 여러 디스크에도 잠금이 필요합니다. 백업 기간 동안 쓰기를 일시 중단한다는 것은 디스크가 /dev/sdf와 비교하여 약간 다른 시점에 있지 않음을 의미합니다 /dev/sdg.

Mongo는 당신이하나의디스크 및가지다저널을 사용하면 fsync 및 잠금이 필요하지 않습니다. 아마도 EBS 스냅샷은 충돌 일관성이 충분한 시점이며 저널 전달 복구는 불완전한 쓰기를 수정할 수 있습니다.

관련 정보