Open-Source Backups Using Amanda
Those of us who have received the call can feel the tension and nervous tone in the caller's voice when he or she asks, “How good are the backups?” A failed disk, files deleted by mistake, a disgruntled coworker or, worse, a security breach all can be times when you need to depend on backups.
Data probably is the most important element in computing, but in too many cases I see data backups overlooked or approached in such a carefree manner that I shiver. To this end, this article discusses the University of Maryland's Amanda (advanced Maryland automatic disk archiver) backup software, a relatively easy-to-use disk archiver built upon native dump and/or GNU tar tools. I often feel Amanda does not get the respect it deserves in a Linux/UNIX cross-platform environment. I confidently can say, however, that Amanda is a reliable platform for many Linux and UNIX users who are comfortable with a command-line interface.
I began using Amanda approximately three years ago as a backup platform in an educational environment. Working in an educational and research environment provides many challenges when it comes to backups. Many technical professionals and hobbyists face these same challenges related to their own backups. The challenges include the lack of a budget large enough to include backup software, a wide variety of OSes and distributions to back up and limited human resources to accomplish all the backups.
For myself and others, the ideal solution would be to have a central backup server that can accommodate multiple configurations as well as multiple backup tape devices, while requiring a minimum amount of time and resources. Amanda meets these requirements and and many more.
Installing Amanda is a straightforward process. Whether you install from source or a binary package, you need to have a backup user and a backup group. You also need to enable disk access permission to the Amanda user and backup group. The default install from RPM takes care of this step for you, adding Amanda as a user and including Amanda as a member of the disk group.
With a default installation of Amanda, the majority of your server configuration files are placed in subdirectories of /etc/amanda/, for example /etc/amanda/DailySet1. The minimal files to place in /etc/amanda/<amanda_config> are the amanda.conf file and the disklist file. The amanda.conf file holds the configuration settings for that backup run and the disklist file holds a list of disks to be backed up with that configuration. Additional files, which are placed in /var/lib/amanda by default, include index files, log file, current info files as well as additional configuration files. If the administrator prefers, the executable files are normally placed in /usr/sbin and include amdump, the actual Amanda dump program; amcheck, the Amanda pre-dump check utility; amverify, the Amanda utility to verify the integrity of the dumps; amrecover and amrestore, the recovery programs; and various other Amanda utilities.
Once Amanda is installed, amcheck and amdump search the default config directory of /etc/amanda/<configuration> for the configuration files unless it is told to do otherwise. Within /etc/amanda, you need a directory for each configuration to be run. The amanda.conf file may appear somewhat complex, but it is, in fact, rather self explanatory. It contains plenty of documentation, and once read it is easy to interpret and customize for your environment. On both the client and server end, inetd.conf or xinetd.conf must contain entries for Amanda. On the server, you also need to have entries for the index server, amandaidx, and the tape server, amidxtaped (Listing 1). In addition to the xinetd settings, for each host within the Amanda user's home directory, an .amandahosts file is required. This file defines each host and the user from that host who is allowed to access the machine (Listing 2). Particular attention should be paid to the permissions on the Amanda user's home directory and the accompanying files, for obvious security reasons.
Listing 1. All three xinetd entries for Amanda. Only the service Amanda is needed for clients.
service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = amanda
group = disk
server = /usr/lib/amanda/amandad
disable = no
}
service amidxtape
{
socket_type = stream
protocol = tcp
wait = no
user = amanda
group = disk
server = /usr/lib/amanda/amidxtaped
disable = yes
}
service amandaidx
{
socket_type = stream
protocol = tcp
wait = no
user = amanda
group = disk
server = /usr/lib/amanda/amindexd
disable = no
}
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Linux Systems Administrator
- New Products
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Favorite (and easily brute-forced) pw's
1 hour 26 min ago - Have you tried Boxen? It's a
7 hours 18 min ago - seo services in india
11 hours 49 min ago - For KDE install kio-mtp
11 hours 50 min ago - Evernote is much more...
13 hours 50 min ago - Reply to comment | Linux Journal
22 hours 36 min ago - Dynamic DNS
23 hours 10 min ago - Reply to comment | Linux Journal
1 day 8 min ago - Reply to comment | Linux Journal
1 day 58 min ago - Not free anymore
1 day 5 hours ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



