Дедуплицирующая файловая система на уровне блоков

Я ищу дедуплицирующее решение для файловой системы с копированием при записи для общих пользовательских данных, таких как /home и их резервных копий. Он должен использовать оперативную / встроенную / синхронную дедупликацию на уровне блоков с использованием безопасного хеширования (для незначительной вероятности коллизий), такого как SHA256 или TTH . Дублирующиеся блоки не должны даже касаться диска.

Идея состоит в том, что я должен иметь возможность просто скопировать /home/<user> на внешний жесткий диск с такой же файловой системой, чтобы сделать резервную копию. Просто. Нет необходимости возиться с инкрементными резервными копиями, когда повреждение любого из моментальных снимков почти всегда будет нарушать все последующие моментальные снимки, и нет необходимости использовать специальный инструмент для удаления или «извлечения» снимка. Все должно быть просто сделано из файлового браузера, не беспокоясь. Вы можете себе представить, как легко это будет? Мне никогда не придется дважды задумываться о резервном копировании!

Я не возражаю против снижения производительности, главное - надежность. Хотя, с конкретными реализациями cp, mv и scp, и плагином для файлового браузера, эти операции будут очень быстрыми, особенно когда есть много дублирования, так как им нужно будет только передать отсутствующие блоки. Случайное использование обычных инструментов копирования, которые не интегрируются с FS, займет больше времени, приведет к потере некоторой полосы пропускания при удаленном копировании и потере некоторого процессора, поскольку дублированные данные будут повторно считываться, повторно передаваться и повторно хэшироваться (хотя ничего не будет переписано), но абсолютно ничего не испортит. (Некоторое программное обеспечение для обмена файлами также может принести пользу путем интеграции с FS.)

Итак, каков наилучший способ сделать это?

Я рассмотрел некоторые варианты:

[ 1123]
  • lessfs - выглядит неуправляемым. Хорошо?
  • Opendedup / SDFS - Java? Могу ли я использовать это на Android ?! Что означает SDFS ?
  • Btrfs - Некоторые патчи плавают в архивах списков рассылки, но реальной поддержки нет.
  • ZFS - Будем надеяться, что однажды они получат лицензию на условиях настоящей свободной лицензии / лицензии с открытым исходным кодом, совместимой с GPL.
    • Кроме того, 2 года назад у меня была попытка в Python использовать Fuse на уровне файлов для использования поверх типичной твердой FS, такой как EXT4, но я обнаружил, что Fuse для Python недокументирован и не удалось реализовать все системные вызовы.

    8
    задан 11 June 2012 в 03:37

    2 ответа

    Это звучит очень предприимчиво (как в дорогой).

    datadomain предлагает дедупликацию данных и, возможно, netapp с их файловой системой wafl. Но по высокой цене.

    «Свободной» альтернативой может быть zfs.

    По моему мнению, «лучшей» и самой Linuxy альтернативой, хотя и на уровне файлов, а не «на уровне блоков», был бы rsnapshot. Он использует rsync и жесткие ссылки для управления версиями.

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

    0
    ответ дан 11 June 2012 в 03:37

    Я смотрю и исследую точно так же, я мог бы предложить https://attic-backup.org/quickstart.html#automating-backups на данный момент, кажется довольно простым и хорошим для резервные копии Linux.

    Существует также bacula с этой особенностью, но чердак, кажется, достаточно хорош для большинства случаев.

    0
    ответ дан 11 June 2012 в 03:37

    Другие вопросы по тегам:

    Похожие вопросы: