Date: Tue, 13 Oct 2009 14:07:23 +0100 From: krad <kraduk@googlemail.com> To: Matthew Seaman <m.seaman@infracaninophile.co.uk> Cc: Nick Barnes <nb@ravenbrook.com>, freebsd-questions@freebsd.org, Ravenbrook SysAdmins <sysadmins@ravenbrook.com> Subject: Re: how does gmirror start up? Message-ID: <d36406630910130607j33cd02a9l86029a7377ef4c40@mail.gmail.com> In-Reply-To: <4AD47A55.2060707@infracaninophile.co.uk> References: <59889.1255436565@thrush.ravenbrook.com> <4AD47A55.2060707@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/10/13 Matthew Seaman <m.seaman@infracaninophile.co.uk> > 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. >> >> 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. >> >> 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? >> >> 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). >> >> 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 > details. > On startup, if the appropriate geom modules are loaded into the kernel, > geom will "taste" the disks discovered by enumerating the contents of all > ATA, SCSI, USB, etc. busses (ie. read any geom metadata) to see if they are > part of a RAID array of some type. The RAID will be automatically > recreated, > and appears to the system as a new device. If there are appropriate > entries 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 underlying > device names. You would certainly have to avoid a clash of geom device > names > when doing that -- the names are entirely arbitrary and 'gm0' is only the > de-facto default because it was used in one of the most popular tutorials on > the subject. If you think it necessary, you could include the host name in > the geom label 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 that > maps > as da0 on reboot, in place of the real system disk. > > Cheers, > > Matthew > > -- > Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard > Flat 3 > PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate > Kent, CT11 9PW > > Also worth mentioning zfs config is stored on disk as well in a similar manner albeit a bit more complicated.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d36406630910130607j33cd02a9l86029a7377ef4c40>