Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Sep 2004 23:48:17 +0200
From:      Ivan Voras <ivoras@fer.hr>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: gmirror: DIRTY flag?
Message-ID:  <414CAD21.9060409@fer.hr>
In-Reply-To: <20040918185841.GA30151@darkness.comp.waw.pl>
References:  <414C2E85.6090904@fer.hr> <20040918185841.GA30151@darkness.comp.waw.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
Pawel Jakub Dawidek wrote:
> You use ggate as one of your mirror components? Nice:)

Indeed very nice. Not a single problem so far. :)

> If you export this device over slow link, you can considern changing
> balance algorithm to 'prefer', so only local component will be used for
> reading.

Yes, I tried several algorithms. This is on a test bench machines, and 
both the disks and network are very slow (udma33, 100mbit E.). The 
'load' algorithm actually seems to work best in this setup. In a month 
or so we're planning to implement this on some beefy hardware, and I'll 
test it more then. (If anybody's interested, I'll post some "benchmark" 
results ;) ).

> Remember, that 'prefer' algorithm is based on priority, so in your case
> ggate0 will be used for reading as component with bigger priority.

I was wondering about that: is bigger priority assigned to smaller or 
bigger number? The way I've expected it, since command line goes like this:

# gmirror label myname device1 [device2...]

I've expected that device1 would have bigger priority (semantically 
speaking).

> Priority is also important for synchronization. If you have power
> failure, component with the biggest priority will be used as a master
> component, and all the rest components synchronize to him.

What if the master fails? :) I'm expecting this: When device1 fails, I 
deactivate it from the mirror, (at this time device2 becomes master) and 
insert another (will it automagically gain priority 3 or I'll need to 
specify it?). The mirror resynchronises (transferring everything from 
device2 to the newly inserted one, thus killing the bandwidth for 
applications?), and device2 keeps the master status.

> Command for changing priority for running mirror is missing, but you
> can increase priority for local component by doing:
> 
> 	# gmirror remove netmirror ad2s1e
> 	# gmirror insert -p 2 netmirror ad2s1e
> 

Ok. Since this is a test setup, it really isn't a problem to tear down 
and rebuild the mirror. Which leads to another question:

Is it ok to rebuild mirrors and change device orders/priorities? E.g. if 
I do:

# gmirror label myname device1 device2
# gmirror stop myname
# gmirror label myname device2 device1

... nothing extraordinary is supposed to happen?



-- 
What part of "Ph'nglui mglw'nath Cthulhu R'lyeh wgah'nagl fhtagn" don't
you understand?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?414CAD21.9060409>