У меня есть VPS под управлением Ubuntu 16.04 с хранилищем 2T, куда я хотел бы поместить свои данные, которые в настоящее время находятся на флэш-накопителе 1T. Я хотел бы иметь возможность вернуться в историю, чтобы получить более старые версии файлов.
Я смотрел на «двуличие», но читал много историй о том, что он медленный и занимает много места из-за необходимости частого создания полных резервных копий.
Затем я пришел к "rdiff-backup" как к решению этой проблемы, но он не очень хорошо справляется с возобновлением работы. Мне не удалось даже выполнить начальную синхронизацию с моим сервером из-за перебоев. Я попытался сначала выполнить rdiff-backup в локальный каталог, а затем выполнить rsync (-a) в моем VPS. Но когда я затем попытался выполнить rdiff-backup из моего исходного каталога, это не сработало (странная ошибка из-за слишком большого количества инкрементов).
Сейчас я рассматриваю rsnapshot или, возможно, обертывание rdiff-backup в моем собственном инструменте, который может лучше обрабатывать резюме (например, выполняя rdiff-backup инкрементально каталог для каждого каталога).
Должен ли rdiff-backup работать, как я пытался заставить его работать? (local dir 1 rdiff-> local dir 2, local dir 2 rsync-> remote dir, local dir 1 rdiff-> remote dir) А если нет, будет ли rsnapshot хорошей альтернативой?
Дело в том, что вы хотите сделать резервную копию 1 ТБ данных. Это означает, что даже после того, как будет выполнено ваше первое первоначальное резервное копирование, инкрементные обновления могут быть довольно большими, поскольку все упомянутые вами инструменты работают на уровне файловой системы и передают весь новый файл, если вы изменили его на VPS.
Кроме того, некоторые из этих инструментов определенно не предназначены для резервного копирования больших файловых баз. На мой взгляд, Rsnapshot надежен, и на duplicty также стоит обратить внимание, если вы хотите зашифровать или сжать (или и то, и другое) свои данные на VPS, что, конечно, означает, что для резервного копирования требуется больше времени.
При этом то, что вам действительно нужно для быстрого резервного копирования после начальной синхронизации, - это инкрементные резервные копии на уровне блоков.
Это то, что поставляется с ZFS или Btrfs, команды - это ZFS send или btrfs send.
Если Btrfs - ваша предпочтительная файловая система (которую я пока не могу порекомендовать с ценными данными), то, например, этот скрипт от Марка Мерлина может быть интересен, хотя есть похожие: http://marc.merlins.org/perso/btrfs/post_2014-03-22_Btrfs-Tips_-Doing-Fast-Incremental-Backups-With-Btrfs-Send-and-Receive.html
Если вы предпочитаете ZFS, например, стоит взглянуть на Znapzend: http://www.znapzend.org/
Есть также компании, предлагающие резервное пространство ZFS для отправки / получения ZFS, например rsync.net (не связанный ни с ними, ни с клиентами, и да, несмотря на название, которое они предлагают отправку ZFS).
Обратите внимание, что пока это вполне возможно использовать для этой задачи такие инструменты, как rsnapshot, так практичнее и быстрее использовать ZFS / Btrfs send вместо него из-за большого объема данных, если у вас нет очень большой интернет-линии. Эти двое технически превосходят rsnapshot et.al.
я сильно предлагаю вам использовать rsnapshot
, настраивая его на повторную попытку несколько раз при обнаружении проблемы с подключением. Например, чтобы включить подход с несколькими попытками с максимум 3 попытками, добавьте следующую строку в свой rsnapshot.conf
файл:
rsync_numtries 3