Представлен релиз системы резервного копирования BorgBackup 1.0.0, несколько лет назад ответвившейся от проекта Attic. Система поддерживает дедупликацию, шифрование и сжатие данных в хранилище резервных копий. Поддерживается работа в Linux, BSD-системах и OS X. Основной код проекта написан на языке Python 3, но около 9% критичных к производительности частей оформлены на языке Си. Исходные тексты распространяются под лицензией BSD.

Основные возможности и особенности:

  • Экономия дискового пространства в хранилище резервных копий за счёт применения дедупликации. Объединение дублирующихся данных производится на основе выявления идентичных блоков. Файлы разбиваются на блоки, если блок не встречался ранее - он сохраняется в хранилище, если встречался, то записывается ссылка на уже имеющийся в хранилище блок. Применяемый метод дедупликациии не привязан к файлам и директориям, эффективно обрабатывает операции изменения файлов (переписываются только изменившиеся блоки) и смены позиции блоков внутри файла. Дубликаты объединяются в контексте всего репозитория-хранилища и могут охватывать прошлые резервные копии, бэкапы с различных компьютеров, а также идентичные блоки в том же файле.

    Примечание: К дедупликации следует относиться с осторожностью, так как избыточность и простота организации хранилища в контексте создания резервных копий являются полезными факторами, которые увеличивают шанс восстановления данных в случае повреждения хранилища бэкапов. Например, если в результате сбоя ПО или проблем с носителем будет утерян/очищен/заменён эталонный блок, то окажутся потеряны и все связанные с ним ссылки, а повреждение индекса привязки блоков к файлам приведёт к потере всех резервных копий (дедупликация приводит к усложнению механизма хранения, что чревато появлением ошибок, которые могут всплыть лишь на этапе восстановления). Кроме того, невозможно без установки специальных инструментов извлечь данные из специализированного репозитория-хранилища.

  • Высокая производительность - критичный с точки зрения скорости работы код, такой как обработка блоков, сжатие и шифрование, реализован на языке Си с использованием Cython. В BorgBackup также применяется быстрый алгоритм выявления неизменившихся файлов и локальное кэширование индексов, используемых для связывания файлов и блоков в репозитории.
  • Данные хранятся с использованием симметричного шифрования AES c 256-разрядным ключом. Для проверки подлинности зашифрованных данных используется HMAC-SHA256. Данные шифруются на стороне клиента (системы, для которой создаётся резервная копия);
  • Данные в хранилище могут храниться в сжатом виде с использованием алгоритмов lz4 (быстро, но посредственный уровень сжатия) или lzma (медленно, но высокая степень сжатия);
  • Возможность размещения хранилища резервных копий на любом внешнем сервере, на который имеется доступ по протоколу SSH. Для повышения производительности на хост-хранилище могут быть установлены серверные компоненты Borg;
  • Поддержка монтирования резервных копий в форме файловых систем (используется FUSE);
  • Простота установки - BorgBackup поставляется в форме единого исполняемого файла, который может быть запущен без предварительной установки.

Из отличий от системы Attic отмечается более открытый процесс разработки с более простой организацией приёма изменений, устранение нерешённых в Attic проблем, более компактный и потребляющий меньше памяти формат индекса дедуплицированных блоков, более быстрая реализация кэша синхронизации, поддержка хранения данных в сжатом виде, использование шифрования по ключам вместо парольной фразы, эффективное хранение файлов с пустотами внутри (например, образов виртуальных машин), система блокировок на основе вызова mkdir, расширенные сообщения об ошибках, индикация прогресса выполнения операций, тестирование в разнообразных ОС.

Источник: http://www.opennet.ru/opennews/art.shtml?num=44000