An important part of any enterprise level storage system is the backup system. For our new inexpensive storage system, we want to find a piece of backup software that is both inexpensive (preferably free) as well as functional. My search for such a program has led to two main candidates: AMANDA and Bacula. I’ll start with AMANDA as that is where my testing began.
AMANDA approaches backups by using native programs such as postfix, tar, dump, xfsdump, etc within a client/server relationship. The catalog database is store in flat tar.gz files instead of a more complicated (but perhaps more scalable) database such as MySQL. AMANDA’s claim to fame is its scheduler. You tell AMANDA you backup cycle (say 30 days), the set of clients/directories/files you want to backup, and she takes it from there, automatically balancing backups (both full and incremental) throughout that time period. While this is great for load balancing, as I understand it, the administrator is only guaranteed that backups will happen during the cycle, not exactly when those backups will happen. AMANDA is also very fast. In my testing (two Dell PE2850 machines running Ubuntu over Gig-E networking with an IBM LTO-3 tape drive) the backup averaged ~50 MB/s between the client (to the holding disk) and then ~77 MB/s from holding disk to tape. Where AMANDA shows her age is dealing with tape libraries. The only way I have found to handle a tape library with more than one drive (ours has four) is to create separate AMANDA configurations, each with its own tape drive and set of slots in the library. This negates much of the smart scheduling AMANDA provides, as you have to manually balance which directories/file to backup in each AMANDA configuration. Another gotcha with AMANDA is the inability to append data to tapes. Overall, AMANDA is simple and fast, but makes coping with a large tape library somewhat cumbersome.
Bacula is a holistic backup solution. Everything needed to use Bacula is included with Bacula. Bacula is implemented with a client/server relationship, using its own protocols and your choice of MySQL, PostgeSQL, or SQLite to store the catalog in. Scheduling is done in the standard fashion of telling the program what days/weeks/months you want fulls and incrementals to occur. Bacula handles tape libraries very well, allowing multiple tape drives to co-exist in a single configuration. Performance is adequate. Using the same hardware and OS as in the AMANDA tests. The same backup (~90 GB) that was used in the AMANDA tests averaged ~30 MB/s from client to holding disk, and then ~63 MB/s from holding disk to tape. Overall Bacula provides a slick program, great documentation and support for advanced features, at the price of some speed.
In conclusion, AMANDA and Bacula are both excellent programs, with different strengths. From my research, the difference in network speed between AMANDA and Bacula is due to Bacula pumping everything through one TCP port, while AMANDA fires up several dumpers, using many TCP ports to transfer the data. When backup up more than one client, the aggregate speed Bacula provides increases.

Post a Comment