Skip to end of metadata
Go to start of metadata

For more infos on how to restore go here

Amanda Features

  • back up multiple machines in parallel
  • built on top of standard backup software
  • sends an e-mail report
  • supports virtual tapes
  • takes care of balancing the daily amount written to tape

Here a graphical outline of amanda from http://www.zmanda.com/

Terminology

Holding Disk

One or several directories on any filesystem that is accessible from the server. A holding disk is used as a cache to store backup data from all Amanda clients. From here Amanda flushes the data to the tapes or vtapes.

vtape

virtual tape, can be defined in the tapetype definitions. These are part of the amanda.conf.

tapetype

The definition of the tape. (Size and a lot of tape specific entries)

DLE

Disk list Entry. What to backup, as defined in the disklist confi From the FAQ

A posting from the amanda-users mailing-list (amanda-users@amanda.org) asked:

"What, please, is a "DLE"? May it mean: Down Loadable Entity ??? Stupid. Do Less Errors ??? Stupid again. Hmmmm ..."

People consulting the amanda-users-mailinglist for the first time often get confused by the use of the abbreviation DLE. It has become very common for regular mailinglist-participants to use the abbreviation DLE, which means, in its long form, "disklist entry".

A DLE refers to one entry in the disklist of an Amanda-configuration. General usage was to describe them as partitions, or file systems. But in fact they do not have to be either. They can be directory trees, or multiple trees, or trees with some branches cut off. So the more generic term DLE was coined.

(from http://www.amanda.org/docs/topten.html#id347521)

Installation and Configuration of the server

On a fresh install of Hardy Heron, use aptitude and install following packages

This creates two directories that will be of interest.

  • /etc/amanda
  • /var/lib/amanda

later on we will create three more directories

  • /mnt/holding
  • /mnt/vtapes
  • /mnt/recovery

create a new directory and get the configuration files from our server.

This should leave us with the following files:

amanda.conf
/etc/amanda/test/amanda.conf
disklist
/etc/amanda/test/disklist
Creating the holding directory and the other structure
Create the virtual tapes

and check if it was successful:

Label them and put the first one in the pipe:

Getting the client ready

In the beginning we also installed the amanda-client, because we want to (also) backup the local filesystem.
Doing an ls -la in the home directory of the backup user shows us that a symlink already exists.

For windows there is a client with cygwin and the possibility to use samba.

http://wiki.zmanda.com/index.php/Backup_client
http://wiki.zmanda.com/index.php/Windows_client

We had some problems with the client configuration, we had to install xinetd

/etc/amandahosts

Doing the backup

first see what actually would be done

As everything looks fine here we can run the actual backup

Getting the report

When amanda has run there will be a report sent to the address configured in amanda.conf. In our case to blue using the local mailtransport, but this depends on the underlying Mail Transfer Agent. The format is following:

Resetting the test environment

In order to get a fresh start in the testing environment we have to delete the content of the tapes, clear the holding disk, clear the internal settings, create a new empty tapelist and label the tapes again.

Moving into production

If the testing part is done and Amanda should move into the production environment then

  • follow the procedure of Resetting the test environment
  • comment out the record no option in amanda.conf
  • comment out the usetimestamps yes option in amanda.conf
  • copy the /etc/amanda/test folder with a suiting name
  • change the parameter in all instances
  • follow the procedure for the holding disk
  • create the virtual tapes

Be conscious about which commands are to be done as the backup user.

Finally create the crontab entries ie. like described in /etc/amanda/crontab.amanda

/etc/amanda/crontab.amanda

Running a recovery

Create the directory where the recovery should be dumped in:

In order to be able to run a recovery add the following line to /etc/amandahosts

/etc/amandahosts

Using amrecover, the easy way

Warning

You must go first into the directory into which you want to recover before you do anything else.

Go into the directory and run amrecover. This is done in an interactive method and convenient for recovering a single file or directory.

Now in the directory /mnt/recovery we will find our files with full path relative to the base DLE

Using amrestore

Amrestore is mostly used when the server itself needs to be restored. It is good at restoring complete DLEs but does not out of the box handle DLEs split over several tapes.

First tell the tapechanger which tape to use, extract it and then untar it.
amrestore needs the tapedevice the host, but date and other options can also be used.
amtape talks to the tapechanger and can give us all information we need. In our case test is the configuration as defined in /etc/amanda.

Using only basic linux tools

When we look at the /mnt/vtapes/test directory we see the structure of how the files are put on the virtual tapes. We can strip of the header and then treat them just as normal zipped tar files, this is also described in the header, which we can inspect by using head -n 3 filename.

If the DLEs are spanning several "tapes" then use amfetchdump.

Much Data

What to do when the daily data that is to be backed up is more than the we can fit on one tape. In AMANDA there are two basic strategies and the exclude lists.

Splitting the DLE

Always use a catch all, so no directories that where added later need special treatment before they get backed up.
http://wiki.zmanda.com/index.php/How_To:Split_DLEs_With_Exclude_Lists

Splitting across tapes

http://wiki.zmanda.com/index.php/How_To:Split_Dumps_Across_Tapes

Use of exclude lists

To exclude certain patterns in the dumptype a exclude_list can be specified. Also here there is more on
http://wiki.zmanda.com/index.php/Exclude_and_include_lists

Strategies

Be aware that you are the backup user when you create directories and when you run certain commands. (All amanda commands except the recovery commands should be run as the backup user.)

Test, test, test...

Do not use include lists, use exclude lists.

Add the new clients one per day. This reduces the initial tape use because the full backups are not all on one day.

Use LVM snapshots to avoid getting in trouble with open files

Train to recover also using native tools. (tar, dd, ...)

Replicate the index information and the amanda configuration outside of amanda (/etc/amanda/, /var/lib/amanda/)

Links, further reading

http://wiki.zmanda.com
http://www.backupcentral.com/components/com_mambowiki/index.php/AMANDA
man amanda.conf
man amanda
http://www.oreilly.com/catalog/esa3/chapter/ch11.pdf