2011-02-23 3 views
8

Если у меня есть mongodb, работающий в экземпляре EC2, который записывается (несколько) постоянно, что является самой интеллектуальной, безопасной и недорогой стратегией резервного копирования.Стратегия резервного копирования MongoDB для AWS

Меня беспокоит то, что если экземпляр EC2 идет вниз, вы потеряете все данные, записанные на диск ...

ответ

1

Мы используем (по крайней мере, два) Linux экземпляры с данными, хранящимися на EBS и наборов реплик (HTTP://www.mongodb.org/display/DOCS/Replica+Sets).

+1

Как часто вы снимок в системе EBS? – ComputationalSocialScience

+6

Репликация! = Резервная копия – Qualcuno

3

Кому лучше, чем 10gen (разработчики MongoDB), чтобы ответить вам.

Вы можете увидеть на сайте follogin официальную документацию о резервных копиях MongoDB в экземплярах EC2. http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

Предлагаются снимки EBS. Это решение позволяет запустить экземпляр за несколько секунд с помощью «фотографии» вашей базы данных.

+0

У них есть специальный учебник по резервному копированию на EC2, хотя они не предоставляют автоматические скрипты/лямбда для этого: [EC2 Backups] (https://docs.mongodb.com/ecosystem/tutorial/backup -and-restore-mongodb-on-amazon-ec2 /) –

6

Старый вопрос, но я думаю, что я могу внести более подробную информацию и информацию о реальном случае успеха.

В производственной среде у меня есть 3 Mongodb с тиражированием, запущенным в 3 экземплярах T2.micro, 1 экземпляр является основным, 1 экземпляр - это вторичный и 1 экземпляр задерживается (каждые 4 часа синхронизируются) с постоянным EBS (это не удаляется после перезагрузки экземпляра). Каждые 4,5 часа я начинаю процесс Лямбды, который делает снимок EBS замедленного экземпляра и отправляет его в ведро S3. Это работает очень хорошо.

Некоторые ссылки, которые могут помочь:

+0

Используете ли вы один том EBS в каждой из машин? Могут быть проблемы с моментальными снимками, если есть несколько томов EBS (RAID), которые составляют папку/data:. Может случиться так, что моментальный снимок происходит во время синхронизации. Я действительно не понимаю, как сюда могут помочь ваши «отложенные» вещи. В [MongoDB Docs on EC2] (https://docs.mongodb.com/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/) также предлагается блокировать БД, и это не кажется в ваших ссылках. –

+0

Задержка намного больше для удобства (в моем сценарии). В любом случае вы должны выполнить rs.fsyncLock() перед моментальным снимком EBS, как вы сказали. В моем окружении я выполняю rs.fsyncLock() удаленно от лямбда до моментального снимка EBS. Я подумываю написать средний пост, объясняющий, что я сделал для решения таких вещей, например, я создал Node.js, который получает команды HTTP и выполняет в моем Mongodb, поэтому я могу позвонить из своей лямбды, чтобы выполнить, например, rs.fsyncLock(). – danilodeveloper

+0

... У меня есть один объем EBS, прикрепленный для каждого EC2 – danilodeveloper