Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2006 12:20:00 -0600
From:      Eric Anderson <anderson@centtech.com>
To:        Mike Jakubik <mikej@rogers.com>
Cc:        stable@freebsd.org, pjd@freebsd.org, Craig Boston <craig@feniz.gank.org>
Subject:   Re: gmirror on existing filesystem (was Fresh install on gmirror'ed disks?)
Message-ID:  <442043D0.6090206@centtech.com>
In-Reply-To: <442033A2.2030208@rogers.com>
References:  <440D74B3.3030309@vwsoft.com>	<200603070939.30032.joao@matik.com.br>	<54559.192.168.0.10.1141751042.squirrel@webmail.sd73.bc.ca>	<20060316160813.GA15720@nowhere> <442033A2.2030208@rogers.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?442043D0.6090206>