gmirror on existing filesystem (was Fresh install on gmirror'ed disks?)

Eric Anderson anderson at
Tue Mar 21 18:20:14 UTC 2006

Mike Jakubik wrote:
> Craig Boston wrote:
>> On Tue, Mar 07, 2006 at 09:04:02AM -0800, Freddie Cash wrote:
>>> There's no need to copy files around.  gmirror handles it all for you
>>> behind the scenes.  Just create the gmirror labels using the existing
>>> disks/slices/partitions, then insert the second set of
>>> disks/slices/parittions.  gmirror will handle synchonising the data
>>> across the mirror.
>> AFAIK, gmirror causes whatever provider it's mirroring to "lose" the
>> last block to metadata.  I've always avoided mirroring an existing
>> filesystem for fear that shrinking a UFS filesystem's underlying device
>> might cause problems down the road.
>> Can someone with knowledge of the UFS internals please confirm one way
>> or the other if this is dangerous or not?
> I'm curious to know this as well, as i have some systems using 
> gmirror, that were setup in this fashion. Could someone knowledgeable 
> on the matter shed some light?

I've gmirrored existing disks/slices before, and it's worked fine.  I'm 
not 100% certain about all cases, but it's possible that the filesystem 
could be right up against the last block of the partition, and it could 
get stomped on I suppose.

I'm not sure what this command tells you for sure, but it dumps the last 
block of a slice, or disk, or whatever:

dd if=/dev/ad0s3a iseek=`diskinfo ad0s3a | perl -ne '@d = split; print 
($d[2]/$d[1] - 1)'` count=512 | hexdump


Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.

More information about the freebsd-stable mailing list