Comments
New documentation
Amanda project has seen lots of new developments lately. It also has a cool new wiki with great documentation:
Amanda Wiki
fsbackup
Other very flexible backup tool:
http://freshmeat.net/projects/fsbackup_project/
Re: Open-Source Backups Using Amanda
Another backup tool to consider:
http://flexbackup.sourceforge.net/
up and running in less then 10 minutes
Supprots incremental and differential backups,
a lot of backup methods: tar/star afio cpio ...
so you don't restricted to something specific
On the fly cdrw?
Although I prefer the command line for burning iso images, when it comes to making data backups, I have an easier time with k3b. I recently tried backing up my mail directory, but I have so many emails (maildir, heavy mailing lists), that the k3b app locked up, and I wasn't able to use it. It's probably about 5 GB in size, including sub-directories. I was attempting to span the mail directory across multiple cdrws for backup, but since it crashed...
Also, from what I understand, since it is about 5 GB, I'm assuming I have to make a 5 GB size iso image, split to fit on the 700 MB disks. Can this be done on-the-fly?
In other words, is there a way to backup a directory, say 5 GB in size, so that the directory is compressed to (example, approximate) about 2 GB using tar or other compression utility, then break that 2 GB tarred file into 3 files, 700 MB, 700 MB, 600 MB, and burn those files to 3 CDs, without needing 2 GB hard disk space to temporarily store the files?
2 GB may not sound like much with today's hard drive sizes, but if the above is possible, I'm also planning on backing up entire partitions, using multiple CD disks (I'm sticking with CDR/RW until the larger DVD drives, 50+GB, come out).
Manually creating tar files, then breaking them up to 700 MB each, then organizing the disks, and making sure there is enough room on partitions for all the data, starts turning into such a logistical hassle that it never gets done. I just want to type out a command, write the label for the cd, stick the cd in the drive, hit enter, have the cd eject, put the next cd in, hit enter again, and continue the process until done.
Is this a possibility? Anyone care to share commands used to tar and burn in the same command using pipes? Or should the commands be separated because of the risk of making coasters?
tia.
Re: On the fly cdrw?
Mondo Rescue + Mindi - http://www.microwerks.net/~hugo/ will compress the source(s) and create and burn multiple iso's for CDs spanning the source. Besides the link to Hugo's (the author) site, see "Bootable Restoration CDs with Mondo", Linux Journal, October 2003. Though, it is meant as a bare metal recovery tool.
mondoarchive for Enterprise Linux... Is there such a thing.
I've used mondoarchive for other distributions, RH7.3, Rh8.0, RH9.0, but I haven't been able to make it work with enterprise es. I've looked all over the net, but I cannot seem to find information about this, binaries, howto...nothing. Almost, like they were swallowed by the earth.
Thanks.
Re: On the fly cdrw?
cdbkup is an excellent tool for this. It will, on the fly, tar the data and split the tar files up onto individual CD's. It has similar tools to concatenate the files back together and untar them to restore. It only needs 650MB of space in /tmp during the backup procedure (as it works with 1 iso at a time)
Re: On the fly cdrw?
I too have the need to backup up a few gigs of data to CDRW.
I use Mondo Rescue, as you can set it to backup direct to the CDRW (it'll prompt you to change CDs) or if like me you want it done overnight, you can tell it to backup to ISO images of the size you specify, then burn the ISOs manually.
Re: Open-Source Backups Using Amanda
Another backup tool to consider:
http://flexbackup.sourceforge.net/
up and running in less then 10 minutes
Supprots incremental and differential backups,
a lot of backup methods: tar/star afio cpio ...
springbreak so you don't restricted to something specific
On the fly DVD should be possible
In other words, is there a way to backup a directory, say 5 GB in size, so that the directory is compressed to (example, approximate) about 2 GB using tar or other compression utility, then break that 2 GB tarred file into 3 files, 700 MB, 700 MB, 600 MB, and burn those files to 3 CDs, without needing 2 GB hard disk space to temporarily store the files?
2 GB may not sound like much with today's hard drive sizes, but if the above is possible, I'm also planning on backing up entire partitions, using multiple CD disks (I'm sticking with CDR/RW until the larger DVD drives, 50+GB, come out).
I have been wondering about a similar situation, and
am beginning to lean towards a DVD solution. The reason is
that some DVD formats (DVD+RW and DVD-RAM) can be made
to act almost like a hard disk. If this works as advertised,
writing a compresed 4G archive without intermediate ISO images is
easy.
This inspired by the writeup at
http://fy.chalmers.se/~appro/linux/DVD+RW/
However, not yet tried this in practice. Should get and installl a DVD drive first (but now DVD writers, even multi-standard ones, are finally begining to be reasonably priced).
But has anyone yet tries this strategy?
I Use Amanda - but am going to move to something else
While the only backup tool I've used to date is Amanda, I'm prepared to abandon it for another tool with features more to my liking - still open-source, of course. Others must have felt the same way, given the number of different backup programs out there. In my search, I've come across these tools with no special support for backups across a network:
afio - http://freshmeat.net/projects/afio/
Mondo Rescue + Mindi - http://www.microwerks.net/~hugo/
storebackup - http://sourceforge.net/projects/storebackup/
Taper - http://taper.sourceforge.net
and these tools that do offer some support for backups across a network:
afbackup - http://sourceforge.net/projects/afbackup/
Amanda CD-RW Taper - http://www.tivano.de/software/amanda/
bacula - http://www.bacula.org
BackupPC - http://backuppc.sourceforge.net
Box Backup - http://www.fluffy.co.uk/boxbackup/
DAR - http://dar.linux.free.fr
Drakbackup - http://people.mandrakesoft.com/~sbenedict/
duplicty - http://www.nongnu.org/duplicity/
FauBackup - http://faubackup.sourceforge.net
Hdup - http://miek.nl/projects/hdup16/hdup16.html
rdiff-backup - http://rdiff-backup.stanford.edu/
There's even a few more tools listed at these two pages:
http://www.backupcentral.com/free-backup-software2.html
http://directory.fsf.org/sysadmin/Backup/
This long introduction leads me to the one page I've found so far comparing various open-source backup tools:
http://www.fluffy.co.uk/boxbackup/comparison.html
By the author of Box Backup - which I'm sure reflects his biases.
It would be nice to see more such comparisons as well as hear peoples' experiences with these various tools.
Backup utilities - open source
I have used cobian backup for some time on the windows OS with great success. Supports compressed backups, FTP, network, encrypted and password locked archives, full/incremental/scheduled backups, more.
It has been freeware for a long time and now it is open source too.
http://sourceforge.net/projects/cobianbackup
In response to the above, the
In response to the above, the closest free/open-source alternative to Amanda that I've found until now is Bacula. While most of the other systems mostly seem to focus on small backups to harddrive or CD/DVD, Bacula is a real client/server backup system (like Amanda) that caters for users who backup a network of multiple clients/servers to tape (ie it has built-in tape/volume handling, scheduling, ...) or other storage systems. Given the problems Amanda had with backing up Win32 machines (when the Samba team changed a single line of output, my whole backup system fell apart) and handling the spanning of backups to multiple tapes, I've migrated to Bacula (that has 'native' backup agents for Win32 and supports tape spanning like everybody else) and never looked back again.
Re: I Use Amanda - but am going to move to something else
I came across this,
http://www.tpci.com/linux_backup_software.htm
it may interest you.