Хотите сделать инкрементную резервную копию для mongodb. Журналирование? Oplog?

Я хочу ежедневные резервные копии для одной базы данных mongodb, возможно, с mongodump. Чтобы не потерять никаких данных, я хотел бы, чтобы это было инкрементным, поэтому, если что-то пойдет не так в середине дня, мне нужно иметь возможность воспроизводить изменения за этот день до момента сбоя после выполнения mongorestore.

правильно ли я понимаю, что мне нужно использовать oplog для этого? Или ведение журнала-это ответ? Я попытался сделать следующее:

  1. поворачивая мой монго база данных в набор реплик только одного, так что он создает oplog. (Это кажется довольно хаки)
  2. перезапуск mongod с параметром --oplog
  3. выполнение изменений, которые должны быть записаны в oplog

однако ничто никогда не сохраняется в oplog. Каков наилучший способ сделать такие инкрементные резервные копии? Я в основном ищу аналогичный подход к воспроизведению MySQL binlog.

спасибо

2 ответов


MongoDB не предоставляет опцию инкрементного резервного копирования из коробки, но можно сделать снимок файла и воспроизвести oplog. Вы настроили свой сервер как набор реплик, следуя инструкциям, описанным в документации? http://www.mongodb.org/display/DOCS/Replica + наборы + - + основы

не могли бы вы также рассказать нам о цели этих резервных копий? Рассматривали ли вы возможность добавления второго узла в набор реплик для долговечности данных?

Если вы ходили с помощью шагов, чтобы настроить сервер как член набора реплик, можно запустить rs.status() в оболочке?

еще одно примечание (просто чтобы уточнить) - ведение журнала не должно быть стратегией резервного копирования; ведение журнала просто гарантирует, что база данных может вернуться в согласованное состояние в случае отработки отказа. Настоятельно рекомендуется работать с включенным журналированием.

вот документация MongoDB для резервных копий: http://www.mongodb.org/display/DOCS/Backups


лучший способ сделать резервные копии-настроить Ops Manager как часть вашей инфраструктуры MongoDB, но она делает гораздо больше, чем просто резервные копии...