copying tape of one it schemes to another one

copying tape of one it schemes to another one

Post by grin » Sat, 21 Jul 2001 06:58:43

as to copy the data of a tape in one it schemes for hd of another one

1. Copying from tape on one machine to tape on another

We have a requirement to copy files from tapes on our AIX/370 machine,
either 3480 cartridges or 9-track open reel tapes, to exabyte tapes on
an RS6000 / AIX 3.1 or 3.2 machine. We have an ethernet connection between
the machines, so initially I thought I would try the following :

( The AIX/370 machine is rcs, the blocksize of the rcs tape file is 38K,
  the following commands are given on the RS6000 )

rsh rcs dd if=/dev/rmt3 ibs=38k obs=1k | dd bs=1k of=/dev/rmt0 conv=sync

dd if=/dev/rmt0 bs= 1k | rsh rcs dd ibs=1k obs=38k of=diskfile

The resultant diskfile was totally garbled. I, therefore experimented further
and pondered deeply. The output from the dd on the right of the pipe showed
that although an integral number of complete blocks were coming out of the
dd on the left hand side of the pipe, when they entered the other dd there
was a mixture of whole and partial blocks; also these numbers changed each
time the command was used. I presume this means that the pipe's buffer is
read whenever the right hand dd needs another block and does not wait for
the left hand dd to finish writing a complete block to it first. The result
of which is that the `comp=sync' will pad out random blocks with random
amounts of nulls.

Removing the `conv=sync' means that I must ensure by some other means that
full blocks of 1K ( or a multiple of 1K ) must be written to the exabyte,
since it will not accept any partial block writes. I have managed to do this
using the following commands :

rsh rcs dd if=/dev/rmt3 ibs=38k obs=1k | dd ibs=1k obs=38k of=/dev/rmt0

dd if=/dev/rmt0 bs=38k | rsh rcs dd bs=38k of=diskfile

The right hand dd of the first line `re-assembling' the mixed complete
and partial blocks to the number and size on the original tape. When
restoring back to disk on the original machine I need no longer worry
about partial blocks.

The question is - what do I do when the original tape block size is not a
multiple of 1K, eg. 5200 bytes. I can't see how to reconstruct complete
nK blocks for the exabyte's benefit. Even if I convert the blocksize using
dd to 5200K, the last block would rarely be complete and hence would be
rejected and obviously `conv=sync' is ruled out because of the pipe
effects described above.

Any suggestions are gratefully received. Is there a better technique for
doing what I want? The method must be as fast as possible.

Steven Bridge             University College London Computer Centre,

2. Intrusion database

3. Copying multi-volume tapes onto a one-volume tape

4. Fonts do not work in Konsole

5. ksh: Copying files one by one

6. POLL: Are you interested in EndNote for Linux?

7. Backup: One tape and one floppy disk?!

8. WARNING: terminal is not fully functional

9. One easy, one less so, one not quite so.....

10. apache, day one, hour one, minute one, local write permission !?!?!?!?

11. ufsdump one more than one tape

12. copy tapes from one drive to another

13. I want to not copy exclude one file when i Copy