Date: Tue, 23 Nov 2010 21:57:27 +0000 From: krad <kraduk@gmail.com> To: CyberLeo Kitsana <cyberleo@cyberleo.net> Cc: perryh@pluto.rain.com, freebsd-questions@freebsd.org Subject: Re: a gmirror disappears after adding gjournals to its partitions Message-ID: <AANLkTin9vQo3GuN8qChPS59K9tUwYMid5D4=r=T0%2BR41@mail.gmail.com> In-Reply-To: <4CEC23D9.6090600@cyberleo.net> References: <4ce8b7ce.qnD6CCAK8thDasFl%perryh@pluto.rain.com> <AANLkTimb8qHPj9HTY_jpy_vzVnB27stKxXO%2BjZjhnnSd@mail.gmail.com> <4ceb40c8.IB5c12O9ZJa3abeh%perryh@pluto.rain.com> <4CEC23D9.6090600@cyberleo.net>
next in thread | previous in thread | raw e-mail | index | archive | help
2010/11/23 CyberLeo Kitsana <cyberleo@cyberleo.net> > On 11/22/2010 10:19 PM, perryh@pluto.rain.com wrote: > > krad <kraduk@gmail.com> wrote: > >> On 21 November 2010 06:10, <perryh@pluto.rain.com> wrote: > > ... > >>> ==== manually-created config files, while still in chroot after install > >>> Fixit# cat /boot/loader.conf > >>> geom_mirror_load="YES" > >>> geom_journal_load="YES" > >>> > >>> vfs.root.mountfrom="ufs:/dev/mirror/gm0a.journal" > >>> vfs.root.mountfrom.options="rw" > > ... > >>> ==== output from kldstat, after booting the newly-installed system -- > >>> ==== and manually mounting the root FS -- showing that geom_mirror.ko > >>> ==== did get loaded. > >>> Id Refs Address Size Name > >>> 1 6 0xc0400000 bb5504 kernel > >>> 2 1 0xc0fb6000 14540 geom_journal.ko > >>> 3 1 0xc0fcb000 16ed4 geom_mirror.ko > > ... > >> sounds silly but are you loading the gmirror kernel module via > >> loader.conf > > > > Yes, I'm even setting geom_mirror_load to "YES" before setting > > geom_journal_load to "YES" (although I doubt the order of these > > settings in loader.conf makes any difference). > > > > If the kldstat Id numbers are assigned sequentially, it looks as > > if geom_journal got loaded first and this may somehow be related > > (although I don't entirely see how -- absent geom_mirror to make gm0 > > and its partitions visible, I'd think that geom_journal "should not" > > be able to find its metadata at all). > > From what I've found, this is because there is no taste difference > between a bsdlabel on a gmirror and a bsdlabel on a non-mirror. > > Since both gmirror and gjournal are greedy (they take exclusive access > of their parent providers upon successful taste, and not upon exclusive > access to their own providers like glabel), the first one to > successfully taste and start is the winner; the other will never get to > taste those devices. > > The trick here is to either make the two look different somehow (use a > different geom that stores its metadata at the beginning of the > provider, instead of the end, thus eliminating ambiguity in the bsdlabel > taste), or to make the inner geom avoid the outer devices (hardcode > provider names in metadata). Since you have an outer geom that provides > a static name, hardcoding the name of the gmirror into the gjournal > metadata shouldn't cause anything to break if your disks change places, > either. > > http://pb.cyberleo.net/?show=m7fcbcef7 > > -- > Fuzzy love, > -CyberLeo > Technical Administrator > CyberLeo.Net Webhosting > http://www.CyberLeo.Net > <CyberLeo@CyberLeo.Net> > > Furry Peace! - http://wwww.fur.com/peace/ > I think what he is saying is slice it up 1st, then mirror the slices, and slap the journal on top of that
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTin9vQo3GuN8qChPS59K9tUwYMid5D4=r=T0%2BR41>