NAME amanda-changers - Configuring and Using Amanda Changers

DESCRIPTION Amanda uses changers to arbitrate access to devices (amanda-devices(7)) and data volumes. Changers provide an abstraction of tape robots, but are used to manage non-tape media, too. Amanda communicates with changers through the Changer API. This manpage contains a user-level overview of the API, and does not address details that are only of concern to developers. For that purpose, consult the Amanda source code and

TRANSITION The Amanda Changer API is in transition from version 1.0 - driven by shell scripts invoked for each changer operation - to version 2.0, composed of perl objects that can manage parallel access to multiple devices and other complexity. When this transition is complete, Amanda devices will, in general, be specified via a changer, which will provide the necessary device specifier to access a requested volume. In the interim, support for the "new" changer syntax is limited to the experimental amvault(8).

SPECIFYING CHANGERS Changer specifications are strings like chg-disk:/my/vtapes. The chg- prefix serves to differentiate changers from devices (see amanda- devices(7)). The next portion (disk, in this case) identifies the particular changer driver to use, and everything that follows the : is interpreted by the driver.

A name which does not match this pattern, but which matches an old changer script (e.g., chg-zd-mtx), invokes the backward-compatibility changer driver as chg-compat:chg-zd-mtx. If the name does not match an old changer, then it is treated as an Amanda device, and is wrapped by the single-device changer, e.g., chg-single:tape:/dev/rmt/0.

Changers which require additional parameters can also be described in amanda.conf(5) with "changer" sections, for example,

define changer hp-robot { tapedev "chg-robot:/dev/sg1" property "drives" "0=/dev/nst0;1=/dev/nst0" property "slots" "1-10" } (note that "chg-robot" is not yet implemented, so this is hypothetical). A changer defininition creates a changer "alias", in this case named hp-robot, which can then be named where an application expects a changer - for example, the target of the amvault command.

CHANGER DRIVERS This section lists the changer drivers included with Amanda, and basic instructions for using them. For complete How-To information, consult the Amanda wiki at

chg-disk (new) tpchanger "chg-disk:/u01/vtapes"

This changer driver replaces the old chg-disk, supporting parallel access to vtapes stored in directories named slotN in the directory specified after chg-disk:. It does so by creating numbered "drives" so that simultaneous processes can access distinct slots.

chg-disk (old) tapedev "file:/u01/vtapes" tpchanger "chg-disk"

This changer script supports sequential access to vtapes stored in directories named slotN in the directory specified by the tapedev parameter.

chg-multi tpchanger "chg-multi" changerfile "chg-multi-state"

This script simply round-robins a number of distinct device names, as specified in its configuration file. It is useful when all volumes for a configuration have different device names -- for example, with S3 devices. The changerfile need not exist; it is used as a prefix for filenames of state files.

chg-manual tpchanger "chg-manual" changerfile "chg-manual.conf"

This script simply provides distinct device names in a round-robin fashion, as specified in its configuration file. It is useful when all volumes for a configuration have different device names -- for example, with S3 devices. The configuration file parameters are (as listed in the script):

resend_mail=900 # resend mail every __ seconds timeout_mail=604800 # time out after this many seconds (default 7 days) request="[type]" # How to request a new tape (default "tty_email") request="tty" # Use the tty to ask the user to change tape. # Can´t be use by cron request="email" # Send an email to ask the user to change tape. request="tty_email" # Use the tty if it exist or send an email.

chg-zd-mtx tpchanger "chg-zd-mtx" changerdev "/dev/sg0" # used with ´mtx -f´ changerfile "chg-zd-mtx.conf" tapedev "tape:/dev/nst0"

This script interfaces with a tape drive using the Zubkoff/Dandelion version of mtx. That´s the version that takes a device specifier with the -f option and has subcommands like status. The configuration file parameters are (as listed in the script itself):

firstslot=? #### First storage slot (element) lastslot=? #### Last storage slot (element) cleanslot=-1 #### Slot with cleaner tape -- default is "-1" #### Set negative to indicate no cleaner available driveslot=0 #### Drive slot number. Defaults to 0 #### Use the ´Data Transfer Element´ you want autoclean=0 #### Set to ´1´ or greater to enable autocleancount=99 #### Number of access before a clean. havereader=0 #### If you have a barcode reader, set to 1. offline_before_unload=0 #### Does your robot require an #### ´mt offline´ before mtx unload? poll_drive_ready=NN #### Time (seconds) between tests to see if #### the tape drive has gone ready (default: 3). max_drive_wait=NN #### Maximum time (seconds) to wait for the #### tape drive to become ready (default: 120). initial_poll_delay=NN #### initial delay after load before polling for #### readiness slotinfofile=FILENAME #### record slot information to this file, in #### the line-based format "SLOT LABEL0

chg-rait tpchanger "chg-rait" changerfile "chg-rait.conf"

This changer script constructs RAIT devices out of the devices provided by several "sub-changers". The configuration file specifies nchangers, the number of subchangers, and then provides tpchanger, changerdev_N, changerfile_N, and tpchanger_N for each sub-changer, 1 through N.

chg-null tpchanger "chg-null"

This changer always provides the device "null:". It is sometimes useful in conjunction with chg-rait.

Unmaintained Changers Amanda has many other changer scripts and programs beyond those described here (see the changer-src/ in the source directory), but most of these scripts are unmaintained and undocumented, and will be removed when the new changer API is fully implemented.

SEE ALSO amanda(8), amanda.conf(5), amanda-devices(7),

AUTHOR Dustin J. Mitchell <> Zmanda, Inc. (

Amanda 2.6.1p2 11/05/2009 AMANDA-CHANGERS(7)