Знакомство с Veeam Agent for Linux
Итак, что же умеет бета? За ответом добро пожаловать под кат.
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-сервера на уровне файла, тома, или же вообще «на голое железо» —, но об этом в следующем посте.
Полезные ссылкиРегистрация для участия в бета-тестировании
Комментарии и пожелания можно оставлять на нашем форуме