The above error message means that the recomputed checksum does
not match the checksum stamped on the header when it was created.
More often than not, the data block in question is probably not even
a header block.
One solution is to be certain the "Seeking Device Option" under
edge.config is disabled. If this is set to "Y" while using a tape
drive, the header can be corrupted. When using tape drives, this
option should always be set to "N".
Another cause and solution would be if the tape was created on a
machine that used a fixed block mode and the read was attempted on a
server that was set to a variable block mode. This is common when
creating an archive on a SCO Unix 3.2v4.2 machine and attempting
to read on a SCO OpenServer 5.0.X machine.
NOTE: The above applies only to 4mm & 8mm formats that support
variable block sizes.
To correct, you would need to know the block size that the archive
was created under as well as the blocking factor under edge.config.
For example, say the archive was created with a fixed block size
of 1024 using a block factor of 64. Attempting to read this on a
server using a variable block device. First you would need to
set the block mode on the machine. If you aren't sure of the
block size of the machine that created the archive, keep in mind
that valid block sizes are 0 - variable, 512, 1024, and 2048.
Set the block size on the target machine, to match what the source
machine was set to.
Log in as root, place a tape in the drive and type the following:
# tape -a 1024 setblk
This will set the drive to use a fixed block of 1024, make sure
of your block factor in edge.config and attempt to read your tape.
If you still have problems you may need to try a different block
size/block factor combination until you are successful.
|