Amanda uses a taperscan algorithm to select volumes on which to store dumps. Historically Amanda has provided only one, fairly complex taperscan algorithm, but this algorithm did not suit the needs of all users. Now Amanda offers a wide array of algorithms to suit varied needs. Adding new algorithms is not difficult.
The taperscan algorithm is specified with the taperscan parameter, which has a default value of traditional.
Taperscan algorithms are implemented as perl packages with the prefix Amanda::Taper::Scan::. See the perl documentation for Amanda::Taper::Scan for more information.
In general, these volumes will only select reusable volumes. These are volumes which are listed in the tapelist(5) with the reuse flag, and which are not among the tapecycle-1 most recent volumes in the list. Put another way, reusable volumes do not contain data that must be retained. Note that if fewer than tapecycle-1 volumes have been written then there are no reusable volumes. Newly labeled volumes (volumes that have been labeled with amlabel but never used) are considered reusable.
Many of these algorithms look for the oldest reusable volume. In most cases, this is the best volume to overwrite, as the data it contains is older than that on any other volume. If there are no reusable volumes, then there is no oldest reusable volume.
This algorithm duplicates Amanda's historical behavior, and it operates in two stages.
First, if there is an oldest reusable volume and if the changer supports "fast" searches, then the algorithm uses the changer to search for that volume. Newly labeled volumes are not considered when calculating the oldest reusable volume. Consequently, this taperscan algorithm prefers volumes which have been used before to newly-labeled volumes when a fast-searchable changer is in use.
Second, if there is no oldest reusable volume, or if that volume is not available in the changer, then the algorithm begins a sequential scan of the changer, starting at the current slot. It selects the first suitable volume it finds: a reusable volume (perhaps newly-labeled) or, if autolabel includes empty, a blank volume. Even across multiple invocations (when runtapes > 1), it will not return the same slot twice.
amanda(8), amanda.conf(5), tapelist(5), amanda-changers(7)
The Amanda Wiki: : http://wiki.zmanda.com/
Dustin J. Mitchell <firstname.lastname@example.org>