Amanda: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
(point to autogenerated)
 
Line 1: Line 1:
== Name ==
See {{man|8|amanda}}.
 
amanda — Advanced Maryland Automatic Network Disk Archiver
 
== Synopsis ==
 
'''amadmin''' config command [options]
 
'''amcheck''' [options] config
 
'''amcheckdb''' config
 
'''amcleanup''' config
 
'''amcrypt'''
 
'''amdd''' [options]
 
'''amdump''' config [ host [disk...]...]
 
'''amaespipe'''
 
'''amflush''' [-f ] config
 
'''amgetconf''' [config] parameter
 
'''amlabel''' config label [ slot slot ]
 
'''ammt''' [options]
 
'''amoverview''' config [options]
 
'''amplot''' [options] amdump-files
 
'''amrecover''' [config] [options]
 
'''amreport''' [config] [options]
 
'''amrestore''' [options] tapedevice [ hostname [diskname]]
 
'''amfetchdump''' [options] config [ hostname [diskname [date [ level ]]]]
 
'''amrmtape''' [options] config label
 
'''amservice''' hostname auth service [-f input_file] [-o configoption]...
 
'''amstatus''' config [options]
 
'''amtape''' config command [options]
 
'''amtapetype''' [options]
 
'''amtoc''' [options] logfile
 
'''amcheckdump''' [options] config
 
'''amserverconfig''' [options] config
 
'''amaddclient''' [options] config
 
== DESCRIPTION ==
 
AMANDA is the "Advanced Maryland Automatic Network Disk Archiver". This manual page gives an overview of the AMANDA commands and configuration files for quick reference.
 
Here are all the AMANDA commands. Each one has its own manual page. See them for all the gory details.
 
; [[amdump]] : Take care of automatic AMANDA backups. This is normally executed by cron on a computer called the tape server host and requests backups of file systems located on backup clients. Amdump backs up all disks in the disklist file (discussed below) to tape or, if there is a problem, to a special holding disk. After all backups are done, amdump sends mail reporting failures and successes.
 
; [[amflush]] : Flush backups from the holding disk to tape. Amflush is used after amdump has reported it could not  write backups to tape for some reason. When this happens, backups stay in the holding disk. Run amflush after the tape problem is corrected to write backups from the holding disk to tape.
 
; [[amcleanup]] : Clean up after an interrupted amdump. This command is only needed if amdump was unable to complete  for some reason, usually because the tape server host crashed while amdump was running.
 
; [[amrecover]] : Provides an interactive interface to browse the AMANDA index files (backup image catalogues) and select  which tapes to recover files from. It can also run amrestore and a restore program (e.g. tar) to actually  recover the files.
 
; [[amrestore]] : Read an Amanda tape, searching for requested backups. Amrestore is suitable for everything from interactive restores of single files to a full restore of all partitions on a failed disk.
 
; [[amfetchdump]] : Performs Amanda tape restoration, similar to amrestore. Additional capabilities include "hands-off" searching of multiple tapes, automatic retrieval of specific dump files based on dump logs, and assembly of tape-spanning split dump files.
 
; [[amlabel]] : Write an Amanda format label onto a tape. All Amanda tapes must be labeled with amlabel. Amdump and amflush will not write to an unlabeled tape (see TAPE MANAGEMENT below).
 
; [[amcheck]] : Verify the correct tape is mounted and all file systems on all backup client systems are ready to be backed up. Often run by cron before amdump to generate a mail warning that backups might fail unless corrective action is taken.
 
; [[amadmin]] : Take care of administrative tasks like finding out which tapes are needed to restore a filesystem, forcing hosts to do full backups of selected disks and looking at schedule balance information.
 
; [[amtape]] : Take care of tape changer control operations like loading particular tapes, ejecting tapes and scanning the tape storage slots.
 
; [[amcheckdump]] : Check the results of an Amanda dump.
 
; [[amserverconfig]] : Program to setup initial Amanda configuration.
 
; [[amaddclient]] : Program to add client to an existing Amanda configuration.
 
; [[amrmtape]] : Delete a tape from the Amanda databases.
 
; [[amstatus]] : Report the status of a running or completed amdump.
 
; [[amservice]] : Run an amanda service on a client
 
; [[amoverview]] : Display a chart of hosts and file systems backed up every run.
 
; [[amplot]] : Generate utilization plots of AMANDA runs for performance tuning.
 
; [[amreport]] : Generate an AMANDA summary E-mail report.
 
; [[amtoc]] : Generate table of content files for AMANDA tapes.
 
; [[amcheckdb]] : Verify every tape AMANDA knows about is consistent in the database.
 
