Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!rutgers!mcnc!decvax!decwrl!pyramid!
fmsrl7!nucleus!netsys!len
From: l...@netsys.UUCP (Len Rose)
Newsgroups: comp.sys.att
Subject: 3B2 tape to tape copy
Message-ID: <1590@netsys.UUCP>
Date: Sun, 25-Oct-87 02:41:20 EST
Article-I.D.: netsys.1590
Posted: Sun Oct 25 02:41:20 1987
Date-Received: Tue, 27-Oct-87 05:12:01 EST
Organization: NetSys Public Access Network,Germantown, MD
Lines: 36
Keywords: Does anyone know..


Hi..

 Something I've been trying to do for some time has me
 quite frustrated..I need to be able to copy tape to tape
 on our 3B2 system here (yes,we have two CTC's) , and have
 not been able to come up with a fast method of accomplishing
 this.

 So far, We have tried:

 ctccpio -idvT /dev/rSA/ctape1 | ctccpio -ovKT /dev/rSA/ctape2

 Which obviously writes the file to the disk,then pipes the filenames
 to the second ctccpio and reads them from the disk..Obviously an exercise
 in futility,even though it works..since it is slow,and wastes system resources.

 dd < /dev/rSA/ctape1 > /dev/rSA/ctape2
 cp /dev/rSA/ctape1 /dev/rSA/ctape2

 This works fine,does not waste system resources,but is slow as hell.

 I am sure that someone out there has developed their own tape to tape copy
 program,which is fast and reliable.I am also sure that ATT themselves have
 a program to duplicate all those distribution tapes.

 If someone , in their kind hearted souls sent me something useful,I would
 be extremely appreciative.. At any rate,maybe someone can suggest something
 obvious that I am missing..

 By the way..most of the tapes I need to copy are standard ctccpio format tapes.


-- 
Len Rose -* Netsys Public Access Network *- The East Coast Machine
301-540-3656,3657,3658,3659    3B2/Unix SV3.0

Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!hao!oddjob!gargoyle!ihnp4!homxb!mtuxo!
mtune!codas!usfvax2!pdn!tsc3b21!Elric
From: El...@tsc3b21.UUCP (Frank )
Newsgroups: comp.sys.att
Subject: Re: 3B2 tape to tape copy
Message-ID: <205@tsc3b21.UUCP>
Date: Tue, 27-Oct-87 07:32:08 EST
Article-I.D.: tsc3b21.205
Posted: Tue Oct 27 07:32:08 1987
Date-Received: Sat, 31-Oct-87 05:34:52 EST
References: <1590@netsys.UUCP>
Organization: Transportation Systems Consulting, FL
Lines: 51

in article <1...@netsys.UUCP>, l...@netsys.UUCP (Len Rose) says:
>  Something I've been trying to do for some time has me
>  quite frustrated..I need to be able to copy tape to tape
>  on our 3B2 system here (yes,we have two CTC's) , and have
>  not been able to come up with a fast method of accomplishing
>  this.
>
>  [ ... ]
>
>  dd < /dev/rSA/ctape1 > /dev/rSA/ctape2
>  cp /dev/rSA/ctape1 /dev/rSA/ctape2
> 
>  This works fine,does not waste system resources,but is slow as hell.
> -- 
> Len Rose -* Netsys Public Access Network *- The East Coast Machine
> 301-540-3656,3657,3658,3659    3B2/Unix SV3.0

Well Len, while I don't have ANY tape drives, I used to work quite heavily
with them.  I found that the best method of tape to tape copy, albeit not
on a 3B2, was using "dd" as you did, but setting the buffer size as well.
We were using 300 XL/P's which are 450 ft and I found a buffer size of
128K worked well enough and didn't leave a large gap at the end of the tape.

If you have the time to waste, try using "dd if=large_disk > ctape2 bs=4096".
Substitute the device name of a large disk drive in place of "large_disk".
When dd hits the end of the tape you'll get a message indicating how many of
the 4K blocks were written (something like "##+0 records out").  This is
the maximum storage on that *particular* tape (other tapes may be +/- 3% in
length and so your mileage may vary).

Once you have this value you can decide on a block size for use in the copy
that will allow the use of most of the tape.  Hint:  pick a multiple of 64K
if possible since most tape drives I have used (not controllers, drivers,
etc) prefer it.  Note that I said, "most I have used".

The command line would be similar to:
	dd < /dev/rSA/ctape1 > /dev/rSA/ctape2 bs=128k

The characters 'k' and 'b' (for blocks) are recognized by the dd command
and the argument is multiplied out appropriately.

Good Luck!  It may take a lot of playing around to get the *best* buffer size.

-----
"Use the Source, Luke.  Feel it flow through your fingertips..."
-----
Frank (crash) Edwards
...!codas!usfvax2!{pdn,jc3b21}!tsc3b21!crash
TSC in Palm Harbor, FL
The Sweat Shop [with a 'C']
Opinions?  Opinions?  What opinions?!

Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!utgpu!water!watmath!clyde!rutgers!sunybcs!boulder!hao!oddjob!
gargoyle!ihnp4!cuuxb!mmengel
From: mmen...@cuuxb.UUCP
Newsgroups: comp.sys.att
Subject: Re: 3B2 tape to tape copy
Message-ID: <1369@cuuxb.ATT.COM>
Date: Wed, 28-Oct-87 14:52:17 EST
Article-I.D.: cuuxb.1369
Posted: Wed Oct 28 14:52:17 1987
Date-Received: Sat, 31-Oct-87 11:03:52 EST
References: <1590@netsys.UUCP>
Reply-To: mmen...@cuuxb.UUCP (Marc W. Mengel)
Organization: AT&T-DSD, System Engineering for Resellers, Lisle IL
Lines: 32
Keywords: Does anyone know..

In article <1...@netsys.UUCP> l...@netsys.UUCP (Len Rose) writes:
>
>Hi..
>
> Something I've been trying to do for some time has me
> quite frustrated..I need to be able to copy tape to tape
> on our 3B2 system here (yes,we have two CTC's) , and have
> not been able to come up with a fast method of accomplishing
> this.
...
> dd < /dev/rSA/ctape1 > /dev/rSA/ctape2
> cp /dev/rSA/ctape1 /dev/rSA/ctape2
>
> This works fine,does not waste system resources,but is slow as hell.

Try using a large blocksize for dd, like
	dd bs=4k < /dev/rSA/ctape1 > /dev/rSA/ctape2

This way you do fewer system calls and larger reads/writes; both of which will
make a big difference in your performance.

You might also want to try a

	dd bs=4k < /dev/rSA/ctape1 | dd bs=4k > /dev/rSA/ctape2

and see if the pipe double buffers enough to let you get simultaneous
reads and writes going on the two tapes.
-- 
 Marc Mengel	

 attmail!mmengel
 ...!{moss|lll-crg|mtune|ihnp4}!cuuxb!mmengel