fastest raw device copy?

Jeremy Chadwick koitsu at FreeBSD.org
Fri Oct 31 08:14:34 PDT 2008


On Fri, Oct 31, 2008 at 03:36:02PM +0100, Christoph Kukulies wrote:
> Ivan Voras schrieb:
>> Jeremy Chadwick wrote:
>>   
>>> On Fri, Oct 31, 2008 at 09:48:16AM +0100, Christoph Kukulies wrote:
>>>     
>>
>>   
>>>> What would be the fastest way to do that sector by sector copy? I'm 
>>>>  using dd right now,
>>>>
>>>> dd if=/dev/ad0 of=/dev/da0 bs=10000000
>>>>       
>>
>>   
>>> On the flip side, your blocksize (bs) there is quite high for no good
>>> reason.  I'd pick something more like bs=64k or bs=128k.  The default
>>> (512) is too small for what you want, but 10MBytes is silly.
>>>     
>>
>> Not only that, but "10000000" isn't even correct - it needs to be a
>> multiple of sector size. Generally, using suffixes will do the right thing:
>>
>> dd if=/dev/ad0 of=/dev/da0 bs=1m
>>
>>   
> OK, I understand that 10000000 isn't good, I just thought it wouldn't  
> harm. But if it is a transfer rate killer then I'd better think of  
> typing ^C now. The command is running for 6 hours now.

Six hours?  Hmm...  That seems too long, but of course the FreeBSD USB
stack is involved, and a USB device in general.  I would have assumed
that copy should have finished after 2-3 hours tops.

> An idea how I can check the current amount of transfered byed alongside  
> the running dd command? Or watch the current i/o rate?

iostat or gstat (I'm willing to bet you prefer the latter) will get you
what you want, more or less.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-questions mailing list