Система резервного копирования для медленной сети

Система резервного копирования для медленной сети

Я пытаюсь придумать какую-нибудь систему резервного копирования, которая позволила бы мне переносить минимальный объем данных каждый раз при создании новой резервной копии.

В настоящее время я делаю инкрементальное резервное копирование через duplicity на smb-монтирование. На данный момент я ограничен примерно 1 МБ/с (wifi/ndiswrapper глупы, но все же - я не получу более 5-кратного ускорения, исправив это).

К сожалению, удаленные, измененные и т. д. данные затрудняют вечное хранение инкрементных резервных копий. Я не могу легко объединить их в полную резервную копию, а создание полной копии объемом 40+ ГБ теперь занимает немного больше времени.

Есть пара вещей, которых я хотел бы добиться с помощью новой системы, и пара вещей, которые меня не особо волнуют:

  • Я бы хотел иметь пару контрольных точек, но, вероятно, не больше 2-3.
  • Мне не важно шифрование, так как хранилище находится в локальной сети.
  • Сжатие было бы хорошо, но я думаю, что я могу просто использовать сжатие файловой системы/устройства.
  • Я хочу иметь возможность полностью избавиться от всех резервных копий, кроме последней, не прибегая к повторному созданию полной копии.

Кажется, это можно сделать с помощью rsync + loop device compression + fs snapshotting... но, к сожалению, мое устройство на самом деле не поддерживает snapshots. У него просто стандартный список поддерживаемых файловых систем Debian, а я не хочу использовать btrfs для резервного копирования.

Есть ли какие-то сопоставимые решения? Как еще я могу подойти к этому?

Редактировать: Я думаю, что часть со снимками может быть реализована с помощью снимков lvm read-only. Это также дало бы еще один уровень защиты от плохо себя ведущих приложений.

решение1

rsnapshotделает инкрементные резервные копии с помощью жестких ссылок и rsync - если файл тот же, что и в прошлый раз, когда выполнялось резервное копирование, то он просто делает жесткую ссылку. Так что если вы ничего не меняли и запускали rsnapshot каждый час в течение трех часов, у вас будет три папки:

hourly.0
hourly.1
hourly.2

Каждый из них будет содержать «полную» резервную копию, но на диске будет находиться только одна копия каждого файла. Это означает, что если вы удалите hourly.2, hourly.1 и hourly.0 по-прежнему будут содержать все файлы. Вы можете задать частоту резервного копирования и количество снимков.

Это позволит достичь вашей первой цели, однако для этого целевая файловая система должна поддерживать жесткие ссылки.

Альтернативой этому может быть использование rsync +ЛВМна устройстве резервного копирования и периодически делать снимки. Снимки LVM — это тома «копирования при записи», где они остаются идентичными оригиналу, повторно используя те же блоки, что и том снимка, если только блоки не изменяются, после чего том снимка просто сохраняет отличающиеся блоки. Поэтому его размер может соответствовать скорости изменения тома, снимок которого делается между резервными копиями.

Сжатие было бы хорошо, но если вы не хотите использовать BTRFS, то да, понадобится какое-то сжатие файловой системы через loop или fuse.

Связанный контент