; [[amgetconf]] : Look up parameters in the AMANDA configuration file.
 
; [[amtapetype]] : Generate a tapetype definition.
 
; [[amaespipe]] : Wrapper program for aespipe (data encryption utility)
 
; [[amcrypt]]: Reference encryption program for Amanda symmetric data encryption
 
== CONFIGURATION ==
 
There are three user-editable files that control the behavior of AMANDA.
 
The first is amanda.conf, the main configuration file. It contains parameters to customize AMANDA for the site. Refer to the amanda.conf(5), manpage for details on AMANDA configuration parameters.
 
Second is the disklist file, which lists hosts and disk partitions to back up.
 
Third is the tapelist file, which lists tapes that are currently active. These files are described in more detail in the following sections.
 
All files are stored in individual configuration directories under /usr/local/etc/amanda/. A site will often have more than one configuration. For example, it might have a normal configuration for everyday backups and an archive configuration for infrequent full archival backups. The configuration files would be stored under directories /usr/local/etc/amanda/normal/ and /usr/local/etc/amanda/archive/, respectively. Part of the job of an AMANDA administrator is to create, populate and maintain these directories.
 
All log and database files generated by AMANDA go in corresponding directories somewhere. The exact location is controlled by entries in amanda.conf. A typical location would be under /var/adm/amanda. For the above example, the files might go in /var/adm/amanda/normal/ and /var/adm/amanda/archive/.
 
As log files are no longer needed (no longer contain relevant information), AMANDA cycles them out in various ways, depending on the type of file.
 
Detailed information about amdump runs are stored in files named amdump.NN where NN is a sequence number, with 1 being the most recent file. Amdump rotates these files each run, keeping roughly the last tapecycle (see below) worth of them.
 
The file used by amreport to generate the mail summary is named log.YYYYMMDD.NN where YYYYMMDD is the datestamp of the start of the amdump run and NN is a sequence number started at 0. At the end of each amdump run, log files for runs whose tapes have been reused are renamed into a subdirectory of the main log directory (see the logdir parameter below) named oldlog. It is up to the AMANDA administrator to remove them from this directory when desired.
 
Index (backup image catalogue) files older than the full dump matching the oldest backup image for a given client and disk are removed by amdump at the end of each run.
 
== DISKLIST FILE ==
 
The disklist file determines which disks will be backed up by Amanda.  The generic term ''[[DLE]]'' (DiskList Entry) refers to an individual entry in this file.  The file usually contains one line per disk:
 
hostname diskname [diskdevice] dumptype [spindle [interface] ]
 
All pairs [ hostname diskname ] must be unique.
 
Lines starting with # are ignored, as are blank lines. The fields have the following meanings:
 
; hostname : The name of the host to be backed up. If diskdevice refers to a PC share, this is the host Amanda will run the Samba smbclient program on to back up the share.
 
; diskname : The name of the disk (a label). In most case, you set your diskname to the diskdevice and you don't set the diskdevice. If you want multiple entries with the same diskdevice, you must set a different diskname for each entry. It's the diskname that you use on the commandline for any Amanda command. Look at the example/disklist file for example.
 
; diskdevice : Default: same as diskname. The name of the disk device to be backed up. It may be a full device name, a device name without the /dev/ prefix, e.g. sd0a, or a mount point such as /usr.  It may be any directory when the program option in the dumptype is set to GNUTAR.  It may also refer to a PC share by starting the name with two (forward) slashes, e.g. //some-pc/home. In this case, the program option in the associated dumptype must be entered as GNUTAR. It is the combination of the double slash disk name and program GNUTAR in the dumptype that triggers the use of Samba.
 
; dumptype : Refers to a dumptype defined in the amanda.conf file. Dumptypes specify backup related parameters, such as whether to compress the backups, whether to record backup results in /etc/dumpdates, the disk's relative priority, etc.
 
; spindle : Default: -1. A number used to balance backup load on a host. Amanda will not run multiple backups at the same time on the same spindle, unless the spindle number is -1, which means there is no spindle restriction.
 
; interface : Default: local. The name of a network interface definition in the amanda.conf file, used to balance network load.
 
Instead of naming a dumptype, it is possible to define one in-line, enclosing dumptype options within curly braces, one per line, just like a dumptype definition in amanda.conf. Since pre-existing dumptypes are valid option names, this syntax may be used to customize dumptypes for particular disks.
 
A line break must follow the left curly bracket. The right curly bracket must be the first (non-whitespace) character on a line.
 
For instance, if a dumptype named normal is used for most disks, but use of the holding disk needs to be disabled for the file system that holds it, this would work instead of defining a new dumptype:
 
