
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 .
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:
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:
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 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
