0

Veeam Agent для Linux!

07.03.2022

Luca Dell’Oca

Часть 1 — Установка
Часть 2 — Переходим к бэкапу
Часть 3 — Восстановление
Часть 4 — Работа из командной строки

Мы — фанаты виртуализации и считаем, что только виртуализованные дата-центры сегодня могут обеспечить максимальную доступность данных и приложений. Однако в реальности виртуализованы еще далеко не все рабочие нагрузки. К некоторым приложениям даже после виртуализации невозможно получить доступ через гипервизор, на котором они работают. Так происходит, например, в публичных облаках.

Это стало одной из причин огромного успеха Veeam Endpoint Backup FREE, выпущенного в 2015 году. Это лишь одна сторона вопроса. Стоит учесть также, что в публичном облаке подавляющее большинство виртуальных машин (ВМ) работают на той или иной версии Linux.

Как защитить их и при этом избежать жесткой зависимости от поставщика облачных услуг? Чтобы помочь пользователям Linux, на VeeamON 2015 мы анонсировали выпуск Veeam Agent для Linux, и с тех пор многие из вас зарегистрировались, чтобы первыми узнать о выходе бета-версии. Прошло несколько месяцев, и я рад сообщить, что бета-версия Veeam Agent для Linux выпущена! Если вы уже зарегистрировались, информация о том, как ее получить, скоро придет вам на электронную почту.

Обзор

В ожидании доступа к коду вам наверняка будет интересно подробнее узнать о Veeam Agent для Linux.

Veeam Agent для Linux — это простой и БЕСПЛАТНЫЙ агент бэкапа для Linux. ПО предназначено для дистрибутивов на основе Debian и RedHat. Оно распространяется в виде пакетов RPM и DEB и поддерживает все версии ядра Linux, начиная с версии 2.6.32, если вы используете ядро по умолчанию для своего дистрибутива. Таким образом, вы можете защитить даже старые системы. Поддерживаются как 32-, так и 64-разрядные ядра.

Решение Veeam Agent для Linux позволяет выполнять бэкап из гостевой ОС как на уровне файлов, так и на уровне тома. Инкрементный бэкап обеспечивает собственный драйвер Veeam (динамически подгружаемый модуль ядра), который реализует технологию отслеживания измененных блоков данных (CBT). Самое приятное, что этот модуль поставляется в виде исходного кода!

Почему? У Linux много разных версий ядра, поэтому подготовить и скомпилировать отдельную двоичную версию модуля для каждой версии ядра невозможно. В результате некоторые ядра могли бы не поддерживаться, и защитить часть серверов под управлением Linux не получилось бы. Поэтому мы выбрали традиционный для Linux-сообщества подход. Модуль распространяется в виде исходного кода, и мы можем его скомпилировать для любого ядра в системе, где нужно установить Veeam Agent для Linux. Не беспокойтесь, вам не придется ничего компилировать самостоятельно: установщик (VeeamSnap) проверяет все необходимые зависимости, готовит список недостающих, чтобы их можно было исправить, а затем автоматически компилирует и устанавливает модуль.

Примечание: В зависимости от дистрибутива Linux, пакет поддержки динамических модулей ядра (DKMS) либо уже имеется в системе, или его нужно установить из внешнего источника. Например, на CentOS пакет DKMS можно установить из дополнительного репозитория EPEL.

Выпущена бета-версия Veeam Agent для Linux!

После установки первого компонента вам нужно просто установить основное ПО Veeam Agent для Linux:

Выпущена бета-версия Veeam Agent для Linux!

Как показано на скриншоте, Veeam Agent для Linux устанавливает на машину сервис. Программирование и управление сервисом осуществляется через клиент с помощью команды veeamconfig. Чтобы посмотреть все доступные параметры командной строки, введите команду veeamconfig с суффиксом —help.

Теперь, когда ПО установлено, вы можете начать его тестирование. Как запустить графический интерфейс, вы поймете даже без подсказок:

Выпущена бета-версия Veeam Agent для Linux!

Заключение

Я знаю, что лишь слегка обрисовал возможности и опции Veeam Agent для Linux. В следующих статьях я расскажу и покажу, как с помощью текстового интерфейса консоли выполнить бэкап и восстановление и другие задачи.

Если вы хотите узнать больше, протестируйте наш новый продукт и помогите нам улучшить его окончательную версию 1.0. Зарегистрируйтесь для участия в публичном бета-тестировании. Публичная бета-версия будет предоставляться по принципу «первым пришел — первым обслужен». Чем раньше вы запишетесь в лист ожидания, тем лучше!

