Знакомство с 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). Проходим по шагам мастера:
- Вводим имя, которое хотим дать заданию.
- На шаге Backup mode выбираем, хотим ли мы бэкапить всю машину (Entire machine), какой-либо том (Volume level backup) или отдельные файлы и папки (File level backup):
- Затем указываем тип репозитория (Destination Location), куда будут сохраняться резервные копии. Если репозитория у нас еще нет, то мастер попросит его создать. В качестве репозитория поддерживаются:
- устройства с прямым подключением (USB, eSATA, FС и т.п.)
- сетевые файловые системы NFS, SMB (CIFS)
- локальное устройство хранения (не рекомендуется)
В данном примере в качестве репозитория выбирается папка NFS с общим доступом:
После того, как все настройки сделаны, мастер предложит вам запустить задание сразу же. Если вы еще раз хотите пройтись по настройкам и, возможно, что-то поменять, можно либо вернуться к предыдущему шагу, нажав 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).
Источник
System Requirements
The protected Linux computer must meet requirements listed in the table below.
NOTE
The following system requirements apply to the following Veeam Agent for Linux configuration:
- Veeam Agent version is 5.0.1 .
To learn system requirements for Veeam Agent 5.0, see Release Notes for Veeam Agent for Linux 5.0 .
- Veeam Agent is operating in the standalone mode.
To learn about system requirements for Veeam Agent managed by Veeam Backup & Replication , see the System Requirements section in the Veeam Agent Management Guide.
- Veeam Agent is installed with veeam and veeamsnap packages.
To learn about system requirements for Veeam Agent installed using veeam-nosnap package, see Appendix A. Requirements for veeam-nosnap .
CPU: x86-64 processor (i386 or later).
Memory: 1 GB RAM or more. Memory consumption varies depending on the backup type and the total amount of backed-up data.
Disk Space: 100 MB free disk space for product installation.
Network: 10 Mbps or faster network connection to a backup target.
System firmware: BIOS or UEFI.
Disk layout: MBR or GPT.
For virtual machines: Only full virtualization type is supported. Containers and paravirtualized instances are not supported. Oracle VM virtual machines are supported with limitations .
Important! Check considerations and limitations that apply to the list of supported OSes.
Linux kernel version 2.6.32 or later is supported.
Both 64-bit and 32-bit versions (if applicable) of the following distributions are supported:
- Debian 9.0 – 11.0
- Ubuntu 14.04, 16.04, 18.04, 20.04, 20.10, 21.04
- RHEL 6.0 – 8.4
- CentOS 7.0 – 8.4
- Oracle Linux 6 – 8.4 (RHCK)
- Oracle Linux 6 (starting from UEK R2) – Oracle Linux 8 (up to UEK R6 U2, kernel version 5.4.17-2102)
- SLES 11 SP4, 12 SP2 – 15 SP3
- SLES for SAP 11 SP4, 12 SP2 – 15 SP3
- Fedora 33, 34
- openSUSE Leap 15.2 – 15.3
- openSUSE Tumbleweed
Important! Check considerations and limitations that apply to the list of supported file systems.
Veeam Agent for Linux supports consistent snapshot-based data backup for the following file systems:
- Btrfs (for OSes that run Linux kernel 3.16 or later)
- Ext 2/3/4
- F2FS
- FAT16
- FAT32
- HFS
- HFS+
- JFS
- NILFS2
- NTFS
- ReiserFS
- XFS
The supported file system (except for Btrfs) can reside on a simple volume or LVM2 volume; volumes protected with encryption software such as dm-crypt are supported. Btrfs is supported only if it resides directly on a physical device with no additional abstraction layers (such as LVM, software RAID, dm-crypt and so on) below or above it.
Data that resides on other file systems and volumes (including NFS and SMB shares) can be backed up using the snapshot-less mode. For details, see Snapshot-Less File-Level Backup .
Important! Check considerations and limitations that apply to the list of supported components.
Protected computer must have the following components installed:
- dkms
- gcc
- make
- perl
- linux-headers (for Debian-based systems)
- kernel-headers (for RedHat-based systems)
- kernel-devel (for RedHat-based systems)
- kernel-uek-devel (for Oracle Linux with UEK)
- libudev
- libacl
- libattr
- lvm2
- libfuse
- libncurses5
- dmidecode
- libmysqlclient
- libpq5
- python3
- efibootmgr (for UEFI-based systems)
- isolinux (for Debian-based systems)
- syslinux (for RedHat-based systems)
- btrfs-progs (for backup of Btrfs file system)
- mksquashfs (for custom Veeam Recovery Media)
- unsquashfs (for custom Veeam Recovery Media)
- wget (for custom Veeam Recovery Media)
- xorriso (for custom Veeam Recovery Media with EFI support)
- linux-image- -dbg (for Debian 11.0)
where — the Linux kernel version that you use
- Linux kernel version 2.6.32 or later is supported as long as you use kernels supplied by your distribution. Consider the following limitations:
- Fedora is supported up to kernel 5.13.19.
- openSUSE Tumbleweed is supported up to kernel 5.13.13.
- Linux kernel 2.6.32-754.6.3 in RHEL and Oracle Linux (RHCK) is not supported.
- If you work with the Veeam Agent for Linux 5.0 build earlier than 5.0.1.4493 and the protected computer is running Linux kernel version 5.8 or later, only file-level backup is supported.
- Only GA versions of the supported distributions that have been released before the current version of Veeam Agent for Linux are supported.
- Use the dkms packages with the following distributions instead of the pre-built binary veeamsnap kernel module packages:
- Debian 9.0 – 11.0
- Ubuntu 14.04, 16.04, 18.04, 20.04, 21.04
- Oracle Linux 6 – 8.4 (RHCK)
- Oracle Linux 6 (starting from UEK R2) – Oracle Linux 8 (up to UEK R6 U2, kernel version 5.4.17-2102)
- Fedora 33, 34
- openSUSE Tumbleweed
- The Linux OS must be set up to receive software updates from the default repositories enabled in the OS after installation.
- For cloud-based installations that use customized kernels (such as Linux distributions deployed from AWS Marketplace or Azure Marketplace), the veeamsnap kernel module has experimental support status. For details about experimental support, see this Veeam KB article .
- Pre-built binary veeamsnap kernel module packages require kernel 2.6.32-131.0.15 or later for RHEL 6 (excluding 2.6.32-279.el6.i686) and 3.10.0-123 or later for CentOS / RHEL 7.0 – 7.9.
- RHEL, CentOS and Oracle Linux (RHCK) are supported up to certain kernel versions. For details, see this Veeam KB article .
- Veeam Agent for Linux does not back up the following objects:
- LVM snapshots
- volumes that reside on USB devices and SD cards
- Total size of all file systems included in a file-level backup must not exceed 218 TB. Size of a file included in a file-level backup must not exceed 16 TB.
- Veeam Agent supports backup of extended attributes with the following limitations:
- Veeam Agent backs up extended attributes only with the following public namespaces: system, security, trusted, and user.
- All extended attribute names and values of a file must not exceed 4096 bytes (size of a default ext4 file system block). Veeam Agent does not back up attributes exceeding the limit.
For the kernel version 4.13 or later, if a value of extended attribute exceeds the limit, Veeam Agent uses the ea_inodes feature. Backups created using the ea_inodes feature cannot be mounted on kernel versions up to 4.12.
- Backup of file and directory attributes (for example, a — append only, c — compressed, and so on) is not supported.
- Each volume included in a backup must have a unique UUID.
- The veeamsnap module provides RAM-based changed block tracking (CBT) mechanism. Every time the module is unloaded or Veeam Agent for Linux computer is rebooted, CBT data is reset. As a result, Veeam Agent reads the entire data added to the backup scope to detect what blocks have changed since the last job session, and incremental backup requires greater time.
- You cannot back up an entire system image or specific volumes of machines used as cluster nodes. Only snapshot-less file-level backup of cluster nodes is supported. That includes backup of machines that use shared disks, clustered file systems or clustered LVM.
- Certain limitations for EMC PowerPath configuration apply. To learn more, see this Veeam KB article .
- BFQ I/O scheduler is not supported.
- Sparse files are not supported. Veeam Agent backs up and restores sparse files as regular files.
IMPORTANT
Linux user account used to work with Veeam Agent for Linux must have the /bin/bash shell set as the default shell.
- The following packages are not required for CentOS, RHEL and SLES distributions if a pre-built binary veeamsnap package is to be installed.
- dkms
- gcc
- make
- perl
- kernel-headers (for RedHat-based systems)
- kernel-devel (for RedHat-based systems)
- Version of the following packages varies according to the Linux kernel version that you use:
- linux-headers (for Debian-based systems)
- kernel-headers (for RedHat-based systems)
- kernel-devel (for RedHat-based systems)
- linux-image- -dbg (for Debian 11.0)
where — the Linux kernel version that you use
- For openSUSE and SLES distributions, either of the following packages is required: libncurses5 or libncurses6 .
- The dmidecode package is r equired for Veeam Agent management — a valid BIOS UUID must be obtainable either from dmidecode | grep -i uuid or from /sys/class/dmi/id/product_uuid . Each Veeam Agent that consumes a license installed in Veeam Backup & Replication must have a unique BIOS UUID. If a valid UUID cannot be obtained, Veeam will generate it automatically.
- The libmysqlclient package is required to process MySQL database system located on the Veeam Agent server. For details, see Backup of MySQL Database . Package version varies according to the MySQL database system version that you use.
- The libpq5 package is required to process PostgreSQL database system located on the Veeam Agent server. For details, see Backup of PostgreSQL Database .
- The python3 package or another RPM package providing a /usr/bin/python3 binary is required for CentOS, RHEL 7.0 and later distributions if a pre-built binary kmod-veeamsnap package is to be installed.
- The btrfs-progs package version 3.16 or later is required.
Any file systems and devices that are accessible from the host OS. To learn about limitations, see File System .
Backup can be performed to the following types of storage:
- Local (internal) storage of the protected computer (not recommended).
- Direct attached storage (DAS), such as USB, eSATA or Firewire external drives.
- Network Attached Storage (NAS) able to represent itself as SMB (CIFS) or NFS share. Requires cifs-utils or nfs-utils packages to be installed on the Veeam Agent for Linux computer, depending on a network storage type.
- Veeam Backup & Replication 11 or later backup repository (including deduplication appliances).
- Veeam Cloud Connect 11 or later cloud repository.
Consider the following:
- Veeam Agent for Linux should be able to establish a direct IP connection to the Veeam Backup & Replication server. Thus, Veeam Agent for Linux cannot work with Veeam Backup & Replication that is located behind the NAT gateway.
- Domain names of the Veeam Agent computer, Veeam Backup & Replication server and other servers in the Veeam backup infrastructure must be resolvable into IPv4 addresses.
Источник