LINUX.ORG.RU

Mongodb + docker, как лучше делать бакапы?

 , ,


0

3

Мне надо определиться, что заливать на продакшен, чтобы в ближайшие 10 лет голова не болела. Нужно иногда бакапить монгу, где ~20gb всяких данных и ~1tb картинок. Не обязательно бакапить прям до последнего свежего бита, но желательно чтобы в это время продакшен не тупил. Если «текстовые» данные можно хоть запросами сдампить (размер небольшой), то с картинками такое не прокатит.

Видится 2 варианта:

  1. Поднимать реплику и бакапить слейв - неохота за второй сервер платить.
  2. Делать снапшоты и переливать файлы.

Вот по второму пункту есть вопросы. Чем делать снапшоты чтобы это не тупило? У меня от LVM сложилось впечатление что там снапшоты ну очень сильно тупят. Смотрю в cторону btrfs, но так и не понял, оно уже стало стабильным или нет.

Напишите, у кого есть опыт с btrfs/lvm на продакшенах, ну и вообще с бакапами БД через снапшоты. Какое нынче направление стоит выбирать?

★★★★★

Ответ на: комментарий от constin

Я одинаково хорошо не разбираюсь во всех. Пусть будет что угодно, если мне объяснят как. Только на реальном опыте, а не с дивана.

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

ну сам снепшот ничего не стоит по ресурсам на copy on write файловой системе (zfs или btrfs), но тебе же надо потом «переливать куда-то файлы» , а это уже iops. Так что волшебной палки тут нет.

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

Мне в принципе хватит снапшотов, т.к. диски в зеркале, и может быть изредка снапшоты переливать на отдельную тачку (но не факт).

В общем, я позырил, btrfs не умеет папки снапшотить. ZFS умеет. И вроде убунту 20.04 сильно прокачали под OpenZFS.

Хочу инструкцию, как на хетцнере сделать зеркало с ZFS (debian или ubuntu), и надо ли там вообще отдельные тома лепить.

Самый тупой вариант, который приходит в голову - установить хецнеровским скриптом убунту в зеркало на 10 гигабайт, а потом ручками слепить zfs для /var/lib/docker/. Но мне кажется, можно как-то лучше и проще.

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

btrfs не умеет папки снапшотить. ZFS умеет

Обе одинаково снапшотят subvolume/dataset.

По zfs:

Сделать датасет:

zfs create pool/dataset -o mountpoint=/zfs

Сделать снапшот:

zfs snapshot pool/dataset@2021-08-10

Отправить снапшот инкрементально:

zfs send -cevI @2021-08-09 pool/dataset@2021-08-10 | ssh $RemoteHost /sbin/zfs receive pool/dataset

как лучше делать бакапы?

https://docs.mongodb.com/manual/replication/

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

Мне в принципе хватит снапшотов, т.к. диски в зеркале

Raid и ZFS это «no go». Везде написано большими красными буквами - кормите ZFS сырыми дисками. Надо рейд - у нее у самой есть рейд.

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

Ты не понял. md mirror - только для операционки, гигов на 10. Потому что установить легко. А остальное (/var/lib/docker/) - через zfs.

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

Не понял вопроса. Из свободного места на 2 дисках делается zfs mirror для докера.

Но я не знаю, какие там нюансы. Может надо как-то иначе.

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

Не понял вопроса.

у виртуалок хетцнера есть возможность прицепить к ним доп тома. Я спрашивал, идет ли речь о них.

Из свободного места на 2 дисках делается zfs mirror для докера.

не сырые диски, но тоже сойдет.

А в чем проблема, зачем мануал? полно же в инете информации.

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

А в чем проблема, зачем мануал? полно же в инете информации.

У меня нет опыта, чтобы оценить качество мануалов. Переделывать продакшен потом не получится (да и стрёмно на ходу ковырять).

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

Я не буду писать манаул, так как полгода не трогал ZFS, а она развивается быстро. Могу что-то оплезное упустить.

Но и на вашем месте я бы не ковырял сразу на проде.

constin ★★★★
()
Последнее исправление: constin (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.