gmirror: DIRTY flag?

Ivan Voras ivoras at
Sat Sep 18 14:48:27 PDT 2004

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 

> 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?

More information about the freebsd-current mailing list