Tools Veeam Backup Lead image: Lead Image © Aleksey Mnogosmyslov, 123RF.com
Lead Image © Aleksey Mnogosmyslov, 123RF.com
 

Veeam Agent for Linux backup software

A Clever Agent

The Veeam Agent for Linux is not open source, but it offers a professional solution free of charge for local and remote backup and recovery of files, folders, volumes, and even complete systems in the local network and on servers in the cloud. By Ferdinand Thommes

Veeam specializes in creating backup solutions for virtualized environments. Specifically, it focuses on backups for virtual machines (VMs) from VMware vSphere and Microsoft Hyper-V. Hence, the name Veeam, a rendering of the abbreviation "VM." Veeam's core product, Veeam Backup & Replication, runs inside the VM and performs incremental data backups, data duplication, data compression, and complete image replication; the commercial version costs a minimum of $466 per year in subscription fees.

The company released a Linux solution called Veeam Agent for Linux, which is available for $45 (Workstation) or $150 (Server) per year. In 2015, the company expanded its offering with the free Veeam Endpoint Backup, which performs backups on Windows computers. Now, Veeam has a free beta version for Linux, which they call Veeam Agent for Linux FREE.

A Free Professional-Grade Backup

The thinking behind this product is that companies increasingly look to heterogeneous environments; moreover, a large part of the public cloud runs under Linux. The new Veeam Agent for Linux, and its Windows counterpart, comes free of charge, even though it is not completely free software. The solution supports backups and recovery locally via Network File System (NFS) and Common Internet File System (CIFS)/Server Message Block (SMB).

Veeam Agent for Linux is an agent-based solution that runs in the host operating system. This utility can back up and restore files, volumes, and entire installations on both local and remote computers. Restoring a complete installation uses a Clonezilla-like approach; that is, a bootable ISO file with an agent that fully supports the Logical Volume Manager (LVM).

However, the agent uses a proprietary volume snapshot provider instead of the manager's snapshot function. According to the manufacturer, this proprietary snapshot provider eliminates the limitations of the LVM snapshot. An additional proprietary driver supports incremental backups. The snapshot provider also makes use of the Changed Block Tracking (CBT) technology developed by VMware.

Currently, the second beta version of Veeam Agent for Linux is available for DEB- and RPM-based distributions for 32- and 64-bit systems. This edition supports all Linux kernels starting with version 2.6.32. As a result, older server systems can also profit from the solution. During installation, the Dynamic Kernel Module Support (DKMS) takes care of creating dynamically loadable kernel modules for the CBT driver.

Installation

Veeam Agent for Linux comprises veeamsnap and veeam. You can register to download these components from the company website, or you can use wget to retrieve and save them directly to the server [1]. The download is more than 300MB, because they currently have no option for selecting the package format and architecture. During installation, you will need to install veeamsnap first [2], because it builds the core module for the CBT driver. Afterward, you can go back and install the second component, veeam.

All of the required dependencies were fulfilled under Debian 8.6 and Fedora 25. Packages were missing for both components in Ubuntu 16.10, which I installed with the sudo apt -f install command. When the agent starts for the first time, you should enter sudo veeam. The agent will then inform you via a console interface that the beta version can only be used for 31 days. This time restriction has been put in place to allow the tester to switch to a new beta or to the finished version, because beta versions are not updated.

In the Veeam agent console (Figure 1), you can press C (configure) to create the first backup job or R (recover) to start data recovery. Issuing the command

systemctl status veeamservice
The Veeam Agent for Linux user interface takes you through the individual steps in a terminal.
Figure 1: The Veeam Agent for Linux user interface takes you through the individual steps in a terminal.

informs you of the status of the Veeam agent. All of the Veeam Agent for Linux functions can be executed directly on the command line. Entering

veeamconfig -h

outputs information about available options.

Backing Up Data

