gvinum & gjournal

Ulf Lilleengen ulf.lilleengen at gmail.com
Thu Jan 15 08:57:00 PST 2009


On Thu, Jan 15, 2009 at 02:22:13PM +0100, Ivan Voras wrote:
> Ulf Lilleengen wrote:
> > On Wed, Jan 14, 2009 at 04:23:30PM -0500, Brian McCann wrote:
> >> Hi all.  I'm cross-posting this since I figure I'll have better luck
> >> finding someone who's done this before...
> >>
> >> I'm building a system that has 4 1.5TB Seagate SATA drives in it.
> >> I've setup gvinum and made mirrors for my OS partitions, and a raid5
> >> plex for a big data partition.  I'm trying to get gjournal to run on
> >> the raid5 volume...but it's doing stuff that isn't expected.  First,
> >> here's my gvinum config for the array:
> >>
> >> ---snip---
> >> drive e0 device /dev/ad8s1g
> >> drive e1 device /dev/ad10s1g
> >> drive e2 device /dev/ad12s1g
> >> drive e3 device /dev/ad14s1g
> >> volume array1
> >>   plex org raid5 128k
> >>     sd drive e0
> >>     sd drive e1
> >>     sd drive e2
> >>     sd drive e3
> >> ---/snip---
> >>
> >> Now...according to the handbook. the volume it creates is essentially
> >> a disk drive.  So...I run the following gjournal commands to make the
> >> journal, and here's what I get:
> >>
> >> ---snip---
> >> # gjournal label /dev/gvinum/array1
> >> GEOM_JOURNAL: Journal 4267655417: gvinum/plex/array1.p0 contains data.
> >> GEOM_JOURNAL: Journal 4267655417: gvinum/plex/array1.p0 contains journal.
> >> GEOM_JOURNAL: Journal gvinum/plex/array1.p0 clean.
> >> GEOM_JOURNAL: BIO_FLUSH not supported by gvinum/plex/array1.p0.
> >> # gjournal list
> >> Geom name: gjournal 4267655417
> >> ID: 4267655417
> >> Providers:
> >> 1. Name: gvinum/plex/array1.p0.journal
> >>    Mediasize: 4477282549248 (4.1T)
> >>    Sectorsize: 512
> >>    Mode: r0w0e0
> >> Consumers:
> >> 1. Name: gvinum/plex/array1.p0
> >>    Mediasize: 4478356291584 (4.1T)
> >>    Sectorsize: 512
> >>    Mode: r1w1e1
> >>    Jend: 4478356291072
> >>    Jstart: 4477282549248
> >>    Role: Data,Journal
> >> --/snip---
> >>
> >> So...why is it even touching the plex p0?  I figured it would, just
> >> like on a disk, if I gave it da0, create da0.journal.  Moving on, if I
> >> try to newfs the journal, which is now
> >> "gvinum/plex/array1.p0.journal", I get:
> >>
> > Hi,
> > 
> > It think that it touches it because the .p0 contains the gjournal metadata in
> > the same way that the volume does, so gjournal attaches to that before the
> > volume. One problem is that gjournal attaches to the "wrong" provider, but
> > it's also silly that the provider is exposed in the first place. A fix for
> > this is in a newer version of gvinum (as the plex is not exposed) if you're
> > willing to try.
> > 
> 
> A simpler fix is to use the "-h" - "hardcode provider name" switch to
> the "gjournal label" command (see the man page).
> 
Oh, nice feature. I recommend this then :)

-- 
Ulf Lilleengen


More information about the freebsd-questions mailing list