NFS problem

Eric Anderson anderson at freebsd.org
Wed May 2 17:59:03 UTC 2007


On 05/02/07 12:46, John Clark wrote:
> Chuck Swiger schrieb:
>> John Clark wrote:
>>> I am copying a 'disk image' to an NFS mounted volume.
>>>
>>> I'm using:
>>>
>>> dd if=/dev/ad0 of=Disk.img
>>>
>>> After dd completes the number of blocks indicated is what the raw 
>>> disk device should be. However, when I look at the NFS mounted image, 
>>> the file size is anything but the 80 GB size it should be.
>> How big is it?  Is the data complete/intact up to the point when it 
>> stopped?
> 
> What I'm doing is cloning a disk, and making it network accessible. So 
> it is an 80 GB disk image.
> 
> When I mount the 'results', fsck, does start to pick up problems,  and 
> on one of the partitions, basically resulted
> in a slew of corrupted inodes.
> 
> So my suspicion is that there are missing blocks scattered throughout.
> 
>  >Can you create enough local space on a second drive (or do this by 
> individial partitions instead) to create the image locally, and then 
> copy the file at once via NFS?  >It'd be nice to see whether that worked 
> OK.
> 
> I'll see if I can set this up... but that would only verify that dd 
> wasn't doing something strange...
> 
> One trick I tried was to use 'tee' to create the NFS image, and then 
> continue the pipe with a 'cksum':
> 
> dd if=/dev/ad0 |  tee Disk.img | cksum
> 
> Tee stopped at some point, probably about 2.5 GB with a 'file too 
> large'... the CVS sources that I'm using
> are pretty recent, as in within the last month...

Do something like this instead:

dd if=/dev/ad0 count=10 bs=1m| md5
dd if=Disk.img count=10 bs=1m| md5

Then you can do:
dd if=/dev/ad0 count=10 bs=1m skip=10 | md5
dd if=Disk.img count=10 bs=1m skip=10 | md5
to move through the file..

What are your NFS client mount options, and what OS is on the server?

Eric





More information about the freebsd-current mailing list