Two ways to have Amanda always make full backups of a filesystem

July 4, 2021

Amanda (also) is the open source backup system that we use to run our disk-based backups (which I see is now more than ten years old and we're still happy with its design). Amanda normally does full backups of your filesystems once in a while and then various levels of incrementals until the next full backup. However, sometimes there are various reasons that you want to always do full backups of a particular filesystem; it may be faster, it may be better for disaster recovery, or whatever. Over our use of Amanda so far, we've used two different Amanda mechanisms for this and have developed a distinct preference for one of them.

The first and most obvious method is a cron job that runs 'amadmin <yourconfig> force targethost /target/fs' before you start your backups. The second and less obvious way is to set a dumpcycle in a special amanda.conf dumptype and use it for the filesystem or filesystems that you want to always be backed up with full backups. We used the first method for years, but switched to the second one a few years ago.

The two methods have an assortment of relatively obvious small tradeoffs. For example, it's easy to temporarily stop always doing full backups with the first method; you comment out the cron job or whatever; with the second method, you have to change your dumptypes around. The second method is more visible in your disklist. And so on. However, there is a big operational difference between the two, and that is what happens if your tapes fill up and Amanda has no room to do a full dump.

(One of the way to have tapes 'fill up' is to have no tapes available for some reason.)

When you force full dumps with amadmin, Amanda will skip dumping the filesystem rather than fall back to an incremental dump. This is in a sense fair; you told Amanda to do a full dump and it can't do one, so it's not doing anything. But it may well be surprising and not what you actually want. By contrast, if you set the dumpcycle to 0, Amanda will do incrementals if it has to because Amanda considers the dump cycle length to be a goal instead of a hard requirement.

In some environments, attempting an incremental dump may be sufficiently useless or harmful that you'd rather Amanda not even try. In our environment, we would rather have incrementals than nothing, and so we've switched from forcing with amadmin to setting the dumpcycle to 0.

(The corollary of this is that if you set 'dumpcycle 0', you probably want to keep an eye on your dump reports to see if Amanda is able to reliably deliver on this. Probably it will.)

Written on 04 July 2021.
« Some brief notes on turning Firefox bookmarklets into convenient buttons
Losing track of part of our Amanda configuration and then recovering it »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Jul 4 00:57:01 2021
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.