UFS Journaling

Mike Barnard mike.barnardq at gmail.com
Sat May 15 18:03:02 UTC 2010


On Sat, May 15, 2010 at 8:33 PM, b. f. <bf1783 at googlemail.com> wrote:

> >Hi,
> >
> >I'm trying out gjournal before I implement if on one server. I require
> more
> >than 8 partitions, but since I cannot do this, have 9 partitions on one
>
> You can do this with gpart and a GPT scheme.
>
> hmmmm... I'll dig into this and read on it.



>
> >slice, I have created two slices on the disk, da0s1 (100GB) and da0s2
> >(40GB). On the first slice, I have my usual partitions. On the second
> slice,
> >I have two partitions, each 20GB (da0s2d and da0s2e) that will be used as
> >the journal providers.
> >
> >I need to journaled two partitions /usr (da0s1f) and /resource (da0s1g). I
> >have done the following to get my data providers and journal providers
> >
> >-- boot into single usermode
> >-- unmount /usr and /resource
> >-- gjournal load
> >-- gjournal label -f da0s1f da0s2d
> >-- gjournal label -f da0s1g da0s2e
> >-- tunefs -J enable -n disable da0s1f.journal
> >-- tunefs -J enable -n disable da0s1g.journal
> >-- mount /dev/da0s1f.journal /usr and mount /dev/da0s1g.journal /resource.
> >Each mount with -o async
> >-- edited fstab to mount the data providers
>
> Er, by the above do you mean "mount the journal devices"? As in,
> adding something like:
>
> /dev/da0s1f.journal     /usr            ufs     rw,async      2       2
> /dev/da0s1g.journal     /resource            ufs     rw,async      2
> 2
>
> and eliminating the previously existing entries for /usr and
> /resource?  If you have something else involving /usr, /resource, or
> any of the providers, that could cause serious problems.
>
>
Sorry... I was a little tired and did not read over what I had written. In
my fstab, I have the journal devices as you have mentioned.


> >-- edited loader.conf and added geom_journal_load="YES"
> >
> >If I enter ctrl+d, I continue to multi usermode with no problem. However,
> I
> >needed to reboot and I get the messages below when it tries to mount the
> >partitions:
> >
> >Root mount waiting for: GJOURNAL GJOURNAL
> >Root mount waiting for: GJOURNAL GJOURNAL
> >GEOM_JOURNAL: Timeout. Journal gjournal 3033687591 cannot be completed
> >GEOM_JOURNAL: Journal 3033687591 : da0s1f contains data.
> >Root mount waiting for: GJOURNAL GJOURNAL
> >Root mount waiting for: GJOURNAL GJOURNAL
> >GEOM_JOURNAL: Timeout. Journal gjournal 107992178 cannot be completed
> >GEOM_JOURNAL: Journal 107992178 : da0s1g contains data.
> >Root mount waiting for: GJOURNAL GJOURNAL
> >Root mount waiting for: GJOURNAL GJOURNAL
> >GEOM_JOURNAL: Timeout. Journal gjournal 3033687591 cannot be completed
> >GEOM_JOURNAL: Journal 3033687591 : ufsid/4bed9437003f40f4 contains data.
> >Root mount waiting for: GJOURNAL GJOURNAL
> >Root mount waiting for: GJOURNAL GJOURNAL
> >GEOM_JOURNAL: Timeout. Journal gjournal 3033687591 cannot be completed
> >GEOM_JOURNAL: Journal 3033687591 : ufsid/4bed9437dfb979f4 contains data.
> >
> >This goes on and on... I cannot go beyond this point. Did I miss
> something?
> >
>
> You may want to start from scratch, after having zero'd out the disk,
> to eliminate any garbage from previous installations that may confuse
> geom.  What kind of a disk is da0?  What kind of bus is it on?
>
>
sigh... i did... about 5 times... and I still ended up at the same point...
Root mount waiting for.... :-(



> >PS: I started off with a journal provider partition of 5GB and increased
> all
> >the way to 20GB. This was after I googled and read that this error will
> >occur if the journal provider size is small. I have attempted this with
> the
> >journal provider partions on the first slice, da0s1 and also on the second
> >sloce da0s2. All get me the above error.
> >
>
> Holy mammoth journals, Batman! If you want to be _conservative_, you
> should have journals that are about:
>
> 2* kern.geom.journal.switch_time * maximum disk throughput per second
>
> That's about
>
> 2 * 10s * 200 MB/s
>
> or roughly 3.9GB, and that's for a fast drive, so 20GB is probably
> overkill.  You can monitor various useful statistics and settings by
> looking at "sysctl kern.geom.journal".  Among other things, those
> sysctls can tell you about full journals and cache misses.
>
>
My first journals were 4GB in size, but I got the errors mentioned above. I
googled and what I found was a reference to the journals being too small
compared to the data providers. There is a
suggestion<http://www.freebsd.org/doc/en/articles/gjournal-desktop/>that
was given to have the journal sizes 3.3 x RAM. This seemed a little
too
big for my setup. I have 8GB RAM.

Im puzzled on this one :-/


-- 
Mike

Of course, you might discount this possibility, but remember that one in
a million chances happen 99% of the time.
------------------------------------------------------------


More information about the freebsd-questions mailing list