For the purposes of testing, I used the Veeam agent interface to set up a backup of the entire system (Figure 2) and configured it as an incremental job to occur every night of the week at 3:00am. This involved backing up an entire Ubuntu installation in a bootable image on network-attached storage (NAS) in the local network (Figure 3). When backing up the entire system, the beta version is still limited by not being able to recreate the image on a smaller hard drive.

You can label the data backup as desired; the Veeam agent uses BackupJob1 by default.
Figure 2: You can label the data backup as desired; the Veeam agent uses BackupJob1 by default.
Backups can be stored locally or remotely via NFS or CIFS.
Figure 3: Backups can be stored locally or remotely via NFS or CIFS.

Writing proceeded at just under 30MBps. You should take into account that the first system backup involves saving thousands of small files in the filesystem, which in turn slows the process down. Veeam attributes the slowness of transfer to the properties of the target (i.e., the logic or the hard drive of the NAS).

The image was created in just over 20 minutes in the test (Figure 4) and can be used to restore individual files, entire directories, complete LVM volumes, or the entire installation.

The GUI provides information about the progress of the backup. In the test, the backup finished successfully after about 20 minutes.
Figure 4: The GUI provides information about the progress of the backup. In the test, the backup finished successfully after about 20 minutes.

After installing approximately 500MB of additional packages, I set up another system image. The Veeam agent wrote it incrementally in just under two minutes with a data throughput of about 78MBps, yielding an image of about 1.3GB. The computer remained on overnight, and at 3:00am, the Veeam agent – per its instructions – created another incremental backup of the entire system.

Recovering Data

The Veeam Agent for Linux user interface shows R (Recover Files) at the lower edge of the window. After pressing R, you will see a list of available backup jobs, provided backups do in fact exist. In the function bar, the I (Import Backup) function lets you choose the backup to recover.

The Veeam agent mounts the selected backup under /mnt/backup/ (Figure 5), which leaves you free to choose your preferred tool for restoring files and directories. For example the Midnight Commander tool on the console is a possibility (Figure 6), or you could use a graphical file manager.

When recovering data, the Veeam agent mounts the recovery files on the system under /mnt/backup/.
Figure 5: When recovering data, the Veeam agent mounts the recovery files on the system under /mnt/backup/.
With the help of a file manager like the tried and true Midnight Commander, you can restore files and folders.
Figure 6: With the help of a file manager like the tried and true Midnight Commander, you can restore files and folders.

Recovery Image

If you want to restore a complete system, instead, you need to start up your computer from a Live image. A recovery system in the form of a 75MB ISO in the original download folder can be used for this procedure. You should burn it to a USB stick and use it to boot the computer [3].

The recovery image starts automatically in a GUI and offers options similar to those used in the tests, including Restore volumes (Figure 7). Because the backup is on NAS, I entered the same address I did in the beginning when creating the backup; then, I selected the backup I wanted to restore and started the process. Veeam overwrote the system installed on the computer, making it bootable with the selected backup.

Veeam Agent for Linux uses a Live image to recover a system backup.
Figure 7: Veeam Agent for Linux uses a Live image to recover a system backup.

Conclusion

Veeam Agent for Linux brings a convenient backup solution for local and remote instances to the marketplace. The product demonstrates that the manufacturer has the skills and experience required to make it a success. The developers deliver intelligent solutions, such as allowing the user a free hand in choosing the recovery tool.

The Veeam agent has been designed to target customer organizations that will potentially spend money on other Veeam products in the future. A mature product is a prerequisite for success with this marketing technique, something that also proves very advantageous to users of the free Veeam Agent for Linux. The software provides a professional setup for creating backups locally in the private network and on servers in the cloud.

Although the software is still in beta, it was able to complete all of the tasks assigned during testing brilliantly. Both the recovery of files and folders using a file manager and a system restore using file images went off without a hitch. Extensive documentation [2] is available for the beginning steps, and additional information is available in a well-visited forum [4].