Veeam backup linux servers

Знакомство с Veeam Agent for Linux

Как вы, возможно, уже знаете, в недалеком будущем увидит свет наш новый продукт — Veeam Agent for Linux. И уже сейчас все желающие могут оценить это решение в ходе анонсированной программы бета-тестирования. Чтобы получить доступ к бета-версии, нужно зарегистрироваться здесь, и вы получите на email ссылку для скачивания. Обратите внимание, что период бета-тестирования закончится 1 сентября 2016 года – затем вы сможете установить уже релизную версию.

Итак, что же умеет бета? За ответом добро пожаловать под кат.

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). Проходим по шагам мастера:

  1. Вводим имя, которое хотим дать заданию.
  2. На шаге Backup mode выбираем, хотим ли мы бэкапить всю машину (Entire machine), какой-либо том (Volume level backup) или отдельные файлы и папки (File level backup):
  3. Затем указываем тип репозитория (Destination Location), куда будут сохраняться резервные копии. Если репозитория у нас еще нет, то мастер попросит его создать. В качестве репозитория поддерживаются:
    • устройства с прямым подключением (USB, eSATA, FС и т.п.)
    • сетевые файловые системы NFS, SMB (CIFS)
    • локальное устройство хранения (не рекомендуется)

    В данном примере в качестве репозитория выбирается папка NFS с общим доступом:

  • Тут же можно указать, сколько точек восстановления (Restore points) должно храниться в репозитории – по умолчанию 14.
  • Затем можно настроить расписание (Schedule) для нашего задания, указав, с какой периодичностью оно будет запускаться.
  • Читайте также:  Граубюнден швейцария windows 10

    После того, как все настройки сделаны, мастер предложит вам запустить задание сразу же. Если вы еще раз хотите пройтись по настройкам и, возможно, что-то поменять, можно либо вернуться к предыдущему шагу, нажав Prev, либо, если вы уже нажали Finish и вернулись в главное меню, нажать C. Для запуска задания из главного меню нажмите S. Если же вы захотите запустить задание в какой-то момент по требованию, то к вашим услугам соответствующая команда:
    veeamconfig job start —name «BackupJob1»

    В ходе выполнения задания по нажатию Enter можно посмотреть, что как идет и что пишется в лог:

    Наше задание успешно отработало, и на экране появилась соответствующая информация в поле Status:

    В репозитории на NFS-сервере теперь лежат файлы резервной копии (.VBK и .VBM), поименованные согласно названию задания и времени создания:

    Имея резервную копию, можно посмотреть, как Veeam Agent for Linux умеет выполнять восстановление Linux-сервера на уровне файла, тома, или же вообще «на голое железо» — но об этом в следующем посте.

    Полезные ссылки

    UPD: Обратите внимание — по ссылке с 1 сентября выдается бета#2. Подробнее о ней можно прочитать тут. В топике есть инструкция и пароль для скачивания (он тот же, что и был для беты#1). Из свежедобавленного, в частности — появились пакеты для Fedora 23, Fedora 24, расширился набор команд CLI, появилась поддержка pre/post job scripts.
    С информацией о найденных issues ждем вас на форуме — в новых топиках или в личных сообщениях (ответственному пользователю PTide).

    Источник

    Installing Veeam Agent for Linux

    NOTE

    To make UEFI systems with Secure Boot work with the pre-built veeamsnap kernel module, you need to enroll the Veeam public key to the MOK list using the mokutil utility. The key is available in the veeamsnap-ueficert-5.0.1.4493-1.noarch package residing on the Veeam repository. To enroll the key:

    1. Request the enrollment of the public key with the following command: mokutil —import veeamsnap-ueficert.crt .
    2. Reboot the Veeam Agent computer and complete the enrollment in the UEFI console.

    To install Veeam Agent for Linux :

    1. Download the Veeam software repository installation package ( veeam-release ) from the this Veeam webpage , and save the downloaded package on the computer where you plan to install the product.

    TIP

    If the computer where you want to install Veeam Agent for Linux is not connected to the internet, you can download and install Veeam Agent for Linux packages manually. To learn more, see Installing Veeam Agent for Linux in Offline Mode .

    1. Navigate to the directory where you have saved the veeam-release package and install the package with the following commands:

    For CentOS / RHEL / Oracle Linux / Fedora

    rpm -ivh ./veeam-release* && yum check-update

    For openSUSE / SLES

    zypper in ./veeam-release* && zypper refresh

    For Debian / Ubuntu

    dpkg -i ./veeam-release* && apt-get update

    For CentOS / RHEL / Fedora

    yum install veeam

    NOTE

    [For CentOS / RHEL] If the dkms package is already installed in the OS, you can install Veeam Agent with one of the following commands:

    With this command, the veeamsnap kernel module will be installed from the source RPM package using dkms .

    • yum install kmod-veeamsnap veeam

    With this command, the non-DKMS version of the veeamsnap kernel module will be installed from the pre-built kmod-veeamsnap binary package.

    For Oracle Linux

    yum install veeamsnap
    yum install veeam

    For openSUSE Tumbleweed

    zypper in veeam

    For openSUSE Leap 15.3

    zypper in veeamsnap-kmp-default
    zypper in veeam

    For SLES with Default kernel

    zypper in veeamsnap-kmp-default
    zypper in veeam

    For SLES with Trace kernel

    zypper in veeamsnap-kmp-trace
    zypper in veeam

    For SLES with Xen kernel

    zypper in veeamsnap-kmp-xen
    zypper in veeam

    For SLES with PAE kernel

    zypper in veeamsnap-kmp-pae
    zypper in veeam

    For SLES with Preempt kernel

    zypper in veeamsnap-kmp-preempt
    zypper in veeam

    For Debian / Ubuntu

    apt-get install veeam

    The following dependency packages may require special handling in case you see installation errors:

    • The dkms package is not present in default repositories for some Linux distributions. You should obtain it from third-party repositories:
    • EPEL repository (for CentOS / RHEL / Oracle Linux / Fedora)
    • Packman repository (for openSUSE). To learn more , see Installing dkms in openSUSE .

    For SLES, the dkms package is not available in the Packman repository. You must use the package intended for openSUSE. To learn more, see this Veeam KB article .

    • Extended kernels, such as kernel-pae , kernel-uek and other, require appropriate kernel-devel packages to be installed, for example, kernel-pae-devel , kernel-uek-devel , and so on.
    Читайте также:  Whatsapp desktop linux mint

    Version of the kernel-devel package must match your current kernel version. To check your current kernel version, run the uname -r command.

    [For RHEL and derivatives] If the yum package manager installs packages that do not match your current kernel version, you should either update your system or fetch older versions of the required packages from the CentOS Vault repository .

    In openSUSE systems, while installing the dkms package, you may see an error similar to the following:

    Problem: nothing provides kernel-devel needed by dkms-2.2.0.3-14.1.noarch
    Solution 1: do not install dkms-2.2.0.3-14.1.noarch
    Solution 2: break dkms-2.2.0.3-14.1.noarch by ignoring some of its dependencies

    To install the dkms package, do the following:

    1. Make sure that you have an appropriate kernel-devel package installed and its version matches your kernel version. For example:

    > rpm -qa | grep kernel-default
    kernel-default-devel-3.0.101-91.1
    kernel-default-3.0.101-91.1

    Источник

    Overview

    Veeam Agent for Linux is a data protection and disaster recovery solution for physical endpoints and virtual machines running Linux-based operating systems.

    Veeam Agent can be used by IT administrators who run Linux infrastructure to protect different types of computers and devices: servers, desktops and laptops. The solution runs inside the guest OS and does not need access to virtualization infrastructure components. Thus, Veeam Agent can be used to protect Linux server instances deployed in the public cloud, for example, in Microsoft Azure environment.

    NOTE

    Veeam Agent can operate in either standalone or managed mode. Depending on the mode, Veeam Agent provides different features and limitations. To learn more, see Standalone and Managed Operation Modes .

    Veeam Agent offers a variety of features to protect your data. You can create an entire system image backup, back up specific machine volumes or individual directories and files. Backups can be stored on a local hard drive, on an external hard drive, in a network shared folder or on a Veeam backup repository.

    In case of a disaster, you can perform the following restore operations:

    • Start the OS from the Veeam Recovery Media and use standard Linux command line tools to diagnose and fix problems.
    • Perform bare metal restore.
    • Restore necessary data from backups to its original location or a new location.

    Veeam Agent integrates with Veeam Backup & Replication . Backup administrators who work with Veeam Backup & Replication can perform advanced tasks with Veeam Agent backups: restore files and disks from backups, manage backup jobs configured in Veeam Agent or backups created with these jobs.

    Источник

    Применение Veeam Backup для виртуальных машин под управлением Linux: аутентификация на основе сертификата

    Индексация гостевой файловой системы требуется для того, чтобы обеспечить пользователю удобный поиск и быстрое восстановление нужных файлов. В частности, Veeam Backup & Replication 8.0 поддерживает эту функциональность и для виртуальных машин под управлением Linux, предоставляя удобный веб-интерфейс Veeam Backup Enterprise Manager:

    Соответствующие операции Veeam выполняет с помощью runtime-компонента, который запускается на гостевой ОС виртуальной машины с началом выполнения задания резервного копирования. Этот компонент координирует процессы при индексации (о них чуть позже), а по завершении задания прекращает работу. Для работы runtime-компонента на гостевой ОС и требуется аутентификация, для которой Veeam Backup & Replication 8 поддерживает теперь также использование сертификата (Linux public key).

    Подробнее о индексации гостевой файловой системы см.здесь и здесь (на англ.яз.).

    Почему мы решили поддержать Linux Public Key-аутентификацию

    Те, кто работал с Linux-инфраструктурами, наверняка в курсе – редко кто логинится на Linux сервера, вводя имя пользователя и пароль. Причин тому несколько, среди них, в частности – отсутствие централизованного управления учетными записями. Да, кто-то использует Microsoft Active Directory через Kerberos, кто-то иные способы, но это отнюдь не массовое явление, и настройка и управление большим количеством учеток в немаленькой инфраструктуре может стать головной болью для того, кто за это отвечает.

    Взять хотя бы пароли: все знают, что в целях безопасности следует использовать пароли достаточной сложности и регулярно их менять. Да на это же можно полжизни потратить! Кое-кто решает упростить задачу и использовать, скажем, никогда не меняющиеся пароли, или простые короткие пароли. Понятно, что жить становится легче, но безопасность при этом снижается. Помним еще, что кроме коммуникации «человек-компьютер» есть еще коммуникация «компьютер-компьютер», и чтобы обеспечить коммуникацию между серверами, следует хранить пароли там, где к ним был бы доступ у приложений и скриптов – при этом очень желательно в каком-то защищенном виде, а не в текстовом формате.

    Из-за всего этого администраторы Linux-систем часто используют метод аутентификации с использованием сертификата, полностью отключая возможность логиниться с вводом имени и пароля. Идея состоит в том, чтобы пользователь (или сервер) использовал для доступа через SSH к удаленной машине сертификат, зарегистрированный на этой удаленной машине – что и позволяет получить авторизацию без необходимости ввода имени\пароля.

    Читайте также:  Parallels tools для windows

    Этот сертификат нужно зарегистрировать всего один раз, после чего доступ будет предоставляться автоматически. Выдачу сертификатов также можно автоматизировать.

    Если на Linux-сервере разрешена аутентификация с использованием сертификата, то при попытке залогиниться с вводом имени и пароля пользователь увидит сообщение об ошибке. Единственный возможный вариант логина при таких настройках – если локальный сертификат SSH (публичный ключ) загружен в список разрешенных ключей (authorized_keys) на сервере, куда требуется залогиниться.При настройке в Veeam Backup & Replication 8.0 задания резервного копирования, в которое входит такой Linux-сервер, нужно будет указать соответствующий приватный ключ.

    Как это работает в Veeam Backup & Replication v8

    Итак, сперва создается пара RSA-ключей, и у вас получается два файла:

    • id_rsa – приватный ключ, его сохраняем на сервере резервного копирования. Путь к этому ключу нужно будет указать при конфигурации задания резервного копирования.
    • id_rsa.pub — публичный ключ, его нужно сохранить в файл authorized_keys того SSH-сервера (Linux ВМ), чью гостевую ОС вы планируете индексировать.

    Кстати, в установочном каталоге Veeam присутствует PuTTYGen – его можно использовать для генерации приватных ключей PuTTY Private Key (PPK) для сервера резервного копирования Veeam Backup & Replication. Поддерживаются следующие форматы SSH-ключей: OpenSSH RSA, OpenSSH DSA, OpenSSL PEM, Open SSL PKCS#8 и SSH.com.

    Более детальную информацию, а также описание работы с Credentials Manager – инструментом для централизованного управления настройками доступа в Veeam Backup & Replication можно найти здесь (на англ.яз.).

    Настройки пользовательского доступа можно ввести и в ходе создания задачи резервного копирования или репликации. В мастере настройки задания резервного копирования для Linux ВМ доходим до шага Guest Processing, включаем опцию индексирования гостевой ОС; затем в секции задания настроек доступа нажимаем Add и из трёх представленных в списке способов выбираем Linux public key:

    В открывшемся диалоге нужно указать, какому имени пользователя будет ставиться в соответствие наш ключ (например, root), и указать путь к приватному ключу, который вы до этого создали. Если при создании ключа использовалась кодовая фраза (passphrase), вводим её тоже.

    После того, как вы указали ключ, можно проверить, сработает ли он при аутентификации – для этого после возвращения к шагу Guest Processing нажимаем Test Now и наблюдаем за процессом:

    Эта кнопка реально полезна, т.к. при проверке ключа проверяется заодно и наличие всех компонентов, необходимых для индексирования гостевой ОС. Так, в примере выше использовалась CentOS в минимальной конфигурации, куда по умолчанию не входит mlocate, о чьем отсутствии и сообщила ошибка в сессии. Есть еще две необходимых утилиты – это gzip и tar.

    Собственно, основную работу выполняет mlocate, которая ведет эффективный поиск файлов, используя не файловую систему, а индексную БД, а Veeam использует SSH-соединение для «выдачи указаний» этой утилите (стартовать, обновить базу с помощью updatedb, и т.д.). (В данном сценарии использовать соединение через VMware VIX не удастся – данная функциональность запланирована к реализации на будущее, а в текущей версии серверу резервного копирования необходим доступ к Linux ВМ по сети через SSH.)

    Заметим, что поскольку обычным пользователям может не хватать прав для доступка к файлам и выполнения команд (в частности, индексная база закрыта для чтения обычными пользователями), то рекомендуется либо указывать в диалоге Credentials пользователя root, либо включать опцию Elevate account to root.

    Таким образом, mlocate выдаст файлы, найденные по индексной БД, и метаданные (включая пути, время последнего обновления индекса, и др.), а tar и gzip соответственно сложат все это в один файл и аккуратно упакуют.

    После того, как все необходимые компоненты установлены и тест на аутентификацию успешно пройден, можно перейти к завершающим шагам мастера настройки. И помним, разумеется, что указанные настройки будут применяться ко всем машинкам, включенным в задание – если только не указать иное для выбранной машины (так, индивидуальные настройки доступа к гостевой ОС можно ввести, нажав кнопку Credentials на соответствующем шаге мастера).

    Во время выполнения задания резервного копирования в окне статистики будет выводиться подробная информация о ходе индексирования Linux ОС с использованием приватного ключа:

    На скриншоте показаны этапы процесса (отмечены стрелками, сверху вниз):

    • Veeam коннектится к Linux ВМ через SSH, используя для логина приватный ключ.
    • Затем с помощью mlocate индексируется гостевая файловая система.
    • После этого с помощью tar и gzip создается компактный файл индекса GuestIndexData.tar.gz.
    • В конце работы индексный файл публикуется в каталог VBRCatalog – для того, чтобы пользователи могли выполнять поиск файлов для восстановления. (Подробнее о каталоге можно почитать здесь.)

    Надеюсь, новые опции работы с виртуальными машинами под управлением Linux пригодятся вам или вашим коллегам. Однако это лишь первый из 8 рассказов, продолжение следует.

    Источник

    Оцените статью