Network backups with Amanda
Auntie Amanda
The Advanced Maryland Automatic Network Disk Archiver, also known as Amanda, backs up a computer across the network to a central backup server. The backups migrate to hard drives, network storage, optical media, or legacy tapes.
Amanda [1] was launched in 1991 by the University of Maryland's Department of Computer Science. Zmanda has handled development since 2007 and still hosts the Amanda forum today. Zmanda is now part of the Carbonite corporation, which has supported Amanda development since 2013. Amanda is available under the BSD license and the GPL, which means you can use it for free – even in a commercial environment. Support is available through Zmanda, along with the enhanced Amanda Enterprise edition, which offers a graphical user interface and other value-added perks. The Enterprise edition starts at $500 for the server and $300 for each client.
Backup via SSH
Amanda backs up all the systems over the network in parallel. Admins typically launch Amanda via a cron job. The data transfer uses encryption via OpenSSH on request. This support for encryption through OpenSSH means you can even back up systems in the DMZ without having to worry about eavesdropping. Current Amanda versions also support IPv6 connections and authentication via Kerberos 5.
Amanda copes with a large number of clients and can easily adapt to changing conditions. Before the backup, Amanda can launch a test program that performs a sanity check on all participating computers in parallel. If the test finds an error, it notifies the administrator by email. On request, Amanda encrypts all data on the client or the server via GPG or another encryption program. Amanda can even compress the archives with gzip
or any other compression program – either directly on the client or on the server. The backup tool relies on standard Linux tools for the backup, including the well-known tar
and dump
tools.
Once the data is backed up on the server, Amanda copies it to the target medium. The medium could be tape, a local hard disk, a NAS storage device, a SAN, or even a DVD. Thanks to caching on the server, Amanda can achieve a high working speed. If the backup does not fully fit on a destination medium, Amanda automatically distributes it to additional media. At the completion of the backup, Amanda sends a report to the backup administrator via email. Admins can even include their own scripts, which Amanda runs automatically before and after the backup.
Amanda determines the backup time and even dynamically adapts this time to match the network. The backup program also decides independently whether it is necessary to create a full backup or only to back up the changed files (incremental backup). Amanda always tries to optimize network bandwidth and available resources.
Prerequisites
Amanda can back up computers running Linux, Unix, or Mac OS, as well as Windows systems if you install a special client program. The Windows support extends to both 32- and 64-bit systems, but as of this writing, the developers have only tested the Windows client program up to Windows 7. The backup server must run Unix or Linux.
Amanda refers to the backup server as the "Backup Server Host." The systems you are backing up are "Backup Client Hosts." The backup server itself also can be a backup client. The backup server host must have at least one hard disk that can cache all backups that reach it. These "holding disks" are not a strict requirement, but without them, performance suffers because the server has to write the data directly to the target medium.
Amanda supports many tape systems [2] out the box. The backup software takes care of tape management and makes sure it does not accidentally overwrite the wrong tape. Amanda also logs which file is on which medium.
Installation
Zmanda.com also offers free Amanda packages, in addition to support for different distributions.
Most distributions provide Amanda packages in their repositories. Usually, you will find one package for the client and another for the server. In the case of Ubuntu 16.04 LTS, you install the amanda-server
package on the backup server and the amanda-client
on the client machines. The client tools are useful on the server, so you will also want to install them on the server.
Many distributions only offer somewhat old versions of Amanda. If you want to install on Ubuntu 16.04 LTS, for example, you get Amanda 3.3.6, which was released in mid-2014. However, if you install Amanda manually, you need to take care of regular updates yourself. If you want to use the latest stable version of Amanda, you will find pre-built binary packages for selected Linux distributions at Zmanda, although these Zmanda packages are all for older distributions. For example, users of Ubuntu 16.04 LTS will come away empty handed. If you can't find a package that supports your system, you need to turn to the source code archive on SourceForge [3]. On a Linux system, unpack the archive and then install Amanda with the well-known rule of three:
./configure make make install
This series of commands requires Make, GCC, and the developer packages for Glib (libglib2.0-dev
on Ubuntu systems).
On Windows machines, Zmanda offers a ready-to-install Amanda client, which is free of charge in the Community Edition. The client version was 3.3.6 when this issue went to press. To download the client, open the drop-down list on the Amanda download page, select version number 3.3.6, and download the matching ZIP archive at the bottom of the table. You need to unpack this archive on the Windows client and then run the setup.exe
installation program. To avoid problems, the same version of Amanda should run on all computers.
Buy this article as PDF
(incl. VAT)
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.