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

Mike Jakubik mikej at rogers.com
Tue Apr 4 21:51:14 UTC 2006


Eric Anderson wrote:
> 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

Could someone provide an authoritative answer to this please? Pawel, it 
would be nice to see some support for your own code from you. This is a 
very easy method to create a mirror on an existing system, but if its 
going to cause problems then its useless (All the more reason for geom 
enabled installer).



More information about the freebsd-stable mailing list