Backup, Part 5: Testing Bacula and Veeam Backup for Linux,

Backup, Part 5: Testing Bacula and Veeam Backup for Linux,

This note will discuss various 'big' backup software solutions, including commercial options. The candidates list includes Veeam Agent for Linux and Bacula.

The focus will be on working with the file system to facilitate comparison with previous candidates.

Expected Results

Since both candidates are universal off-the-shelf solutions, the most important result will be the predictability of performance, specifically the consistent runtime when processing the same data volume and under the same load.

Overview of Veeam Agent for Linux

This backup program works with block devices, featuring a kernel module for Linux that ensures backup integrity by tracking changed data blocks. A more detailed description is available here.

The process of creating a file backup is based on the same kernel module: a snapshot of the block device is created, which is mounted to a temporary directory, after which data is synchronized file by file from the snapshot to another local directory or a remote one via SMB or NFS, where multiple files are created in a proprietary format.

The file backup process could not be completed. At around 15-16% completion, the speed dropped to 600 kB/s or lower, with 50% CPU usage, potentially leading to a 6-7 hour backup process, which resulted in the process being halted.

A ticket was created for Veeam technical support, whose staff suggested using block mode as a solution.

The results of the backup creation in block mode are as follows:

Backup, Part 5: Testing Bacula and Veeam Backup for Linux,

The program's runtime in this mode is 6 minutes for 20 GB of data.

Overall, the program performed quite well, but it will not be considered in the general overview due to the significantly slower performance in file mode.

Overview of Bacula

Bacula is a client-server backup software that logically consists of several components, each performing its specific task. There is a Director, which is used for management, the FileDaemon — a service responsible for backups, the StorageDaemon — a backup storage service, and the Console — the interface to the Director (available in TUI, GUI, and Web versions). This system is included in the review also because, despite its significantly high entry threshold, it is a fairly popular tool for organizing backups.

In full backup creation mode

In this mode, Bacula has proven to be quite predictable, completing a backup in an average of 10 minutes,
the load profile turned out to be as follows:

Backup, Part 5: Testing Bacula and Veeam Backup for Linux,

The size of the backups was approximately 30 GB, as expected when operating in this mode.

When creating incremental backups, the results did not differ significantly, except for the repository size, of course (about 14 GB).

Overall, a uniform load on a single CPU core is visible, and the results are similar to those of a regular tar with compression enabled. Since Bacula's settings for backups are quite extensive, it wasn't possible to demonstrate a clear advantage.

Results

Overall, the situation is unfavorable for both candidates, most likely because file mode is used for backup creation. The next part will also discuss the restoration process from backups, and general conclusions can be drawn based on the total time.

Announcement

Backup, part 1: Why backup is necessary, overview of methods and technologies
Backup, part 2: Overview and testing of rsync-based backup solutions
Backup, part 3: Overview and testing of duplicity, duplicati
Backup, Part 4: Overview and Testing of zbackup, restic, borgbackup
Backup, Part 5: Testing Bacula and Veeam Backup for Linux,
Backup, Part 6: Comparison of Backup Solutions
Backup, Part 7: Conclusions

Author: Pavel Demkovich

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster