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

Состоялся релиз системы резервного копирования BorgBackup 1.1.0, несколько лет назад ответвившейся от проекта Attic. Система поддерживает дедупликацию, шифрование и сжатие данных в хранилище резервных копий. Основной код проекта написан на языке Python 3, но около 9% критичных к производительности частей оформлены на языке Си. Исходные тексты распространяются под лицензией BSD. Сборки подготовлены для FreeBSD, GNU/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.
Релиз системы резервного копирования BorgBackup 1.1.0

URL записи