Назад | Перейти на главную страницу

Как создать согласованную (начальную) резервную копию набора реплик MongoDB на определенный момент времени?

Я хотел бы сделать резервную копию набора реплик MongoDB таким образом, чтобы обеспечить согласованность базы данных в момент начала резервного копирования. Как говорится в документации, --oplog флаг mongodump скопирует также oplog в процессе резервного копирования. Тем не менее, это обеспечивает целостность на определенный момент времени в конце процесса резервного копирования, который может быть через десятки минут после запуска процесса.

Некоторые подошли, я подумал:

Есть ли другой способ гарантировать, что я получу точный (окно ~ 5 секунд) дамп в определенное время таким образом?

Есть несколько способов создать «начальную» точку резервного копирования во времени. Обратите внимание, что следующее предназначено для резервного копирования набора реплик. Резервное копирование сегментированного кластера имеет дополнительную сложность.

1) Выключите mongod

Завершите процесс mongod и либо скопируйте файлы, либо выполните mongodump для вашего набора файлов.

2) Блокировка / сброс данных

А db.fsyncLock () Вызов оболочки mongo или выполнение связанной команды fsyncLock предотвратит запись и позволит вам скопировать ваши данные / набор файлов. Эта команда предотвратит запись и очистит файлы данных.

3) моментальный снимок файловой системы

Если у вас есть механизм, который позволяет делать моментальные снимки как ваших данных, так и файлов журнала, его можно использовать для получения копии на определенный момент времени. В Linux хороший способ добиться этого - использовать LVM, где файлы данных и журналов находятся в одной группе томов.

4) Резервное копирование MMS

MongoDB Inc предоставляет услугу резервного копирования, которая позволяет выполнять восстановление на определенный момент времени. Есть 2 варианта: облачная служба резервного копирования или размещенная резервная копия. Оба являются платными услугами, первый оплачивается по факту использования, а второй - для подписчиков MongoDB.