This file contains answers to some questions that are frequently asked in the Amanda mailing lists, specially by new users. Please take a look at this file before posting, this can save us time that could be spent improving Amanda and its documentation.
You may also want to take a look at the Amanda FAQ-O-Matic http://www.amanda.org/fom-serve/cache/1.html.
Why does Amanda fail to build on my system?
One of the most common reasons for compile-time errors is stale
Another common reason for failure, that causes link-time errors, is
a problem in libtool that causes it to search for symbols in
already-installed amanda libraries, instead of in the just-built ones.
This problem is known to affect SunOS 4.1.3 and FreeBSD. You can
usually work around it by specifying a different prefix when you
configure the new version of Amanda. However, it may not work if the
previous version of Amanda was installed in
You may also want to take a look at Amanda 2.5.0 - System-Specific Installation Notes, as well as to the Amanda Patches Page (http://www.amanda.org/patches/) for other known problems. If everything fails, you should read the manual, but since we don't have one yet, just post a help request to the amanda-users mailing list (mailto://email@example.com), showing the last few lines of the failed build.
Why does amdump report that all disks failed?
Probably because the Amanda clients are not properly configured. Before you ever run amdump, make sure amcheck succeeds. When it does, so should amdump.
Make sure you run amcheck as the same user that is supposed to start amdump, otherwise you may get incorrect results.
Why does amcheck say "port NNN is not secure"?
Because amcheck, as some other Amanda programs, must be installed as setuid-root. Run make install as "root", or chown all Amanda setuid programs to "root", then chown u+s them again, if chown drops the setuid bit.
Why does amcheck claim that the tape is "not an Amanda tape"?
Because Amanda requires you to label tapes before it uses them. Run amlabel in order to label a tape.
If, even after labeling a tape, amcheck still complains about it,
make sure the regular expression specified in
If you have labeled any tapes using the rewiding device configuration, you'll have to label them again.
Why does amcheck report "selfcheck request timed out"?
This can occur under several different situations. First, make sure this problem is repeatable; if Amanda programs are NFS-auto-mounted, some clients may fail to mount the Amanda binaries in time.
If the error is repeatable, log into the client, and check whether
In the latter case, wipe out
Pay special attention to typos in
As soon as you have properly configured
One possibility is that you have run amandad from the command
line prompt and typed anything instead of waiting for it to time-out:
in this case, it will try to read a UDP packet from the keyboard, and
this was reported not to work on most keyboards :-). However, if you
have run amandad as any user other than the one listed in
Another possibility is that the Amanda service was not properly
configured as a UDP service; check
Why does amcheck say "access as <username> not allowed..."?
There must be something wrong with
First, if the <username> is not what you expect (i.e., not what you have specified in the --with-user flag, at configure time), check the inetd configuration file: you must have specified the wrong username there.
Make sure you specify the names exactly as they appear in the error
message after the `@' sign in
Why does amcheck report "ip address #.#.#.#" is not in the ip list list for <hostname>'?
Check your DNS configuration tables. In order to avoid DNS-spoofing, Amanda double-checks hostname<->IP address mapping. If the IP address the request comes from maps to a hostname, but this hostname does not map back to the incoming IP address, the request is denied.
Why does amcheck say "cannot overwrite active tape"?
Because, if you configure Amanda to use N tapes, by setting
tapecycle to N in
If, for some reason, you want to tell Amanda to overwrite a
particular tape, regardless of its position in the cycle, use
amrmtape. This command will remove this tape from the
Why does amcheck tell me "DUMP program not available"?
Because configure could not find dump when it was first run. This is a common problem on Linux hosts, because most Linux distributions do not install dump by default.
If you don't have a DUMP program installed, install it, remove
If you can't or don't want to install DUMP, you may use GNU tar, but make sure it as release 1.12 or newer; release 1.11.8 may work, but estimates will be slow as hell.
Which tape changer configuration should I use in
If you only have one tape unit, you have two choices:
If you have several tape units, which you want to use to emulate a tape changer, you want chg-multi. Even if you do own a real tape changer, that operates based on ejecting a tape or such, chg-multi may be useful.
Actual tape changers usually require specialized changer programs,
such as mtx,
mtx, for example, is available for several platforms. However, even if you find it for your platform, beware that there exist several different programs named mtx, that require different command line arguments, and print different output, and Amanda's chg-mtx does not support them all. You may have to edit the script, which shouldn't be hard to do.
In section BUILT-IN TAPE CHANGERS of Amanda Tape Changer Support you will find details about the tape changer interfacing programs provided with Amanda, that can interact with common tape changer programs and with tape changer-related system calls provided by some operating system. If none of them matches your needs, you may have to develop your own tape changer interface script.
Before posting a question to the Amanda mailing lists, *please* search the archives, and try to obtain as much information about driving your tape changer hardware from the vendor of the changer hardware and of the operating system, rather than from the Amanda mailing lists. We usually don't have much to say about tape changer units, and several questions about them remain unanswered. :-(
Anyway, if you decide to post a question, make sure you specify both the tape changer hardware *and* the OS/platform that is going to interface with it. Good luck! :-)
Where do I get my tapetype-definition from? Do I have to run amtapetype?
It is not mandatory to run amtapetype at installation-time. It is very likely that your tapedrive or -changer is one of the devices that are already covered by one of the existing tapetype-definitions.
You may find tapetype-definitions in the example
Reasons to run amtapetype for your device:
Should I use software or hardware compression?
When you enable software compression, you drastically reduce the compression that might be achieved by hardware. In fact, tape drives will usually use *more* tape if you tell them to try to further compress already compressed data.
Thus, you must choose whether you're going to use software or hardware compression; don't ever enable both unless you want to waste tape space.
Since Amanda prefers to have complete information about tape sizes and compression rates, it can do a better job if you use software compression. However, if you can't afford the extra CPU usage, Amanda can live with the unpredictability of hardware compression, but you'll have to be very conservative about the specified tape size, specially if there are filesystems that contain mostly uncompressible data.
You might want to run amtapetype to determine if you have hardware-compression enabled for your tape-drive.
How can I configure Amanda so that it performs full backups on the week-end and incrementals on weekdays?
You can't. Amanda doesn't work this way. You just have to tell Amanda how many tapes you have (tapecycle), and how often you want it to perform full backups of each filesystem (dumpcycle). If you don't run it once a daily (including Saturdays and Sundays :-), you'll also want to tell Amanda how many times you'll run it per dumpcycle (runspercycle). It will spread full backups along the dumpcycle, so you won't have any full-only or incremental-only runs.
Please also refer to "the friday-tape-question" in Collection of the top ten Amanda questions. And answers..
What if my tape unit uses expensive tapes, and I don't want to use one tape per day? Can't Amanda append to tapes?
It can't, and this is good. Tape drives and OS drivers are (in)famous for rewinding tapes at unexpected times, without telling the program that's writing to them. If you have a month's worth of backups in that tape, you really don't want them to be overwritten, so Amanda has taken the safe approach of requiring tapes to be written from the beginning on every run.
This can be wasteful, specially if you have a small amount of data to back up, but expensive large-capacity tapes. One possible approach is to run amdump with tapes only, say once a week, to perform full backups, and run it without tape on the other days, so that it performs incremental backups and stores them in the holding disk. Once or twice a week, you flush all backups in the holding disk to a single tape.
If you don't trust your holding disk, and you'd rather have all your data on tapes daily, you can create an alternate configuration, with two tapes, that backs up the holding disk only, always as a full backup. You'd run this configuration always after your regular backup, so you always have a complete image of the holding disk on tape, just in case it fails.
How can I configure Amanda for long-term archiving?
The best approach is to create a separate configuration for your archive backups. It should use a separate set of tapes, and have all dumptypes configured with `record no', so it doesn't interfere with regular backups.
Can I backup separate disks of the same host in different configurations?
Yes, but you have to be careful. Amanda uses UDP to issue estimate and backup requests and, although replies to backup requests are immediate (so that TCP connections for the actual backup can be established), replies to estimate requests are not and, while one request is being processed, any other request is ignored. The effect is two-fold:
So, there are two easy ways out:
If you don't want to set up two installations of Amanda (I agree, it's overkill), but you still want to back up disks of the same host in separate configurations, you can set up Amanda so that one configuration only starts after the first one has already finished its One possible way to work-around this limitation is to start one configuration only after you know the estimates for the first one have already finished (modifying the crontab entries, according to history data). You'll also have to delay the starttime (a dumptype option) of the disks in the first configuration, so that they don't start backing up before the estimates of the second configuration finish.
Can Amanda span large filesystems across multiple tapes?
Not yet :-(
This is an open project, looking for developers. If you'd like to help, please take a look at the Amanda Ongoing Projects Page (http://www.amanda.org/ongoing.php), where more up-to-date information is likely to be found about this project.
Update September 2004: Refer to the archive of the amanda-hackers mailinglist (http://marc.theaimsgroup.com/?l=amanda-hackers). A patch by John Stange is being discussed there, which allows splitting and spanning.
The current work-around is to use GNU tar to back up subdirectories of the huge filesystem separately. But be aware of the problems listed in the question about "results missing".
What's the difference between option "skip-full" and "strategy nofull"?
"strategy nofull" is supposed to handle the following situation: you run a full dump off-line once a millenium :-), because that disk isn't supposed to change at all and, if it does, changes are minimal. Amanda will run only level 1 backups of that filesystem, to avoid the risk of overwriting a level 1 backup needed to do a restore. Remember, you run full dumps once a millenium, and your tape cycle probably won't last that long :-)
"skip-full", OTOH, is supposed to let the user run full dumps off-line regularly (i.e., as often as specified in the dumpcycle), while Amanda takes care of the incrementals. Currently, Amanda will tell you when you're supposed to run the level 0 backups but, if you fail to do so, Amanda will not only skip a full day's worth of valuable backups of the filesystem, on the day it told you to the full backup manually, but it will also run a level 1 backup on the next day, even if you have not performed the full backup yet. Worse yet: it might perform a level 2 on the next day, just after you have run the level 0, so, if the disk should crash, you'd have to restore a level 0 then a level 2, but not the level 1! Not a real problem, but definitely strange, eh?
Why does amdump report "results missing"?
One of the possible reasons is that you have requested too many backups of the host. In this case, the estimate request or the reply may not fit in a UDP packet. This will cause Amanda not to perform some of the backups. Fixing this problem involves modifying the way estimate requests are issued, so that no packet exceeds the maximum packet size, and issuing additional requests that did not fit in a UDP packet after a reply for the previous set is obtained. The probability of getting this problem has been considerably reduced since we increased the maximum UDP packet size from 1Kb to 64Kb, but some operating systems may not support such large packets.
One possible work-around is to try to shorten the pathnames of the
directories and the exclude file names, so that more requests fit in
the UDP packet. You may create short-named links in some directory
closer to the root (/) so as to reduce the length of names. I.e.,
instead of backing up
/.foo -> /usr/home/foo /.bar -> /usr/home/bar
Another approach is to group sub-directories in backup sets,
instead of backing up them all separately. For example, create
A simpler approach, that may work for you, is to backup only a subset of the subdirectories of a filesystem separately. The others can be backed up together with the root of the filesystem, using an exclude list that prevents duplicate backups.
Why does amdump report "disk offline"?
Well, assuming the disk is not really off line :-), it may be a permission problem, but then, amcheck would have reported it.
Another possible reason for this failure is a filesystem error, that causes DUMP to crash before it estimates the backup size; a fsck may help.
Yet another possibility is that the filesystem is so large that the backup program is incorrectly reporting the estimated size, for example, by printing a negative value that Amanda will not accept as a valid estimate. If you are using dump, contact your vendor and request a patch for dump that fixes this bug. If you are using GNU-tar, make sure it is release 1.12 or newer; 1.11.8 won't do! Even release 1.12 may require a patch to correctly report estimates and dump sizes, as well as to handle sparse files correctly and quickly instead of printing error messages like `Read error at byte 0, reading 512 bytes, in file ./var/log/lastlog: Bad file number' in sendsize.debug and being very slow. Check the patches directory of the Amanda distribution.
What if amdump reports "dumps way too big, must skip incremental dumps"?
It means Amanda couldn't back up some disk because it wouldn't fit in the tape(s) you have configured Amanda to use. It considered performing some incrementals instead of full dumps, so that all disks would fit, but this wouldn't be enough, so the disk really had to be dropped in this run.
In general, you can just ignore this message if it happens only once in a while. Low-priority disks are discarded first, so you'll hardly miss really important data.
One real work-around is to configure Amanda to use more tapes:
increase `runtapes' in
amdump reported "infofile update failed". What should I do?
Make sure all directories and files are readable and writable by
the Amanda user, within the directory you specified as `infofile' in
Why does Amanda sometimes promote full dumps?
To spread the full dumps along the dumpcycle, so that daily runs take roughly the same amount of tape and time. As soon as you start using Amanda, it will run full dumps of all filesystems. Then, on the following runs, it will promote some backups, so as to adjust the balance. After one or two dumpcycles, it should stop promoting dumps. You can see how well it is doing with amadmin <conf> balance. If you find the results surprising, you may want to adjust dumpcycle or runspercycle.
Why does amrecover report "no index records" or "disk not found"?
The most common cause of this problem is not having enabled index
Another possibility is that amrecover is not selecting the configuration name that contains the backups for the selected disk. You may specify a configuration name with the `-C' switch, when you invoke amrecover. The default configuration name can only be specified at Amanda configure time (configure --with-config=<name>).
Indexes are currently generated at backup-time only, so, if a backup was performed without creating an index, you won't be able to use amrecover to restore it, you'll have to use amrestore.
Ok, I'm done with testing Amanda, now I want to put it in production. How can I reset its databases so as to start from scratch?
First, remove the `curinfo' database. By default, it is a directory, but, if you have selected any other database format (don't, they're deprecated), they may be files with extensions such as .dir and .pag.
Then, remove any log files from the log directory:
The man-page of dump says that active filesystems may be backed up inconsistently. What does Amanda do to prevent inconsistent backups?
Nothing. When you back up an active filesystem, there are two possibilities:
dump may print strange error messages about invalid blocks, then fail; in this case, Amanda will retry the backup on the next run.
Files that are modified while dump runs may be backed up inconsistently. But then, they will be included in the next incremental backup, which should usually be enough.
Large, critical files such as databases should be locked somehow, to avoid inconsistent backups, but there's no direct support for that in Amanda. The best bet is to configure Amanda to use a wrapper to dump, that locks and unlocks the database when appropriate.
Which version of GNU-tar should I use?
(This answer was slightly adapted from a posting by Paul Bijnens
What does "bumping" mean?
The term "bumping" is used to describe the change from one backup-level to the next higher level. If Amanda changes from Level 0 to Level 1 for a specific DLE, it "bumps".
The basic goal of "bumping" is to save precious space on the backup media as higher level incremental backups are smaller in size than lower level incremental backups.
The disadvantage of increasing backup levels is the fact that restoring from higher level incremental backups needs more tapes. This increases the amount of work time that are needed to fully restore a DLE as well as the possibility of tape-errors and similar problems during the process of restore. So in general it is recommended to keep the levels as low as possible with the given hardware and data.
There are various
Please refer to the amanda-manpage and the example
How do I backup a Windows server?
Amanda is able to use smbclient to dump SMB/CIFS-shares. Refer to the Backup PC hosts using Samba for details.
How do I tell my iptables-based firewall to allow Amanda through?
posted by Matt Hyclak
Use something like
iptables -A INPUT -p udp -s $AMANDA_SERVER -d $AMANDA_CLIENT --dport 10080 -j ACCEPT
and load the ip_conntrack_amanda kernel module. I use the following in
options ip_conntrack_amanda master_timeout=2400 install ip_tables /sbin/modprobe --ignore-install ip_tables && /sbin/modprobe ip_conntrack_amanda
This sets the UDP timeout for Amanda packets to 2400 seconds, up from the default 300 (don't hold me to that, it might be 600). I was getting estimate timeouts since they were taking longer than 300/600 seconds and the firewall would close the port.
Makes things a little more secure than opening up everything > 1024 ;-)
How do I get rid of pressing "q" to get rid of a pager prompt when using amrecover?
Paul Bijnens wrote:
If you have to press "q" all the time in amrecover this is
related to the pager-binary you use. If you use Linux this will be most
likely less. To teach less to quit
when hitting EOF, you need to set something like
Jon LaBadie wrote:
If you don't like the quit at EOF behavior "except" when in amrecover create an alias or a wrapper; something like:
Is there a way to tell the pager that my terminal has "y" lines?
The pager normally does it's best to find out how many lines your terminal has, given the right TERM-variable. Even terminals with elastic boundaries (e.g. xterms) work. But I have to admit that on Solaris the settings are not always correct. You can fix it quickly by setting an environment variable to e.g. LINES=24 (and export it).