Мы запустили программу бета-тестирования, потому что хотим получить ваши отзывы. Оставляйте комментарии, предложения, идеи — все, что хотите. Чтобы вам было удобнее, мы создали новый раздел форума, посвященный Veeam Agent для Linux. Зарегистрируйтесь здесь, если вы еще не стали участником нашего форума, и присоединяйтесь к обсуждению. Очень ждем ваших отзывов!

Полезные ресурсы:

Veeam Agent для Linux, часть 2: Переходим к бэкапу

Luca Dell’Oca

Часть 1 — Установка
Часть 2 — Переходим к бэкапу
Часть 3 — Восстановление
Часть 4 — Работа из командной строки

В предыдущей статье из этой серии рассказывалось о программе Veeam Agent для Linux, которую можно установить уже сейчас, и о том, как начать с ней работать. В интерфейс командной строки Veeam Agent для Linux встроена удобная справка, которая поможет быстро освоить программу. А в этой серии статей вы найдете еще больше полезной информации. Сегодня поговорим о бэкапе!

Переходим к бэкапу

Теперь, когда программа установлена, посмотрим, насколько быстро и легко можно ее настроить  и сделать первую резервную копию. Пользователям Linux, которые не чувствуют абсолютной уверенности при работе с командной строкой, Veeam Agent для Linux предлагает симпатичный графический интерфейс (GUI). Его можно запустить из командной строки и использовать даже в том случае, если программа установлена на сервере, где нет менеджера окон. Чтобы открыть графический интерфейс, выполните команду:

veeam

Запустится GUI и откроется мастер с приглашением к работе:

Veeam Agent for Linux Beta

Сначала нужно настроить новое задание бэкапа. Для этого нажмите на клавиатуре клавишу «C» и следуйте указаниям мастера: задайте название задания и выберите область резервного копирования: машина целиком, один из томов или отдельные каталоги и файлы:

Veeam Agent for Linux Beta

Затем нужно выбрать целевой репозиторий. Но ведь у нас еще нет репозитория! Вот почему мастер предлагает создать новый репозиторий. На тестовой машине я выбрал в качестве целевого хранилища для бэкапа общую папку на сетевом диске сервера NFS.

Veeam Agent for Linux Beta

На следующем шаге можно настроить расписание для создаваемого задания. На последнем шаге настройки задания мастер предлагает запустить задание сразу после того, как оно будет сохранено. Можно от этого отказаться и вернуться к начальному экрану, чтобы запустить резервное копирование оттуда, нажав клавишу «S». Кроме того, можно запустить задание с помощью команды,  указанной на последнем шаге настройки:

veeam job start --name "BackupJob1"

Если нажать клавишу «Enter», то откроется подробная информация о задании и в окне будет отображаться ход его выполнения:

Veeam Agent for Linux Beta

В нашем примере бэкап успешно выполнен всего за несколько минут:

Veeam Agent for Linux Beta

…и файл резервной копии сохранен на указанном сервере NFS:

Veeam Agent for Linux Beta

Из этого файла резервной копии размером 3,3 ГБ можно восстановить отдельный файл, том целиком или даже весь сервер Linux «на голое железо».

Об этом мы поговорим в следующей статье. Читайте наш блог!

Полезные ресурсы:

Veeam Agent для Linux, часть 3: Восстановление

Luca Dell’Oca

Часть 1 — Установка
Часть 2 — Переходим к бэкапу
Часть 3 — Восстановление
Часть 4 — Работа из командной строки

В предыдущих статьях из этой серии рассказывалось о программе Veeam Agent для Linux, которую можно установить уже сейчас, и о том, как сделать первую резервную копию. Но, разумеется, бэкап в конечном счете нужен для того, чтобы в нужный момент можно было восстановить данные. Вот этому и посвящена сегодняшняя статья.

Переходим к восстановлению

В предыдущей статье нам удалось создать резервную копию и сохранить ее на сервере NFS:

Veeam Agent for Linux Beta

Используем ту же команду, что и для бэкапа:

veeam

Запускается графический интерфейс, отображается информация об успешно завершенном ранее сеансе бэкапа:

Veeam Agent for Linux Beta

В нижней части окна приведены доступные команды, в том числе «Recover Files» (Восстановить файлы), которая вызывается клавишей «R». Нажимаем эту клавишу на клавиатуре.

