-
-Chapter 13. How to use the Amanda file-driver
-Prev Part III. HOWTOs Next
-
--------------------------------------------------------------------------------
-
-Chapter 13. How to use the Amanda file-driver
-
-
-Stefan G. Weichinger
-
-Original text;XML-conversion;Updates
-AMANDA Core Team
-<sgw@amanda.org>
-Table of Contents
-
-
- Introduction
-
- Possible_Uses
-
- Setup
-
-
- Basics
-
-
- Recovery
-
-This document covers the use of the file-driver in Amanda 2.4.3 and higher.
-Examples given here have been taken from a SuSE-Linux-8.2-Pro-environment,
-using Amanda 2.4.4p1 and the snapshot 2.4.4p1-20031202. Please adjust paths,
-configuration names and other parameters to your system.
-Stefan G. Weichinger, November - December, 2003 ; minor updates in April, 2005.
-
-Introduction
-
-Since release 2.4.3 Amanda supports the usage of a output driver called "file".
-See man amanda, section OUTPUT DRIVERS, for more information on its
-implementation. As the name suggests, this driver uses files as virtual (or
-file) tapes. Once created and labeled, these file tapes can be selected and
-changed with the standard tape-changer-interface of the Amanda server.
-
- Possible Uses
-
-
-* test installations
- You can easily explore the rich features of Amanda on systems without tape
- drives.
-* cheap installations
- Without buying a tape drive you can enjoy the benefits of Amanda and backup
- to a bunch of harddisks. You can create CD/DVD-sized backups which you can
- burn onto optical disks later.
-* disk-based installations
- You can use the file-driver to backup onto a set of file tapes hosted on a
- bunch of hard-disks or a RAID-system. Combined with another Amanda-
- configuration that dumps the file tapes to real tapes, you can provide
- reliable backup with faster tapeless recovery. This is called "disk-to-disk-
- to-tape"-backup by some people today.
-
-
- Setup
-
-
- Basics
-
-This guide assumes you have setup the basic Amanda-services as described in
-Amanda_Installation_Notes
-The configuration in this HOWTO is called "daily". The file tapes are also
-called vtapes in this document, which stands for "virtual tapes".
-Please be sure to understand the differences between holding disks and file
-tapes. The two serve different purposes; holding disks allow for parallelism of
-multiple DLE's being backed up while file tapes are a replacement for physical
-tapes.
-Before beginning you will need to decide on (a) dedicated part(s) of your hard
-disk(s) for your file tape storage. While this space could be spread among
-several file systems and hard disks, I recommend to dedicate at least a
-specific partition, better a specific physical harddisk to the task of keeping
-your vtapes. The use of a dedicated disk will speed things up definitely.
-The disk space you dedicate for your vtapes should NOT be backed up by Amanda.
-Also, for performance reasons there should be NO holding disks on the same
-partition as the vtapes, preferably not even on the same physical drive.
-If you only have one harddisk, it will work out, too, but you will suffer low
-performance due to massive head-moving in your harddisk, resulting from copying
-data between the filesystems.
-Steps
-
- 1. Prepare the filesystem(s) used for the tapes.
- Decide on where to put your files, create the appropriate partition(s) and
- filesystem(s) and mount them.
- In our example we have the dedicated partition hdc1, mounted on /
- amandatapes for vtape storage.
-
- $ mount
- [...]
- /dev/hdc1 on /amandatapes type reiserfs (rw)
- [...]
-
-
- Make sure there is space left. Determine the amount of space you will use.
-
- $ df -h /amandatapes
- Filesystem Size Used Avail Use% Mounted on
- /dev/hdc1 20G 0G 20G 0% /amandatapes
-
-
- In our example we have 20GB diskspace left on /amandatapes.
- 2. Determine length and number of tapes
- After deciding on the number of vtapes you want to create, evenly allocate
- the available space among them.
- Look at the following rule of thumb:
- As many filesystems exhibit dramatically reduced performance when they are
- nearly full I have chosen to allocate only 90% of the available space. So
- we have:
- (Available Space * 0.9) >= tapelength * tapecycle
- This is a very conservative approach to make sure you don´t suffer any
- performance drop due to a nearly-full-filesystem.
- As it is uncommon for Amanda to fill, or almost fill an entire tape you
- may also wish to use more space than that.
- So you could determine possible combinations of tapelength/tapecycle with
- the more general formula:
- Available Space >= tapelength * tapecycle
- In our example we take the conservative approach:
-
- * 20 GB * 0.9 = 18 GB to use
- and so we could create the following combinations:
-
-
- * 18 GB = 18 GB * 1
- * 18 GB = 9 GB * 2
- * 18 GB = 6 GB * 3
- * 18 GB = 3 GB * 6
- * 18 GB = ......... you get the picture.
-
- Using only one tape is generally considered a bad idea when it comes to
- backup, so we should use at least 3 tapes (for testing purposes), better 6
- or more tapes.
-
- * 18 GB = 3 GB * 6
- so we get the value 3 GB for the tapelength if we want to use 6 tapes.
-
- 3. Create a tapetype definition.
- Add a new tapetype definition similar to the following to your
- amanda.conf. I named my definition "HARD-DISK". Choose whatever name you
- consider appropriate.
-
- define tapetype HARD-DISK {
- comment "Dump onto hard disk"
- length 3072 mbytes # specified in mbytes to get the exact size of 3GB
- }
-
-
- You don´t have to specify the parameter speed (as it is commonly listed in
- tapetype definitions and reported by the program amtapetype). Amanda does
- not use this parameter right now.
- There is also an optional parameter filemark, which indicates the amount
- of space "wasted" after each tape-listitem. Leave it blank and Amanda uses
- the default of 1KB.
- 4. Think about tapechangers.
- As you will use a set of vtapes, you have to also use a kind of vtape-
- changer. There are several tape-changer-scripts included in the Amanda-
- tarball. Read more about tape-changer-scripts in Amanda_Tape_Changer
- Support.
- Right now there are two scripts that can be used with vtapes. These
- scripts take different approaches to the handling of tapes.
- The script chg-multi handles many drives with a tape in each drive. The
- script chg-disk handles a library with one drive and multiple tapes.
- So with vtapes you could look at it this way:
- chg-multi simulates multiple tape drives with one tape in each drive. chg-
- disk simulates one tape-library with multiple tapes in.
- As chg-multi exists for a much longer time than chg-disk, it is still used
- in many Amanda-vtape-installations.
- chg-disk was introduced with the snapshot 20031202. Contrary to chg-multi,
- which is a generic changer-script that must be somewhat adjusted to the
- use of the file-driver, chg-disk offers exactly the behavior needed for
- handling vtapes
- IMHO the approach is much more logical, so I recommend to use chg-disk in
- new Amanda-vtape-installations.
-
- Note
-
- To use chg-disk you need to have at least amanda-2.4.4p1-20031202.
- Choose the one that fits your way of vtape-handling and -maintenance.
- In this HOWTO I only cover the use of chg-disk. Usage of chg-multi is
- pretty similar and will maybe covered in a later version of this document.
- 5. Set up your tape-config.
- In the general section you have to set the parameters tapecycle , tapetype
- , tpchanger , changerfile , tapedev , rawtapedev and changerdev.
- Example:
-
- $ vi /usr/local/etc/amanda/daily/amanda.conf
- ...
-
- tapecycle 6
- tapetype HARD-DISK
- tpchanger "chg-disk"
- changerfile "/usr/local/etc/amanda/daily/changer"
- tapedev "file:/amandatapes/daily"
-
-
- This reflects the use of your defined tapetype.
- The parameter tapecycle tells Amanda how much tapes can be used, Set this
- value according to the number of tapes you want to use.
- The parameter tapetype , points to the tapetype definition you have
- created before.
- The parameter tpchanger tells Amanda to use the generic tape-changer-
- script to handle the vtapes. You can think of it as a virtual tape-
- changer-device.
- The parameter changerfile is used to give chg-disk the "prefix" for the
- "%s-changer, %s-clean, %s-slot" files it needs. Use something like
- "changer" in your config-dir. Please note that this file does NOT have to
- exist, but it won't hurt anyway.
- The parameter tapedev tells the chg-disk-script where the root-dir for
- your vtapes is.
- In our example the vtape-files go to /amandatapes.
- To separate multiple configurations, we decided to use subdirectories
- according to the configuration name "daily".
-
- Note
-
- The parameter changerdev is NOT needed with chg-disk as it is not parsed
- by chg-disk.
- 6. Create the virtual tapes.
-
- Note
-
- Gene Heskett has committed a shell-script which creates and labels the
- vtapes in one step. Stefan G. Weichinger will generalize this script and
- contribute it, this script will just read your settings in amanda.conf and
- create the appropriate vtape-directories.
- Now you have to create the tape-directories. chg-disk needs a directory
- structure like:
-
- slot_root_dir -|
- |- info
- |- data -> slot1/
- |- slot1/
- |- slot2/
- |- ...
- |- slotn/
-
-
- where 'slot_root_dir' is the tapedev 'file:xxx' parameter and 'n' is the
- tapecycle parameter.
- So in our example we do:
-
- $ mkdir /amandatapes/daily
-
-
- for the 'slot_root_dir' and
-
- $ mkdir /amandatapes/daily/slot1
- $ mkdir /amandatapes/daily/slot2
- ....
-
-
- for the virtual slots that will later contain the vtapes.
- If you have many vtapes to create and their names follow a pattern you may
- be able to do them all with a single loop such as:
-
- $ for n in 1 2 3 4 5 6 7 8 9 10 11 12
- > do
- > mkdir /amandatapes/daily/slot${n}
- > done
-
-
- Create the info-file:
-
- $ touch /amandatapes/daily/info
-
-
- and link the first slot to the data-file (to "load" the vtape into the
- first slot):
-
- $ ln -s /amandatapes/daily/slot1 /amandatapes/daily/data
-
-
- Make sure the Amanda-user has write-permissions on these directories:
-
- $ chown -R amanda_user /amandatapes
- $ chgrp -R amanda_group /amandatapes
- $ chmod -R 750 /amandatapes
-
-
- 7. Label the virtual tapes.
- As the virtual tapes are handled just like physical tapes by the Amanda-
- Server they have to be labeled before use.
-
- Usage: amlabel [-f] <conf> <label> [slot <slot-number>]
-
-
- Example:
-
- $ amlabel daily daily1 slot 1
- ....
- $ amlabel daily daily2 slot 2
- ....
-
-
- If you have many vtapes to label and their names follow a pattern you may
- be able to do them all with a single loop such as:
-
- $ for n in 1 2 3 4 5 6 7 8 9 10 11 12
- > do
- > amlabel daily daily${n} slot ${n}
- > done
-
-
- Label all your created tapes according to the "labelstr"-parameter in your
- amanda.conf. Consult the amlabel-man-page for details.
- 8. Test your setup with amcheck.
- Run amcheck daily (or, more general, amcheck <config>) and look for
- anything Amanda complains about.
- A proper output looks like:
-
- $ amcheck daily
- Amanda Tape Server Host Check
- --
- Holding disk /amhold: 6924940 KB disk space available,
- that's plenty
- amcheck-server: slot 2: date 20031115 label daily02
- (exact label match)
- NOTE: skipping tape-writable test
- Tape daily02 label ok
- Server check took 0.377 seconds
-
-
- Recheck your files if errors occur.
-
-
- Recovery
-
-Recovering files from vtapes is very similar to recovering files from a "real"
-tapechanger.
-Make sure you read the chapter Restore.
-I will simply paste a amrecover-session here (provided by JC Simonetti, author
-of chg-disk):
-
- # /usr/local/amanda/sbin/amrecover woo
- AMRECOVER Version 2.4.4p3. Contacting server on backupserver.local ...
- 220 backupserver Amanda index server (2.4.4p3) ready.
- 200 Access OK
- Setting restore date to today (2004-10-08)
- 200 Working date set to 2004-10-08.
- Scanning /BACKUP2/holding...
- Scanning /BACKUP/holding...
- 200 Config set to woo.
- 200 Dump host set to backupserver.local.
- Trying disk /tmp ...
- $CWD '/tmp/RECOVER' is on disk '/tmp' mounted at '/tmp'.
- 200 Disk set to /tmp.
- Invalid directory - /tmp/RECOVER
- amrecover> sethost backupserver.local
- 200 Dump host set to backupserver.local.
- amrecover> setdisk /
- 200 Disk set to /.
- amrecover> cd /etc
- /etc
- amrecover> add passwd
- Added /etc/passwd
- amrecover> list
- TAPE B3_14 LEVEL 0 DATE 2004-09-26
- /etc/passwd
- amrecover> extract
-
- Extracting files using tape drive file:/BACKUP2/slots/ on host
- backupserver.local. The following tapes are needed: B3_14
-
- Restoring files into directory /tmp/RECOVER
- Continue [?/Y/n]? Y
-
- Extracting files using tape drive file:/BACKUP2/slots/ on host
- backupserver.local. Load tape B3_14 now
- Continue [?/Y/n/s/t]? Y
- ./etc/passwd
- amrecover> quit
- 200 Good bye.
-
-Nothing spectacular? The trick is this:
-When Amanda asks you
-
- Load tape B3_14 now Continue [?/Y/n/s/t]?
-
-you have to run the following in a second terminal:
-
- $ amtape woo slot 14
- amtape: changed to slot 14 on file:/BACKUP2/slots/
-
-This step is necessary to load the proper tape into your virtual changer.
-Let me express this in a more general way:
-When amrecover prompts for the tape it needs to restore the files you
-requested, you have to "load" the tape it requests.
-The recommended way to do this is to use amtape. The options that make sense in
-this context are:
-
- # amtape
- Usage: amtape <conf> <command>
- Valid commands are:
- [...]
- slot <slot #> load tape from slot <slot #>
- [...]
- label <label> find and load labeled tape
- [...]
-
-
-If you know which slot contains the requested tape (for example, if you have
-tape daily01 in slot 1, tape daily02 in slot 2, and so on) you may use the
-first option. If you just know the label of the tape you need, use the second
-option.
-To continue the upper example:
-
- amtape woo slot 14 # option 1 OR
- amtape woo label B3_14 # option 2
-
-amtape will return something like:
-
- amtape: label B3_14 is now loaded.
-
-After this you can return to your amrecover-session and continue restoring your
-files.
-Please be aware of the fact reported by JC Simonetti: " I have never never used
-the "settape" command of amrecover [with chg-disk] since there's some problems
-with it (tape not loaded correctly, or impossible to change from tape to tape
-when restoring data shared accross multiple tapes...) "
-
-Note
-
-Refer to http://www.amanda.org/docs/howto-filedriver.html for the current
-version of this document.
--------------------------------------------------------------------------------
-
-Prev Up Next
-Chapter 12. Amanda on Cygwin HOWTO Home Chapter 14. AFS HOWTO
-