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

Выбор подходящего хранилища при размещении MongoDB на EC2

Я настраиваю кластер MongoDB на инстансах Amazon EC2, и в документации сказано ...

... для лучшей производительности мы рекомендуем отдельные тома для файлов данных, журнала и журнала. Каждый из них имеет разное поведение записи, и размещение их на разных томах снижает конкуренцию за ввод-вывод.

Затем следует ...

Примечание. Использование разных устройств хранения повлияет на вашу способность создавать резервные копии ваших данных в виде моментальных снимков, поскольку файлы будут находиться на разных устройствах и томах.

Но не сказано, какое влияние это может иметь.

Я предполагаю, что влияние заключается в том, что он полностью лишает вас возможности делать резервные копии в стиле моментальных снимков во время работы экземпляра?

Если бы я остановил службу MongoD, чтобы файл данных, журнал и журнал больше не записывались, и сделал бы снимок всех трех, получу ли я безопасную восстанавливаемую резервную копию?

Согласно Монго, ответ таков:

Очистить и заблокировать базу данных

Запись в файловую систему должна быть приостановлена, чтобы сделать стабильную копию файлов базы данных.

До версии MongoDB 2.0 это достигается с помощью оболочки MongoDB с использованием fsync и lock:

mongo shell> use admin
mongo shell> db.runCommand({fsync:1,lock:1});
{
   "info" : "now locked against writes, use db.$cmd.sys.unlock.findOne() to unlock",
   "ok" : 1
}

В MongoDB 2.0 добавлен метод db.fsyncLock () для блокировки базы данных и сброса записи на диск, а также добавлен метод db.fsyncUnlock () для разблокировки базы данных после завершения создания моментального снимка.

Пока база данных заблокирована, любые запросы на запись, которые получает эта база данных, будут отклоняться. Любой код приложения должен будет соответствующим образом исправлять эти ошибки.

Как установить Mongo с EC2, описано здесь: https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

И резервное копирование описано здесь: https://docs.mongodb.org/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/#ec2-backup-and-restore