hostname diskname [ diskdevice ] {
    normal
    holdingdisk never
  } [ spindle [ interface ] ]
 
== TAPE MANAGEMENT ==
 
The tapelist file contains the list of tapes in active use. This file is maintained entirely by AMANDA and should not be created or edited during normal operation. It contains lines of the form:
 
YYYYMMDD label flags
 
Where YYYYMMDD is the date the tape was written,
label is a label for the tape as written by amlabel and
flags tell AMANDA whether the tape may be reused, etc (see the reuse options of [[amadmin]]).
 
[[Amdump]] and [[amflush]] will refuse to write to an unlabeled tape, or to a labeled tape that is considered active. There must be more tapes in active rotation (see the tapecycle option) than there are runs in the backup cycle (see the dumpcycle option) to prevent overwriting a backup image that would be needed to do a full recovery.
 
== OUTPUT DRIVERS ==
 
The normal value for the tapedev parameter, or for what a tape changer returns, is a full path name to a non-rewinding tape device, such as /dev/nst0 or /dev/rmt/0mn or /dev/nst0.1 or whatever conventions the operating system uses. AMANDA provides additional application level drivers that support non-traditional tape-simulations or features. To access a specific output driver, set tapedev (or configure your changer to return) a string of the form driver:driver-info where driver is one of the supported drivers and driver-info is optional additional information needed by the driver.
 
The supported drivers are:
 
; tape : This is the default driver. The driver-info is the tape device name. Entering
 
tapedev /dev/rmt/0mn
 
: is really a short hand for
 
tapedev tape:/dev/rmt/0mn
 
; null : This driver throws away anything written to it and returns EOF for any reads except a special case is made for reading a label, in which case a "fake" value is returned that AMANDA checks for and allows through regardless of what you have set in labelstr. The driver-info field is not used and may be left blank.
 
tapedev null:
 
: The length value from the associated tapetype is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
 
: '''!!''' This driver should only be used for debugging and testing, and probably only with the record option set to no.
 
; rait :  Redundant Array of Inexpensive Tapes. Reads and writes tapes mounted on multiple drives by spreading the data across N-1 drives and using the last drive for a checksum. See [[Rait|RAIT]] for more information.
 
: The driver-info field describes the devices to use. Curly braces indicate multiple replacements in the string. For instance:
 
tapedev rait:/dev/rmt/tps0d{4,5,6}n
 
: would use the following devices:  /dev/rmt/tps0d4n /dev/rmt/tps0d5n /dev/rmt/tps0d6n
 
; file : This driver emulates a tape device with a set of files in a directory. The driver-info field must be the name of an existing directory. The driver will test for a subdirectory of that named data and return offline until it is present. When present, the driver uses two files in the data subdirectory for each tape file. One contains the actual data. The other contains record length information.
 
: The driver uses a file named status in the file device directory to hold driver status information, such as tape position. If not present, the driver will create it as though the device is rewound.
 
: The length value from the associated tapetype is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
 
: One way to use this driver with a real device such as a CD-writer is to create a directory for the file device and one or more other directories for the actual data. Create a symlink named data in the file directory to one of the data directories. Set the tapetype length to whatever the medium will hold.
 
: When AMANDA fills the file device, remove the symlink and (optionally) create a new symlink to another data area. Use a CD writer software package to burn the image from the first data area.
 
: To read the CD, mount it and create the data symlink in the file device directory.
 
: See [[File driver]] for more information.
 
== AUTHORIZATION ==
 
