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

Резервное копирование набора реплик mongodb с использованием rsync

Я настроил mongodb набор реплик (у меня 3 экземпляра db -Redhat), и я хотел бы сделать резервную копию файла db (dbPath: / вар / библиотека / монго) с помощью rsync, 10 или 12 раз в день.

  1. Итак, мне нужно остановить mongod процесс перед запуском rsync?

    • выберите один из серверов набора реплик и остановите процесс mongod
    • сделайте резервную копию (используя rsync)
    • начать процесс mongod
  2. Или я могу начать rsync (dbPath: / вар / библиотека / монго) без остановки mongod обработать.

  3. какой рекомендуемый метод резервного копирования, кроме резервного копирования LVM и mongodump?

Итак, мне нужно остановить mongod процесс перед запуском rsync?

Чтобы сделать резервную копию копии файла с rsync или cp вам нужно приостановить запись, остановив mongod обслуживание или выдача db.fsyncLock() команда в mongo оболочку или через драйвер. Поскольку вторичная копия, с которой вы выполняете резервное копирование, будет периодически доступна при таком подходе, было бы лучше сделать ее скрытый чтобы драйверы не пытались читать данные от этого члена, когда он не работает или fsyncLock'd.

Я бы обязательно проверил несколько циклов полного резервного копирования и восстановления. В частности, будьте осторожны rsync параметры, которые могут сделать резервные копии недействительными (например: --ignore-existing, --size-only, --partial).

Примечание: если вы используете fsyncLock() подход есть db.fsyncUnLock() команда для восстановления нормальной работы после завершения резервного копирования. Еще одно предостережение: механизм хранения WiredTiger поддерживает только fsyncLock в MongoDB 3.2 или новее.

могу я начать rsync (dbPath: / вар / библиотека / монго) без остановки mongod обработать.

Нет. Это приведет к несогласованному резервному копированию.

какой рекомендуемый метод резервного копирования, кроме резервного копирования LVM и mongodump?

Поддерживаемые подходы к резервному копированию описаны в документации: Методы резервного копирования MongoDB.

Существуют менее разрушительные (и более непрерывные) подходы к резервному копированию, такие как использование службы резервного копирования на основе агентов (например, MongoDB Cloud Manager).

Если вы хотите выполнить резервное копирование путем копирования базовых файлов данных, моментальные снимки файловой системы (LVM / EBS / ...), как правило, менее разрушительны и более рекомендуются, чем приостановка всех операций записи в mongod. Снимки файловой системы на фоне запущенного mongod Если вы хотите создать единообразную резервную копию, у вас есть некоторые требования: все данные должны находиться на одном томе, должно быть включено ведение журнала, а файловая система должна поддерживать моментальные снимки на определенный момент времени. Для получения полной информации ознакомьтесь с официальной документацией и руководствами по резервному копированию.