Veeam Agent for Linux Beta

В окне Veeam Agent для Linux отображаются доступные резервные копии и количество точек восстановления в каждой резервной копии. В данном случае у нас всего одна точка восстановления. Чтобы выбрать и использовать ее, дважды нажимаем клавишу «Enter. В результате файл резервной копии монтируется в каталог /mnt/backup:

Veeam Agent for Linux Beta

Почему так?

Потому что у каждого администратора Linux есть свои любимые способы восстановления папок и файлов, и чтобы не заставлять никого изучать новые интерфейсы и процедуры, мы оставили выбор за пользователями.

Например, можно запустить знаменитый Midnight Commander («mc»), который имеется во многих дистрибутивах Linux, и с его помощью восстановить нужные файлы из резервной копии:

Veeam Agent for Linux Beta

Более опытные пользователи могут воспользоваться командной строкой или другой программой. Выбор за вами!

Восстановление томов

Восстановление файлов — это, конечно, самая частая операция, но иногда приходится восстанавливать и целые тома. В этом случае нам понадобится загрузить наш сервер Linux с помощью аварийного загрузочного диска, который мы скачали вместе с установочными пакетами Veeam Agent для Linux. Используя образ ISO как загрузочный носитель, запускаем аварийный загрузочный диск Veeam:

Veeam Agent for Linux Beta

Сразу после загрузки открывается главное меню, в котором перечислены операции, доступные пользователю:

Veeam Agent for Linux Beta

Если, как в нашем примере, резервная копия находится не на локальном диске, необходимо настроить сетевое подключение. Если вы используете DHCP-сервер, аварийный загрузочный диск выполнит эту настройку автоматически. Если нет, то можно выбрать операцию «Configure network» (Настройка сети) и задать настройки вручную. Завершив настройку сети, нужно выбрать операцию восстановления, в нашем примере — «Restore volumes» (Восстановление томов). Затем нужно выбрать «Add shared folder…» (Добавить общую папку) и наконец «NFS»:

Veeam Agent for Linux Beta

В мастере отображается содержимое смонтированного тома. Пользователь может перейти в каталог, в котором хранится нужная резервная копия, и импортировать ее:

Veeam Agent for Linux Beta

Теперь можно восстановить любой том: в интерфейсе перечислены и существующие тома нашего сервера Linux (если их можно прочитать), и тома в резервной копии:

Veeam Agent for Linux Beta

Можно просто выбрать том, который необходимо восстановить, подтвердить выбор (лучше дважды проверить себя, чтобы не удалить не тот том) и запустить восстановление:

Veeam Agent for Linux Beta

Если том входит в состав группы LVM, можно также провести реорганизацию отдельных томов в составе группы.

В следующей статье я расскажу о работе из командной строки!

Полезные ресурсы:

Veeam Agent для Linux, часть 4: Работа из командной строки

Luca Dell’Oca

Часть 1 — Установка
Часть 2 — Переходим к бэкапу
Часть 3 — Восстановление
Часть 4 — Работа из командной строки

В предыдущих статьях из этой серии рассказывалось о бета-версии программы Veeam Agent для Linux, которую можно установить уже сейчас, и о том, как начать работу с ней. Мы рассмотрели удобные способы создания резервных копий и восстановления файлов и томов с помощью графического интерфейса (GUI). Однако настоящая программа под Linux обязательно должна поддерживать работу из командной строки.

Сегодняшняя статья посвящена работе с Veeam Agent для Linux из консоли!

Введение

После установки Veeam Agent для Linux на машине запускается и настраивается соответствующая служба. Если вы используете дистрибутив Linux с менеджером Systemd (например, CentOS 7), проверить службу и ее состояние можно с помощью следующей команды:

systemctl status veeamservice

Veeam Agent for Linux Beta

На экране появляется информация, подтверждающая, что служба активна и запущена. Все команды Veeam Agent для Linux, которые мы будем набирать в командной строке, будут выполняться не сами по себе, а этой службой. Это означает, в частности, что процесс создания резервной копии будет завершен, даже если после его запуска пользователь выйдет из системы.

Бэкап

Прежде чем выполнить бэкап, нужно создать хотя бы один репозиторий.

А что делать, если забыл нужную команду? Поможет встроенная справка утилиты командной строки veeamconfig, которая вызывается командой veeamconfig help (или —help, или -h). Можно также выполнить команду без параметров, чтобы увидеть все доступные подкоманды:

