Carl wrote:
My goal is to build a 2-disk server configured with gmirror and gjournal
for maximum reliability. There will never be a second operating system
on the system, but I prefer not to freak out any non-FreeBSD repair
tools that might be used, so I will use compatibility instead of
dangerously dedicated mode. This means I need one slice, but see no
reason for more. Inside that one slice will be the usual array of
partitions (ie. /, swap, /var, /tmp, /usr, /data).
Now, I think gmirror allows me to mirror the entire drive rather than
forcing me to do per-slice or even per-partition mirroring. I'm looking
for the simplest in-field replacement procedure when one of the drives
dies and I imagine a whole drive mirror achieves this. Am I right?
gjournal, OTOH, has me really confused. The man page for gjournal(8)
specifically does not recommend that small partitions be journaled. I
assume that's because the journal provider rivals the partition in size
and is therefore overhead heavy. It seems to me, though, that if I can
journal the slice as a whole instead of per-partition journaling, that
there will essentially then be only one journal provider for the
combination of all partitions (ie. slice) and that the aforementioned
overhead becomes minor. Having smaller partitions included in journaling
seems like a good thing to me. So how do I achieve per-slice journaling
instead of per-partition? Every time I read up on someone else's
gjournal implementation, it seems to end with adding <partition>.journal
entries to /etc/fstab. Am I trying to achieve the impossible or
ill-advised here?
I have some setups were gjournal was put on device rather the on
partition, i.e.:
[umgah] ~> gmirror status
Name Status Components
mirror/umgah0 COMPLETE ad0
ad1
[umgah] ~> gjournal status
Name Status Components
mirror/umgah0.journal N/A mirror/umgah0
[umgah] ~> glabel status
Name Status Components
ufs/umgah0root N/A mirror/umgah0.journala
label/umgah0swap N/A mirror/umgah0.journalb
ufs/umgah0usr N/A mirror/umgah0.journald
ufs/umgah0var N/A mirror/umgah0.journale
[umgah] ~> mount
/dev/ufs/umgah0root on / (ufs, asynchronous, local, noatime, gjournal)
devfs on /dev (devfs, local)
/dev/md0 on /tmp (ufs, asynchronous, local)
/dev/ufs/umgah0var on /var (ufs, asynchronous, local, noatime, gjournal)
/dev/ufs/umgah0usr on /usr (ufs, asynchronous, local, noatime, gjournal)
devfs on /var/named/dev (devfs, local)
And yes, mirror autosynchronization is turned off, gjournal takes care
of that too.
It's not stated in manual, but gjournal is typically transparent for any
type of access, just in case of UFS file system is marked as journaled
so any metadata writes can be distinguished from data writes. Without
that gjournal does literally nothing.
--
Sphinx of black quartz judge my vow.
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"