Приложение для резервного копирования macOS, использующее возможности клиента (APFS) и сервера (ZFS): снимки, дедупликация и т.д.

Вопрос или проблема

Я использую Carbon Copy Cloner для основного резервного копирования на внешний SSD и очень доволен этим. Особенно интересной функцией является использование снимков APFS на целевом жестком диске для поддержания истории.

Однако, следуя принципу 3-2-1, я также использую Arq 7 для резервного копирования в облачный сервис (так как CCC не поддерживает облачные бэкенды), и я хочу сделать резервное копирование на импровизированный NAS с использованием Raspberry Pi 4. Однако резервное копирование на SMB-диск является неприемлемо медленным, и существует очень ограниченная поддержка для ведения истории с помощью того, что они называют CCC SafetyNet.

Вчера я провел весь день, пытаясь найти идеальную команду rsync для этого, и хотя производительность значительно улучшается по сравнению с SMB, я не могу завершить резервное копирование без зависания rsync и перезагрузки Raspberry Pi 4. Поэтому я отказался от rsync, так как инструмент для резервного копирования — это то, чему нужно безусловно доверять, и я больше не могу доверять ему. Кроме того, этот вариант не позволяет сохранять историю вообще.

Исследуя альтернативы, я наткнулся на множество вариантов, таких как Borg, Restic, Duplicacy и сам Arq. Хотя эти варианты кажутся интересными, основным недостатком для меня является то, что они кажутся реализуют файловую систему поверх самой файловой системы, чтобы реализовать их желаемые функции, такие как сжатие, проверка целостности, шифрование, дедупликация, ведение истории и т. д. Таким образом, ваши файлы напрямую недоступны на целевом жестком диске, и вам придется использовать эти программы, чтобы восстановить ваши данные. Это оставляет меня немного неуверенным, так как это добавляет дополнительный слой, который может дать сбой, когда вам нужно будет восстановить резервную копию.

На моем импровизированном NAS я отформатировал целевой жесткий диск как ZFS, который уже реализует многие из желаемых функций этих приложений, такие как сжатие, шифрование, проверка целостности, дедупликация и снимки (для ведения истории). Мне кажется, что проблема резервного копирования может быть легко решена приложением, которое работает примерно как rsync для эффективной передачи резервной копии по сети на целевой диск, а затем создает снимок ZFS для сохранения истории, при этом автоматически достигая других функций через собственные возможности ZFS. Бонусом файлы были бы непосредственно и прозрачно доступны, например, через SMB-шару, если это нужно, без постобработки для извлечения их из непрозрачных структур данных, которые используют Borg/Restic/Duplicity.

Существует ли приложение для резервного копирования, которое следует этому более простому маршруту, перекладывая эти функции на файловую систему, как я описал? Бесплатное приложение является идеальным вариантом, и я не против приложений, работающих только через командную строку, но я рассмотрю варианты по разумной цене (до ~50 долларов), особенно если они включают GUI.

zfsbackup кажется набором скриптов, который делает именно то, что я хочу. Я буду изучать его, особенно если он устойчивее к ошибкам rsync.

ИЗМЕНЕНИЕ: к сожалению, после нескольких часов попыток заставить его работать, оказывается, что потребуется слишком много изменений, чтобы он работал с клиентом macOS, и поэтому я отказался от него. Я бы посоветовал всем, кого достаточно заинтересует эта идея и у кого есть свободное время для исправления ее проблем, изучить его (и, в идеале, отправить pull-запросы автору или создать форк).

Ответ или решение

Заголовок: Оптимальное резервное копирование для macOS с использованием APFS на клиенте и ZFS на сервере

Введение
В быстро развивающемся мире информационных технологий данные — это новая нефть. Потеря данных может обернуться катастрофой как для компаний, так и для частных лиц. Поэтому задача эффективного и надежного резервного копирования стоит как никогда остро. В данном контексте, использование файловой системы APFS на клиенте (macOS) и ZFS на сервере (например, на самодельном NAS на базе Raspberry Pi 4) может обеспечить выдающиеся преимущества, такие как снимки (snapshots), дедупликация и прочие функции, которые работают на уровне файловой системы.

Задача
Вы уже используете Carbon Copy Cloner для создания резервных копий на внешний SSD, что дает возможность использовать APFS-снимки для хранения истории изменений. Однако для выполнения принципа 3-2-1 (три копии данных, две на разных устройствах и одна вне офиса) вы используете Arq 7 для облачных резервных копий и ищете решение для резервирования на NAS.

Проблемы текущего подхода

  • Медлительность при резервировании на NAS через SMB, даже с использованием SafetyNet от CCC.
  • Ненадежность rsync, который периодически зависает, что вызывает необходимость перезагрузки Raspberry Pi.
  • Зависимость от программного обеспечения для извлечения данных из резервных копий, сгенерированных такими инструментами как Borg, Restic и Duplicacy. Это создает лишний уровень абстракции и может вызвать проблемы при восстановлении данных.

Преимущества использования ZFS
На сервере используется ZFS, которая предлагает ряд встроенных функций: компрессия, шифрование, проверка целостности, дедупликация и мгновенные снимки. Это делает её идеальной для создания многофункционального и надежного NAS.

Идеальное решение
Оптимальным решением было бы использование приложения, работающего по принципу rsync, но с возможностью эффективно передавать данные по сети с последующим созданием ZFS-снимков. Это позволит управлять историей изменений на файловой системе, а также напрямую осуществлять доступ к данным через SMB без необходимости их извлечения из сложных структур.

Рекомендации

  • ZFS-резервные копии: Использование ZFS для создания мгновенных снимков после каждой резервной копии позволяет хранить историю изменений и упростить доступ к старым версиям файлов.
  • rsync-сценарии: Разработайте или настройте существующие сценарии для rsync, которые будут участвовать в автоматизированном процессе, добавляя улучшенные функции контроля ошибок.
  • Альтернативные инструменты: Проведите исследование на предмет аналогов zfsbackup, но с более широкими возможностями интеграции с macOS или напишите свои скрипты, оптимизируя их под конкретные нужды.

Вывод
Использование APFS на macOS в сочетании с мощным функционалом ZFS на NAS может предоставить надежное, быстрое и прозрачное решение для резервного копирования и восстановления данных. Это снимает угрозу потери данных и гарантирует доступ к ним в любой момент времени. Не забывайте регулярно проверять резервные копии для уверенности в их корректности и актуальности.

Обратить внимание на API и документацию, полученные от open-source сообществ, может привести к созданию персонализированного решения, которое будет надежным и будет точно соответствовать вашим уникальным требованиям к резервированию данных.

Оцените материал
Добавить комментарий

Капча загружается...