Veeam Agent for Linux Beta

Нужную подкоманду можно выбрать и по-другому: набрать главную команду и нажать клавишу «Tab». Если в системе поддерживается функциональность bash completion, на экране появятся доступные подкоманды:

Veeam Agent for Linux Beta

В нашем случае мы увидим подкоманду repository. Если теперь выполнить команду veeamconfig repository без дополнительных параметров, то на экране отобразится справка по использованию этой подкоманды.

Veeam Agent for Linux Beta

Благодаря этой функции мы быстро получаем перечень доступных параметров и можем создать репозиторий с помощью следующей команды:

veeamconfig repository create --name STORE --location /mnt/store/

Команда возвращает результат «Repository was created successfully» (Репозиторий успешно создан), и созданный репозиторий появляется в списке доступных репозиториев:

Veeam Agent for Linux Beta

Обратите внимание: создать удаленный репозиторий, например, на общем NFS-диске, можно только из графического интерфейса. Из командной строки можно создать только локальный репозиторий.

Теперь можно создать задание бэкапа. Команда будет выглядеть следующим образом:

veeamconfig job create --name Backup_root --repoName Repository_1 --maxPoints 7 --objects root

Veeam Agent для Linux должен создать новое задание бэкапа с названием «Backup_root» в репозитории «Repository_1» (удаленный обший NFS-диск). Резервная копия должна содержать семь точек восстановления, область бэкапа — «root». «Root» — это название логического тома LVM /dev/centos/root, смонтированного в корневом каталоге /.

Veeam Agent для Linux возвращает результат «Job was created successfully» (Задание успешно создано). Теперь его можно запустить с помощью следующей команды:

veeamconfig job start --name Backup_root

Veeam Agent для Linux возвращает состояние операции:

Backup job is started.

Session ID: [{64bbf9db-c83c-4ca4-b60a-e93301db8de3}].

Logs stored in: [/var/log/veeam/Backup/Backup_root/Session_{64bbf9db-c83c-4ca4-b60a-e93301db8de3}].

Задание выполняется в автоматическом режиме, но можно посмотреть его состояние:

Veeam Agent for Linux Beta

Как видно на рисунке, последний сеанс имеет состояние «Running» (Запущено), бэкап выполняется. При необходимости можно выполнить команду veeamconfig session ui, чтобы посмотреть ход выполнения задания в GUI, но эта статья целиком посвящена работе из командной строки, поэтому мы будем обновлять список сеансов, пока состояние последнего бэкапа не сменится на «Success» (Успешно). Также можно выполнить команду:

watch veeamconfig session info --id 64bbf9db-c83c-4ca4-b60a-e93301db8de3

Veeam Agent for Linux Beta

Бэкап успешно выполнен.

Восстановление

Из командной строки с помощью нескольких простых команд можно выполнить и восстановление файлов.

Сначала просматриваем список доступных резервных копий:

veeamconfig backup list

Job name     Backup UUID                             Repository    Created at

BackupJob1   {1dde4e0d-b90e-4a7a-9e3e-65a182ada70f}  Repository_1  2016-06-14 21:00

Backup_root  {eaf8c7fa-3048-4b41-a917-9418f876662b}  Repository_1  2016-06-14 22:51

Нужную резервную копию можно сразу монтировать с помощью следующей команды:

veeamconfig backup mount --id eaf8c7fa-3048-4b41-a917-9418f876662b --mountdir /mnt/backup/

Программа возвращает результат операции:

Backup is mounted.

Session ID: [{3aaadffb-2299-4d7f-a60c-4af4fac4afee}].

Logs stored in: [/var/log/veeam/Mount/Session_{3aaadffb-2299-4d7f-a60c-4af4fac4afee}].

Обратите внимание, что, в отличие от упрощенного варианта работы через GUI, здесь можно указать точку монтирования, в которую будет смонтирован файл резервной копии.

Дополнительные возможности

Командная строка предоставляет полный набор возможностей не только для бэкапа и восстановления данных, но и для решения других задач.

Например, из командной строки можно управлять настройками программы. Выполнив команду:

veeamconfig config export --file config.txt

мы получим следующий результат::

Configuration file has been exported successfully.

