Выпуск системы резервного копирования Obnam 1.7

16 марта 2014 года

Ларс Вирзениус (Lars Wirzenius), один из студенческих товарищей Линуса Торвальдса, вовлечённый в развитие Linux с первых дней существования проекта (создатель Linux Documentation Project и один из первых мэйнтенеров в дистрибутиве Debian), представил новый выпуск проекта Obnam 1.7, в рамках которого развивается система резервного копирования, основанная на идее оптимизации хранения резервных копий за счёт использования репозитория со встроенной поддержкой дедупликации данных. Код программы написан на языке Python и распространяется (Архивная копия от 22 марта 2016 на Wayback Machine) в рамках лицензии GPLv3+. Готовые пакеты сформированы для Ubuntu(недоступная ссылка), openSUSE (Архивная копия от 16 июня 2016 на Wayback Machine), Gentoo и Debian (Архивная копия от 29 октября 2020 на Wayback Machine).

Предлагаемый в Obnam подход к резервному копированию нацелен на достижение трёх целей: обеспечение высокой эффективности хранения, простоты использования и безопасности. Эффективность хранения достигается благодаря размещению резервных копий в специальном репозитории, данные в котором хранятся в оптимальном представлении с использованием дедупликации. В одном репозитории могут храниться бэкапы разных клиентов и серверов. При этом объединение дубликатов осуществляется для всех хранимых бэкапов, независимо от их типа, времени создания и источника резервной копии. Для проверки целостности репозитория и его восстановления после сбоя предоставляется специальный вариант утилиты fsck.

Если на группе серверов используется одинаковая операционная система, то в репозитории будет сохранена только одна копия повторяющихся файлов, что позволяет существенно сэкономить дисковое пространство при организации резервного копирования большого числа типовых систем, например, виртуальных окружений. Репозиторий для хранения резервных копий может быть размещён как на локальном диске, так и на внешних серверах (для создания сервера для хранения резервных копий не требуется установка дополнительных программ, достаточно доступа по SFTP). Возможен доступ к резервным копиям через монтирование виртуального раздела при помощи специально подготовленного FUSE-модуля.

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

Obnam поддерживает два режима организации процесса резервного копирования - push и pull. В режиме push программа obnam устанавливается на стороне клиента и сохранение резервных копий инициируется клиентом (бэкапы копируются клиентом на сервер хранения резервных копий). В режиме pull программа obnam устанавливается на сервер для хранения резервных копий и процесс копирования данных инициируется сервером (сервер забирает данные с машин клиентов по SFTP).

Для обеспечения высокой безопасности предпочтителен режим push, так как для создания полной резервной копии в режиме pull требуется открытие удалённого доступа к ФС клиента с правами root (в случае взлома сервера резервного копирования, скомпрометированными автоматически окажутся все клиенты). Для дополнительной защиты резервных копий предусмотрена возможность их шифрования с использованием GnuPG (в случае взлома хранилища, злоумышленник не сможет просмотреть содержимое резервных копий без закрытого ключа).

Основные новшества, реализованные в Obnam 1.7:

  • Проведена значительная внутренняя переработка, в результате которой была переписана ощутимая часть кода. Внутренние преобразования не должны отразиться на видимых пользователю возможностях, но не исключается наличие незамеченных ошибок, поэтому обновление до версии 1.7 следует проводить с осторожностью и желательно предварительно сохранить копию репозитория с бэкапами;
  • В интерфейс для создания плагинов добавлена возможность подключения обработчиков, вызываемых после завершения бэкапа (например, такой обработчик может сигнализировать системе мониторинга об успешном создании бэкапа);
  • Обновлён FUSE-плагин, используемый для монтирования репозитория бэкапов в форме файловой системы. В плагин добавлена возможность обновления отображаемого представления репозитория;
  • Добавлена опция "--always-restore-setuid" для принудительного восстановления состояния флагов setuid/setgid, даже если процесс восстановления запускается не от пользователя root или владельца файлов;
  • Добавлена опция "--exclude-from" для загрузки списка исключений из внешнего файла (ранее список исключений мог задаваться только в файле конфигурации или командной строке);
  • Начато написание руководства пользователя Obnam (Архивная копия от 25 апреля 2017 на Wayback Machine), в настоящее время оно скомпоновано из серии заметок из блога автора и разрозненных статей с сайта проекта;
  • Для большинства выводимых ошибок реализованы уникальные коды идентификации, которые позволяют легко найти подобные ошибки в логе (например, "R0B15DX");
  • Полностью переписана утилита obnam-benchmark, используемая для тестирования производительности. При установке Obnam данная утилита больше не поставляется и доступна только из git-репозитория проекта;
  • Команда "obnam verify" теперь показывает прогресс выполнения операции на основе как числа проверенных файлов, так и размера данных;
  • Удалена поддержка команды convert5to6, выполнявшей преобразование устаревшего формата репозитория резервных копий;
  • В лог добавлено отражение информации о накладных расходах при передаче данных в хранилище. Под накладными расходами понимается число байт, не связанных с непосредственным контентом файлов, а определяющих метаданные, такие как имена файлов, права доступа, расширенные атрибуты и т.п.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск системы резервного копирования Obnam 1.7», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.