Re: gmirror: DIRTY flag?

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Sat, 18 Sep 2004 20:58:41 +0200
On Sat, Sep 18, 2004 at 02:48:05PM +0200, Ivan Voras wrote:
+> I have some questions about gmirror "list" report:
+> 
+> 1) What does the "DIRTY" flag mean? Anything bad?

It means, that your mirror is open for writing. It is not bad:)
Using this flag allows gmirror to detect if it was closed in clean
way, ie. there was no power failure, etc. In case of an power
failure, mirror is synchronized.

+> 2) When (and how) does the SyncID field change?

It is used to detect stale component. It  is increased in some situations,
like, eg. one component was lost and write request went to the mirror,
then syncid is increased on active components, so when lost component is
back, gmirror detects it as stale component and rebuild.

+> t1# gmirror list
+> Geom name: netmirror
+> Components: 2
+> Balance: round-robin
+> Slice: 4096
+> Flags: NONE
+> SyncID: 1
+> ID: 3859137981
+> Providers:
+> 1. Name: mirror/netmirror
+>    Mediasize: 268434944 (256M)
+>    Sectorsize: 512
+>    Mode: r1w1e0
+> Consumers:
+> 1. Name: ad2s1e
+>    Mediasize: 268435456 (256M)
+>    Sectorsize: 512
+>    Mode: r1w1e1
+>    State: ACTIVE
+>    Priority: 0
+>    Flags: DIRTY
+>    SyncID: 1
+>    ID: 1417083766
+> 2. Name: ggate0
+>    Mediasize: 268435456 (256M)
+>    Sectorsize: 512
+>    Mode: r1w1e1
+>    State: ACTIVE
+>    Priority: 1
+>    Flags: DIRTY
+>    SyncID: 1
+>    ID: 899580387

You use ggate as one of your mirror components? Nice:)
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.
Remember, that 'prefer' algorithm is based on priority, so in your case
ggate0 will be used for reading as component with bigger priority.
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.

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

-- 
Pawel Jakub Dawidek                       http://www.FreeBSD.org
pjd_at_FreeBSD.org                           http://garage.freebsd.pl
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Sat Sep 18 2004 - 16:58:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:12 UTC