Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 14:02:13 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Nick Barnes <nb@ravenbrook.com>
Cc:        freebsd-questions@freebsd.org, Ravenbrook SysAdmins <sysadmins@ravenbrook.com>
Subject:   Re: how does gmirror start up?
Message-ID:  <4AD47A55.2060707@infracaninophile.co.uk>
In-Reply-To: <59889.1255436565@thrush.ravenbrook.com>
References:  <59889.1255436565@thrush.ravenbrook.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF0F0AB4AE5452F29D70E2002
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Nick Barnes wrote:
> I am running a 6.3 system and have had various problems with disk
> reliability on a key filesystem, probably down to SCSI hardware or
> drivers.  I'm intending to replace that SCSI disk with a pair of SATA
> disks ad6/7, using gmirror as gm0 (while keeping ad4 as our boot
> disk).  I have set up the mirror and right now I'm part-way through
> using rsync to transfer the data.  But I have a question concerning
> the underlying operation of GEOM, which is troubling me.  I have read
> the various man pages and handbook pages relating to GEOM and gmirror,
> but they don't seem to answer this.
>=20
> When I reboot the system, gmirror comes up (because of the line in
> /boot/loader.conf) and gm0 appears, backed by ad6/7.  Where is this
> configuration information stored?  That is, how does the system know
> to make gm0, with ad6/7 as the backing store.
>=20
> I would expect there to be a file somewhere in /etc with this config
> information, but I don't see it in the documentation.  From reading
> gmirror(8), I understand that there is a label sector at the ends of
> ad6 and ad7, identifying them as parts of gm0.  But that config
> information is back-to-front: at boot time the system knows from
> /etc/fstab that it needs gm0; how does it find the underlying disks?
>=20
> Does the system search the ends of all physically-attached disks,
> looking for GEOM labels, and automatically make any corresponding GEOM
> devices?  Surely not (that would mean, for instance, that if I took
> one of these disks out of this machine and put it into another FreeBSD
> system then that machine would automatically set up gm0 with this
> disk).
>=20
> Possibly I'm just being dense.  Can someone enlighten me?

The geom configuration is stored on the disks in question -- I believe it=

uses the last cylinder of the drive, but I could be wrong about the detai=
ls.
On startup, if the appropriate geom modules are loaded into the kernel,
geom will "taste" the disks discovered by enumerating the contents of all=
=20
ATA, SCSI, USB, etc. busses (ie. read any geom metadata) to see if they a=
re
part of a RAID array of some type.  The RAID will be automatically recrea=
ted,
and appears to the system as a new device.  If there are appropriate entr=
ies in
/etc/fstab any file systems on it will be mounted.

There's no data stored on the filesystem describing the RAID setup.  Well=
,
unless you make a backup of it yourself by dumping the output of 'gmirror=
 status'
somewhere.

This means that you can move the disks from one server to another and all=
 the
RAIDs will survive.  Actually, it's good enough that it can cope with you=

shuffling the disks or installing them with completely different underlyi=
ng
device names.  You would certainly have to avoid a clash of geom device n=
ames
when doing that -- the names are entirely arbitrary and 'gm0' is only the=
 de-facto=20
default because it was used in one of the most popular tutorials on the s=
ubject.=20
If you think it necessary, you could include the host name in the geom la=
bel or otherwise take action to make them globally unique across all your=
 systems.

You can achieve a similar effect for plain disks by using glabel -- this =
is a
handy way of avoiding the foot-shooting potential of a USB thumb drive th=
at maps
as da0 on reboot, in place of the real system disk.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW


--------------enigF0F0AB4AE5452F29D70E2002
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAkrUelsACgkQ8Mjk52CukIxCNACfSCHzt3binQDZ+IkyKqlgix5/
ElAAnAiwfPuLfpkuOF0OkNRB1uXS8Xgz
=eUn0
-----END PGP SIGNATURE-----

--------------enigF0F0AB4AE5452F29D70E2002--



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?4AD47A55.2060707>