Transferring dump file to tape?

Viren Patel virenp at mail.utexas.edu
Tue May 17 05:44:46 PDT 2005


>>
>> > On Mon, May 16, 2005 at 11:36:18AM -0500, Viren Patel
>> > wrote:
>> >> Hello. I am using 'dump' to backup client filesystems
>> to
>> >> a
>> >> disk file on an NFS mounted partition, e.g.
>> >>
>> >>    dump -0aLu -f /bk/var-20050516 /var
>> >>
>> >> Now I'd like to take the backup file (var-200500516)
>> and
>> >> move it to tape (on the NFS server). However I'd like
>> >> the
>> >> tape to have the data just as if it had been created
>> >> directly by 'dump', e.g.
>> >>
>> >>    dump -0aLu -f /dev/nsa0 /var
>> >>
>> >> Any way to do this?
>> >
>> > You can use dd to write a file to a device (e.g.
>> tape).
>> >
>> > Kris
>> >
>>
>> I thought so too, but it doesn't work. When I issue
>>
>>    dd if=var-20050516 of=/dev/nsa0
>>
>> I get the following error:
>>
>> dd: /dev/nsa0: Invalid argument
>> 1+0 records in
>> 0+0 records out
>> 0 bytes transferred in 0.000786 secs (0 bytes/sec)
>>
>> Since 'dump' works with /dev/nsa0 I am not sure what the
>> problem is.
>
> I would expect the dd to work also.   You may need to do
> something
> with blocksize.
>
> But, we see that error a lot on different machines while
> attempting
> to write a file to a tape.   We have code that opens the
> drive and
> writes directly to it, other places that attempt to use dd
> and also
> some places that try to cat to the drive.   All of them
> work most of
> the time, but fail consistently on some machines that
> appear to be
> otherwise identical.   We have resorted to numerous tricks
> to write
> to a tape on a system that is failing, usually to no
> avail.   The error
> you report is the one we see with dd.   I generally don't
> see any
> other console message or anything that shows in a dmesg.
>
> I would very much like to see someone who really knows
> about writing
> tapes respond to this.   I have begun to be suspicious
> that there is
> something weird about the the sa driver or something along
> the line,
> but don't know enough to really dig it out.   I posted
> some questions
> around 3 years ago, but got no response.
>
> By the way, this has occurred in various versions of
> FreeBSD from
> around 3.2 through 4.9.   I haven't experimented with it
> on 5.xx yet.
>
> ////jerry
>
>>
>> Viren
>

Thanks for your input. As per Kris' suggestion adding the
blocksize worked for me. 'mt' reports my tapedrive having
a blocksize of 1024 bytes (1k), so my command was

  dd if=var-200501516 of=/dev/nsa0 bs=1k

I transfered the dump file to tape and then was able to
restore directly from tape. My test dump file was small
(140K) but today I plan to test with a full-size
multi-gigabyte dump file. I haven't played long with dd to
judge its reliability. While I was looking around, I also
came across sdd (/usr/ports/sysutils/sdd), which claims to
be a better dd replacement.

Viren



More information about the freebsd-questions mailing list