Конфигурация Veeam Agent для Linux была экспортирована в текстовый файл, который можно отредактировать. Veeam Agent для Linux использует локальную базу данных для хранения настроек, а также истории сеансов, заданий бэкапа, информации о репозиториях и практически всей прочей информации, которую можно встретить при работе с программой. Единственный инструмент работы с базой даных и хранящимися в ней настройками — командная строка Veeam. Однако пользователям может потребоваться изменить эту информацию с помощью других инструментов, например, решений для автоматизации. Для этого и нужна подкоманда config.

Команда «export» сохраняет конфигурацию в текстовом файле в формате XML:

<?xml version=»1.0″ encoding=»UTF-8″?>

<Config Version=»1″ />

<Repositories>

<Repository Name=»Repository_1″ Type=»Share» RepositoryOptions=’&lt;OnShareRepositoryOptions Version=&quot;1&quot; Address=&quot;10.2.50.56:/var/nfsshare&quot; FsType=&quot;nfs&quot; Login=&quot;&quot; Password=&quot;&quot; Domain=&quot;&quot; /&gt;’ />

<Repository Name=»STORE» Type=»LocalDrive» RepositoryOptions=’&lt;LocalRepoOptions Version=&quot;1&quot; Location=&quot;/mnt/store&quot; DeviceMountPoint=&quot;/&quot; /&gt;’ />

</Repositories>

<Jobs>

<Job Name=»BackupJob1″ creation_time=»2016-06-14 19:00:33″ RepoName=»Repository_1″>

<JobOptions Compression=»Lz4″ BlockSize=»KbBlockSize1024″ PrefreezeCommand=»» PostthawCommand=»» MaxPoints=»14″ IsDedupEnabled=»false» Schedule=»false»>

<Schedule Hours=»0″ Minutes=»0″>

<WeekMask Sunday=»false» Monday=»false» Tuesday=»false» Wednesday=»false» Thursday=»false» Friday=»false» Saturday=»false» />

</Schedule>

</JobOptions>

<ObjectsForBackup>

<Object ObjectType=»AllSystem» RecordType=»Include» Value=»» />

</ObjectsForBackup>

</Job>

<Job Name=»Backup_root» creation_time=»2016-06-14 20:50:51″ RepoName=»Repository_1″>

<JobOptions Compression=»Lz4″ BlockSize=»KbBlockSize1024″ PrefreezeCommand=»» PostthawCommand=»» MaxPoints=»7″ IsDedupEnabled=»false» Schedule=»false»>

<Schedule Hours=»0″ Minutes=»0″>

<WeekMask Sunday=»false» Monday=»false» Tuesday=»false» Wednesday=»false» Thursday=»false» Friday=»false» Saturday=»false» />

</Schedule>

</JobOptions>

<ObjectsForBackup>

<Object ObjectType=»SimpleDisk» RecordType=»Include» Value=»/» />

</ObjectsForBackup>

</Job>

</Jobs>

<VbrServers />

Теперь администратор может изменить любой параметр в файле XML с помощью своего любимого редактора. Служба Veeam получает данные обо всех настройках только из локальной базы данных. Поэтому после внесения изменений в файл конфигурации его надо загрузить, чтобы Veeam Agent для Linux мог использовать новую конфигурацию:

veeamconfig config import --file config.txt

Veeam Agent для Linux сразу же начнет использовать новые настройки.

Заключение

Надеюсь, статьи этой небольшой серии, посвященной Veeam Agent для Linux, были вам интересы и полезны. Если вы еще не протестировали продукт, но хотите это сделать,скачайте бета-версию.

Полезные ресурсы:

Свежие комментарии

Подписка

Лучшие статьи


Fatal error: Uncaught Error: Call to a member function have_posts() on null in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php:380 Stack trace: #0 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/widget.php(257): fox56_blog_grid(NULL, Array) #1 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/register.php(33): include('/home/host18670...') #2 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/class-wp-widget.php(394): Wi_Widget_Latest_Posts->widget(Array, Array) #3 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/widgets.php(837): WP_Widget->display_callback(Array, Array) #4 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(417): dynamic_sidebar('sidebar') #5 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(136): fox56_single_sidebar() #6 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(7): fox56_single_inner() #7 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/single.php(23): fox56_single() #8 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/template-loader.php(106): include('/home/host18670...') #9 /home/host1867038/the-devops.ru/htdocs/www/wp-blog-header.php(19): require_once('/home/host18670...') #10 /home/host1867038/the-devops.ru/htdocs/www/index.php(17): require('/home/host18670...') #11 {main} thrown in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php on line 380