The A to B of backup
Last month, we looked at various essential open-source utilities and highlighted two network backup systems: the well-known Amanda suite and the lesser-known Bacula. Well, the time has come for a shoot-out between Amanda with Bacula to recommend which offers the best open-source backup.
Amanda started life around ten years ago at the University of Maryland as the Advanced Maryland Automatic Network Disk Archiver and is now a mature product. In 1999, development was transferred to SourceForge – download it from http://sourceforge.net/projects/amanda – and this year it spun off a commercial product under the Zmanda brand. (Like many open-source products that go commercial, Zmanda promises to maintain an open-source version of subsequent developments.) Amanda comes bundled with a number of Linux distributions, and packages for more recent versions can be downloaded from www.zmanda.com, while packages for Solaris are available from the usual repositories including BlastWave. There’s currently no Windows version of Amanda, but we’ll mention ways around this gap below.
Amanda is a network archiving suite composed of two main parts: a central server and a client that runs on each workstation to be backed up. It doesn’t have its own backup program or backup format, but instead uses any backup program that’s available on the workstations for local backup. For example, on Solaris it can use the ufsbackup/ufsrestore programs, while on Linux it will use dump or more likely GNU tar. In essence, then, Amanda is a network extension of a local dumping strategy, but some care must be taken with this approach. For example, if you had both Linux and Solaris machines in your network, a backup created with ufsrestore on Solaris couldn’t be restored onto Linux, whereas using GNU tar it could.
As mentioned above, there’s no Amanda client for Windows, but it’s possible to back up Windows machines by using Samba – the application suite that provides Windows networking facilities for Unix – to export your Windows files onto a Unix box and have Amanda back them up from there. Note that this isn’t going to be a very good backup, because if you use any complex permissions on the Windows machine they’re most unlikely to back up and restore properly. As the Amanda server software runs on Unix, it supports virtually every tape drive you’ve ever heard of and also has good support for tape libraries and disk-to-disk backups. With a bit of thought, it can also be used for backing up to CD-ROM or writable DVD.
Generally, when you’re backing up a system, you have to implement some backup strategy, which typically starts with a full backup that copies every file on the disk or partition you’re backing up. This full, or “level zero”, backup will then be followed by an incremental, or “level one”, backup that catches just those files that have changed or been added since the level zero backup. There may subsequently be level two or three backups to back up those files that have changed since the last level one or level two, and eventually you’ll run out of empty media (for example, tapes) and have to start again with another level zero. This style of backup regime poses a problem as to how files are restored. Let’s assume you took a level zero backup on Sunday and then level one backups on Monday, Tuesday and Wednesday. On Thursday, a problem occurs and you need to carry out a restore: in this case, you’d restore the last level zero backup (from Sunday) and just the most recent level one backup (from Wednesday). If you’d taken level one backups on Monday, level two on Tuesday and level three on Wednesday, you’d have to restore from all four tapes on Thursday.