EOF, check amidxtaped.debug

From The Open Source Backup Wiki (Amanda, MySQL Backup, BackupPC)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This article is a part of the Troubleshooting collection.

Problem

amrecover(8) fails with a message that includes:

 EOF, check amidxtaped.debug file.
 amrecover: short block 0 bytes

Solution

Look for the file named amidxtaped.datetime.debug in the AMANDA_DBGDIR directory on the tape server (not the client) for clues.

Need to rewind the tape?

A frequent mistake is to forget to rewind the tape.

Why isn't the tape rewound automatically?

When inserting a tape, you can position the tape with "mt fsf" just before the required image to speed up the restore procedure. It would be counterproductive in that case to rewind again, so Amanda leaves a tape where it is positioned and amidxtaped (the daemon process on the server communicating with amrecover on the client) starts amrestore(8) from that position.

Since version 2.4.3, amanda can position the tape automatically by enabling the option in amanda.conf(5):

amrecover_do_fsf  yes

This option first rewinds, and than skips forward quickly to the image. A related and useful option is:

amrecover_check_label  yes

which checks if you inserted the correct tape.

Without the above option, rewind manually (and possibly position) the tape before each restore in a second shell while amrecover waits for you to start the extraction process, with the command (fill in the device name of your tape drive):

$ mt -t /dev/nst0 rewind

Note: a "virtual tape" needs rewinding too, using the ammt(8) command:

$ ammt -t file:/space/vtapes/slots rewind

The directory you need to specify is the parent of the "data" directory of the virtual tape.

Tape device is /dev/null?

Sometimes the default tape device specified at compile time is not what you expect. Find out what the default tape device is:

 $ amadmin x version | grep TAPE_DEVICE
 DEFAULT_TAPE_DEVICE="/dev/null"

Reading from /dev/null results indeed in "short block 0 bytes".

In this case, override the default tape device on the commandline of amrecover:

 $ amrecover -C daily -d /dev/nst0

or specify it from inside amrecover:

 amrecover>  settape /dev/nst0

or just before extracting:

 Load tape DMP014 now
 Continue? [Y/n/t]: t
 Tape device: server2:/dev/nst2
 Continue? [Y/n/t]: Y
 Using tape /dev/nst2 from server server2.