Итак, что же умеет бета? За ответом добро пожаловать под кат.
Veeam Agent for Linux — это наше новое бесплатное решение для резервного копирования машин под управлением Linux. Его основные характеристики:
- Может использоваться как для виртуальных, так и для физических машин.
- Работает с машинами семейств Debian и RedHat. Доступен в виде пакетов RPM и DEB.
- Поддерживаются версии ядра Linux, начиная с 2.6.32 (т е. даже если у вас очень старенькая инсталляция, то и она будет поддержана при условии, что у вас стоит официальное ядро для данного дистрибутива).
- Работает с 32-битной и 64-битной архитектурой.
Решение включает в себя следующие компоненты:
- Veeam Agent for Linux Service – компонент, отвечающий за работу со всеми задачами и необходимыми ресурсами. Регистрируется как обычный сервис, автоматически стартует при старте ОС и работает в фоновом режиме.
- Veeam Agent for Linux Job Manager – процесс, который запускается вышеназванным сервисом для каждой сессии задания резервного копирования и отвечает за ее работу.
- Veeam Agent – это, собственно, рабочая лошадка, которая выполняет операции передачи данных: во время бэкапа копирует их в репозиторий, а во время восстановления – наоборот, а также выполняет дедупликацию, компрессию, и т.д.
- Veeam Agent for Linux Driver – модуль ядра Linux, который отвечает за создание снапшотов томов вашей машины.
- SQLite database engine — используется для хранения конфигурации; если у вас его нет – то поставится в процессе установки продукта.
Veeam Agent for Linux умеет выполнять резервное копирование на уровне образа, работая внутри гостевой ОС, причем можно делать бэкапы на уровне томов и файлов. Для создания инкрементальных резервных копий нами был разработан специальный драйвер, который отслеживает измененные блоки (его модуль динамически подгружается в ядро).
Читателей, вероятно, порадует, что этот модуль поставляется в виде исходного кода. Поскольку версий ядра великое множество, то мы решили не пытаться написать и скомпилировать бинарную версию модуля для каждой из них – в итоге вполне могло оказаться, что на какой-то из версий что-то не поддерживается, и соответствующая часть пользователей не сможет использовать решение. Поэтому мы решили пойти по традиционному для Linux-сообщества пути – поставлять исходный код и компилировать модуль в процессе установки продукта, уже конкретно для той версии ядра, с которой ему предстоит работать. Пользователю не придется ничего компилировать вручную – все необходимые операции выполнит менеджер пакетов вашего дистрибутива: проверит наличие необходимых зависимостей, выдаст список недостающих, чтобы вы могли все поправить, и в ходе инсталляции автоматически скомпилирует и установит наш модуль.
Выполняем установку
Для работы решения необходимо наличие пакета Dynamic Kernel Module Support (DKMS), который требуется для компиляции модуля ядра, а также пакета LVM2, который требуется для поддержки операции с томами LVM. Если их нет на машине, то установите их – к примеру, DKMS на CentOS можно поставить из дополнительного репозитория EPEL.
После того, как прошла установка первого компонента, можно переходить к установке собственно Veeam Agent for Linux (для установки понадобятся права root):
Агент Veeam Agent for Linux устанавливается в виде сервиса, с которым затем можно работать, применяя команду veeamconfig. Для просмотра списка ее опций после команды veeamconfig введите --help. Ну и затем можно переходить уже непосредственно к работе – а там уже практически все понятно и без подсказок, но мы все же вкратце рассмотрим сначала процесс бэкапа.
Приступаем к резервному копированию
Поскольку среди пользователей Linux есть как продвинутые, так и начинающие, то мы в дополнение к командной строке предлагаем простенький графический интерфейс. Для его запуска используется командная строка – в ней вводим команду veeam. На экране появится GUI с приветственным сообщением и кнопками меню:
Чтобы создать новое задание резервного копирования, нажимаем C (Configure). Проходим по шагам мастера:
- Вводим имя, которое хотим дать заданию.
- На шаге Backup mode выбираем, хотим ли мы бэкапить всю машину (Entire machine), какой-либо том (Volume level backup) или отдельные файлы и папки (File level backup):
- Затем указываем тип репозитория (Destination Location), куда будут сохраняться резервные копии. Если репозитория у нас еще нет, то мастер попросит его создать. В качестве репозитория поддерживаются:
- устройства с прямым подключением (USB, eSATA, FС и т.п.)
- сетевые файловые системы NFS, SMB (CIFS)
- локальное устройство хранения (не рекомендуется)
В данном примере в качестве репозитория выбирается папка NFS с общим доступом:
- Тут же можно указать, сколько точек восстановления (Restore points) должно храниться в репозитории – по умолчанию 14.
- Затем можно настроить расписание (Schedule) для нашего задания, указав, с какой периодичностью оно будет запускаться.
После того, как все настройки сделаны, мастер предложит вам запустить задание сразу же. Если вы еще раз хотите пройтись по настройкам и, возможно, что-то поменять, можно либо вернуться к предыдущему шагу, нажав Prev, либо, если вы уже нажали Finish и вернулись в главное меню, нажать C. Для запуска задания из главного меню нажмите S. Если же вы захотите запустить задание в какой-то момент по требованию, то к вашим услугам соответствующая команда:
veeamconfig job start --name "BackupJob1"
В ходе выполнения задания по нажатию Enter можно посмотреть, что как идет и что пишется в лог:
Наше задание успешно отработало, и на экране появилась соответствующая информация в поле Status:
В репозитории на NFS-сервере теперь лежат файлы резервной копии (.VBK и .VBM), поименованные согласно названию задания и времени создания:
Имея резервную копию, можно посмотреть, как Veeam Agent for Linux умеет выполнять восстановление Linux-сервера на уровне файла, тома, или же вообще «на голое железо» — но об этом в следующем посте.
Полезные ссылки
Регистрация для участия в бета-тестировании
Комментарии и пожелания можно оставлять на нашем форуме
Комментарии (13)
navion
20.07.2016 17:56+1поставлять исходный код и компилировать модуль в процессе установки продукта, уже конкретно для той версии ядра, с которой ему предстоит работать
Это большой минус из-за зависимостей. В релизной версии будет также или возмёте пример с VMTools, которые содержат бинарники для стандартных ядер поддерживаемых дистрибутивов?sysmetic
21.07.2016 13:32Дело в том, что наш драйвер более низкоуровневый, чем VMTools, поэтому нам сложнее сделать бинарник как у них, но будем думать. А вообще спасибо за отзыв — мы как раз сейчас и собираем все предложения, и будем делать их по мере наших возможностей и частоты встречаемости запросов.
pup51k
22.07.2016 13:20Вариант с компиляцией еще можно пережить, если есть доступ к репозиторию, либо много свободного времени и желания, чтобы побороть зависимости самостоятельно. Но вот хочу я, например, попробовать настроить резервное копирование на Astra Linux Special Edition, откуда компилятор выпилен и установить его нельзя. Было бы здорово иметь возможность разжиться бинарниками для таких, кхм, специфических дистрибутивов.
sysmetic
22.07.2016 13:36Насколько я понимаю, компилятор из ОС выпилен в силу требований ФСТЭК, а следовательно использовать в такой системе Veeam Agent for Linux в принципе нельзя, так у него нет сертификата ФСТЭК, а он требуется исходя из Приказов ФСТЭК №17 и №21.
pup51k
22.07.2016 14:46Здесь вы правы, но я не стал делать на этом акцент. Лишь на примере (не очень удачном, но) показал, что может случится так, что воспользоваться потенциально хорошим решением не получится, уткнувшись в проблем на этапе сборки. И да, вы не хотите в дальнейшем обзавестись сертификатом?
navion
20.07.2016 18:00Кто не хочет регистрироваться и ждать:
https://mega.nz/#!RF9ABTiZ!XUs-jF-Ucube0jQnUKKGG4yStPtC0FJAaxduBLWrgSA
EvilMause
20.07.2016 19:13А как же сливать все в репозиторий VeeamB&R, по аналогии с Endpiont Backup?
Это же очень удобно.
mikkisse
25.07.2016 06:04+1Здравствуйте.
Спасибо за статью. Вопрос такой: краем уха слышал что-то про интеграцию с сервером Backup&Replication? Правда ли это? Возможно появление в будущем централизованного управления через сервер BR?sysmetic
25.07.2016 15:25+1Да, в будущем конечно стоит ожидать нарастающую интеграцию с сервером B&R (репозиторий, управление и т.д.), но по срокам ничего конкретного нельзя сказать.
mikkisse
25.07.2016 15:29Спасибо, будем ждать. Подобная интеграция определенно выведет Veeam еще на более высокий уровень
Ivanzor
спасибо, пошел пробовать!