Релиз системы резервного копирования BorgBackup 1.1.0

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

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

Возможности и особенности:

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

Ключевые улучшения в выпуске BorgBackup 1.1.0:

  • Добавлена экспериментальная команда «borg recreate» для переупаковки файлов в существующем архиве, что позволяет организовать дедупликацию между старыми архивами Attic / Borg 0.xx и новым форматом архивов Borg 1.x;
  • Добавлена команда «borg diff» для отображений отличий между двумя архивами;
  • В команде «borg mount» реализовано отображение всех имеющихся версий файлов в версионном представлении;
  • Добавлены дополнительные опции форматирования для команды «borg list», в том числе возможность генерации хэшей и статистики о разбиении каждого файла;
  • В команде «borg create» появилась опция «-C auto,zlib/lz4/…» для включения режима автоматического сжатия, ускорена работа с большим числом файлов, добавлена экспериментальная поддержка масок (—patterns, —patterns-from), реализованы средства управления кэшированием mtime/ctime;
  • Добавлена команда «borg export-tar» для экспорта в формат GNU tar;
  • Появилась возможность прикрепления комментариев к архивам;
  • Добавлены режим шифрования на базе алгоритма BLAKE2b256 и режимы аутентифицированного хранения для гарантирования целостности без шифрования;
  • В индексах репозитория и кэше задействованы контрольные суммы для выявления повреждения информации;
  • Добавлен API для вывода результата выполнения команд «borg list», «borg info» и «borg create» в формате JSON;
  • Реализована возможность ведения лога всех выполненных команд, сохраняемого в формате JSON;
  • В команды «borg list», «borg info», «borg mount», «borg check», «borg delete» и «borg prun» добавлена опция «—prefix», дополняющая опции —glob-archives (-a), —sort-by, —last и —first;
  • По умолчанию включено сжатие lz4.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.