Amanda processes on the tape server host run as the [[dumpuser]] user listed in [[amanda.conf#PARAMETERS|amanda.conf]]. When they connect to a backup client, they do so with an Amanda-specific protocol. They do not, for instance, use rsh or ssh directly.
 
On the client side, the amandad daemon validates the connection using one of several methods, depending on how it was compiled and on options it is passed:
 
; .rhosts : Even though Amanda does not use rsh, it can use .rhosts-style authentication and a .rhosts file.
;.amandahosts : This is essentially the same as .rhosts authentication except a different file, with almost the same format, is used. This is the default mechanism built into Amanda.
:The format of the .amandahosts file is:
 
    hostname [ username [service]* ]
 
:If username is omitted, it defaults to the user running amandad, i.e. the user listed in the inetd or xinetd configuration file.
 
:The service is is a list of the service the client is authorized to execute:  amdump,  noop,  selfcheck, sendsize, sendbackup, amindexd, amidxtaped. amdump is a shortcut for "noop selfcheck sendsize sendbackup".
 
; Kerberos : Amanda may use the Kerberos authentication system. Further information is in the [[Kerberos_authentication|KERBEROS]] section.
 
;/etc/amandapass : For Samba access, Amanda needs a file called /etc/amandapass on the system using smbclient utility to access the Samba share. This file contains share names, (clear text) passwords and (optional) domain names, in that order, one per line, whitespace separated. By default, the user used to connect to the PC is the same for all PC's and is compiled into Amanda. It may be changed on a host by host basis by listing it first in the password field followed by a percent sign and then the password. For instance:
 
  //some-pc/home normalpw
  //another-pc/disk otheruser%otherpw
 
:With clear text passwords, this file should obviously be tightly protected. It only needs to be readable by the Amanda-user on the Samba server.
 
== HOST & DISK EXPRESSION ==
 
All host and disk arguments to programs are special expressions. The command applies to all disks that match your arguments. This section describes the matcher.
 
The matcher matches by word, each word is a glob expression, words are separated by the separator '.' for host and '/' for disk. You can anchor the expression at left with a '^'. You can anchor the expression at right with a '$'. The matcher is case insensitive for host but is case sensitive for disk. A match succeeds if all words in your expression match contiguous words in the host or disk.
 
. word separator for a host
/ word separator for a disk
^ anchor at left
$ anchor at right
? match exactly one character except the separator
* match zero or more characters except the separator
** match zero or more characters including the separator
 
Some examples:
EXPRESSION    WILL MATCH       WILL NOT MATCH
hosta          hosta               hostb
                hoSTA.dOMAIna.ORG
                foo.hosta.org
host          host               hosta
host?          hosta               host
                hostb
ho*na          hoina               ho.aina.org
ho**na        hoina
                ho.aina.org
^hosta        hosta               foo.hosta.org
sda*          /dev/sda1
                /dev/sda12
/opt/          opt (disk)       opt (host)
.opt.          opt (host)       opt (disk)
/              /               any other disk
/usr          /usr
                /usr/opt
/usr$          /usr               /usr/opt
 
== DATESTAMP EXPRESSION ==
 
A datestamp expression is a range expression where we only match the prefix. Leading ^ is removed. Trailing $ forces an exact match.
 
{|border=0
|20001212-1||match all dates beginning with 20001212, 20001213 or 20001214
|-
|20001212-4||same as previous
|-
|20001212-24||match all dates between 20001212 and 20001224
|-
|2000121||match all dates that start with 2000121 (20001210-20001219)
|-
|2||match all dates that start with 2 (20000101-29991231)
|-
|2000-10||match all dates between 20000101-20101231
|-
|200010$||match only 200010
|}
 
== CONFIGURATION OVERRIDE ==
 
Most commands allow the override of specific configuration options on the command line, using the -o option. This option has the form '''-oname=value'''. An optional space is allowed after the -o. Each configuration option should be specified in a separate command-line option.
 
For global options, name is simply the name of the option, e.g.,
 
amdump -oruntapes=2
 
For options in a named section of the configuration, name has the form SECTION:section_name:name, where SECTION is one of TAPETYPE, DUMPTYPE, HOLDINGDISK, or INTERFACE, and section_name is the name of the tapetype, dumptype, holdingdisk, or interface. Examples:
 
amdump -o TAPETYPE:HP-DAT:length=2000m
amdump -o DUMPTYPE:no-compress:compress="server fast"
amdump -o HOLDINGDISK:hd1:use="-100 mb"
amdump -o INTERFACE:local:use="2000 kbps"
 
Note that configuration overrides are not effective for tape changers, which supply a tapedev based on their own configuration. In order to override tapedev, you must also disable any changer:
 
amdump -otapedev=/dev/nst1 -otpchanger=’’
 
== AUTHOR ==
 
James da Silva, <[email protected]> : Original text
 
Stefan G. Weichinger, <[email protected]>, maintainer of the AMANDA-documentation: XML-conversion, major update
 
== SEE ALSO ==
 
[[amadmin]](8), [[amanda.conf]](5), [[amanda-client.conf]](5), [[amcheck]](8), [[amcheckdb]](8), [[amcleanup]](8), [[amdd]](8), [[amdump]](8), [[amfetchdump]](8), [[amflush]](8), [[amgetconf]](8), [[amlabel]](8), [[ammt]](8), [[amoverview]](8), [[amplot]](8), [[amrecover]](8), [[amreport]](8), [[amrestore]](8), [[amrmtape]](8), [[amstatus]](8), [[amtape]](8), [[amtapetype]](8), [[amtoc]](8), [[amcheckdump]](8), [[amserverconfig]](8), [[amaddclient]](8)

Latest revision as of 20:32, 30 June 2008

See amanda(8).