LINUX.ORG.RU
ФорумAdmin

Быстрый бекап mongo

 ,


0

1

Здравствуйте, имеется база около 100gb, которую нужно бекапить на диск каждый день. Пока размер был небольшой mongodump отлично справлялся, но сейчас на время бека, фризятся много запросов на 5-6 минут, понижение приоритета процесса результата не дало. поэтому ищется альтернативный, более быстрый способ сохранять данные. Как я понял, основная альтернатива использовать LVM, но с принципом его работы я не до конца разобрался. отсюда вопрос, можно ли делать бекапы напрямую копируя весь каталог mongo в другое место? журнал вроде включен с минутнм интервалом. не приведет это к тому, что скопированные данные окажуется сломаными? будет ли по-прежнему блокироваться запись, и на сколько такой способ быстр и надежен?

А на реплике делать снапшоты и бакапить?

Vit ★★★★★
()

Специально для твоего случая рекомендую mongorocks. Там бэкап делается в стиле: db.adminCommand({setParameter:1, rocksdbBackup: «/var/lib/mongodb/backup/1»})

Ip0 ★★★★
()
Ответ на: комментарий от Siado

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

faraday
() автор топика
Ответ на: комментарий от faraday

мне нужно иметь полную базу сохраненную по дням недели

Ну так снимай ее с реплицированной. Тем самым избавишься от 5-тиминутной задержки

Siado ★★★★★
()
Ответ на: комментарий от faraday

За тебя еще погуглить, хинта не достаточно?

Ip0 ★★★★
()
Ответ на: комментарий от Siado

Спасибо, то есть идея заключается в том, чтобы создать реплику базы на том же сервере, и бекапить только её? не будет ли поддержка реплики использовать в два раза больше ресурсов? и как правильно указать mongoDump что бекап снимать нужно именно с реплики

faraday
() автор топика
Ответ на: комментарий от faraday

Ресурсов будет кушать больше. Поэтому имеет смысл на разных машинах делать. Чтобы указать для дампа конкретно реплику - указываешь ее порт. Если будешь на одной и той-же машине запускать то порт другой будет. А вообще да. похоже для задачи бекапить все на одной машине будет использование снимков lvm. Только что-то мне подсказывает на горячую оно все равно криво снимать будет. Часть данных же в памяти лежит а не на диске

Siado ★★★★★
()
Ответ на: комментарий от Siado

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

faraday
() автор топика
Ответ на: комментарий от faraday

Так а если просто копировать всю рабочую директорию могни в другое место, вместе с журналом, такие данные в случае чего можно будет восстановить?

Фигня. Имхо есть вероятность что полетит все к чертям, если будешь копировать в тот момент, пока на диск бд пишется.

по скорости это должен быть самый быстрый вариант, и без локов

Самый быстрый вариант по скорости - это LVM снапшот или репликация

Siado ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.