План резервного копирования MongoDB - PullRequest
19 голосов
/ 28 сентября 2010

Я хочу перейти с MySQL на MongoDB, но большие потери данных (более 1 часа) для меня неприемлемы.

Мне нужно иметь 3 плана резервного копирования:

  1. План почасового резервного копирования . Данные сбрасываются на диск каждые X минут, и если что-то не так с сервером, я буду уверен, что после перезагрузки все данные будут храниться по крайней мере час назад. Можно ли это настроить?

  2. Ежедневный план резервного копирования . Данные синхронизируются на резервный диск каждый день, поэтому, даже если сервер взорвется, я смогу восстановить данные за вчерашний день через несколько часов. Должен ли я использовать fsync, master-slave или что-то еще? Я хотел бы иметь минимальный трафик, поэтому в идеале будут отправляться только изменения.

  3. Недельный план резервного копирования . Данные синхронизируются со вторым резервным диском, поэтому, если и сервер, и первый резервный диск взорвутся, у меня будет как минимум данные за последнюю неделю. Здесь вопрос надежности, поэтому все данные можно отправлять по сети.

Как я могу это сделать?

Ответы [ 3 ]

21 голосов
/ 28 сентября 2010
  1. Команда fsync сбрасывает данные на диск.Он выполняется каждые 60 секунд по умолчанию, но его можно настроить с помощью параметра командной строки --syncdelay.

  2. Документация о резервных копиях содержит несколько хороших указателей для ежедневного использования.и еженедельные резервные копии.Для ежедневного резервного копирования конфигурация «главный-подчиненный» представляется наилучшим вариантом, поскольку она будет только синхронизировать изменения.

  3. Для еженедельного резервного копирования вы также можете использоватьконфигурация главный-подчиненный или репликация.Другой вариант - утилита mongodump , которая будет выполнять резервное копирование всей базы данных.Он способен создавать резервные копии во время работы базы данных, поэтому вы можете запустить ее в основной базе данных или на одном из ведомых.Вы также можете заблокировать подчиненное устройство до его резервного копирования.

0 голосов
/ 03 ноября 2015

Может быть, вы можете использовать automongobackup .

0 голосов
/ 19 июля 2013

Если вы хотите полностью передать решение для резервного копирования, MongoDB Management Service делает снимки каждые шесть часов. Политика хранения по умолчанию для снимков позволит вам получить восстановление на определенный момент времени за 24 часа, ежедневные снимки за неделю, еженедельные снимки за месяц и ежемесячные снимки за год.

Этот FAQ имеет полную политику хранения.

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

...