Fw: Best way for a gmirrored gjournal?

Ivan Voras ivoras at freebsd.org
Tue Oct 30 16:11:40 PDT 2007

Patrick Hurrelmann wrote:

> I kindly ask you for your ideas and proposals on my questions below.

Some of the questions seem a bit confused.

> The server in question is a amd64 with 512mb of ram and 2x 80gb sata
> hdds. So I was thinking of a mount-point layout like the following:
> ad0s1
>  /       (1gb)
>  swap    (1gb)
>  /var    (8gb)
>  /tmp    (1gb)
>  /home   (4gb)
>  /usr   (13gb)
>  /jails (39gb)
> ad0s2
>  10gb for journaling
> Which would leave a space of 10gb for journaling. I digged through the
> mailinglist-archives and man-pages of gmirror and gjournal but all I
> ended up with are questions and doubts :)
> Now I wanted to create 2 mirrors (gm0s1 and gm0s2). Gmirror gm0s1
> containing the slices ad0s1 and ad2s1, while gm0s2 should contain ad0s2
> and ad2s2. I created 2 slices, as with the above shown partitioning I
> was running out of mount-points for this slice.

What do you mean by "running out of mount-points"? Do you mean you don't
have any more bsdlabel entries available (e.g. the "a" part of
"ad0s1a")? If so, you should probably stop using bsdlabels for
everything except the root partition (i.e. make ad0s1a the root, make
all other space into ad0s2 and sub-partition ad0s2 with GPT. This
"weird" setup is required because 7.0 can't boot from GPT).

> Is such a layout reasonable? Or is it stupid to use a dedicated slice
> just for journaling and better skip e.g /tmp partition to leave space
> for a dedicated journaling partition on this slice? 

In your case, it doesn't really matter from the technical point of view.
It's easier for administration when the journal is embedded on the same
slice as the file system.

>Btw. are 10gb
> enough for journaling of 6 partitions? Or do I need one dedicated
> partition for journaling each?

Required journal size depends on the speed of your drive and journal
switch (sync) time intervals. You need at least (drive_speed *
switch_time * 2) space for the journal (e.g. for a drive that does 50
MB/s and for switch time of 10 seconds, you need 50*10*2=1 GB). The
reasoning behind the magic number "2" is that you need two journal
areas, one being used and the other committed.

> What do you people out there suggest? How do you handle systems with
> gmirror and gjournal combined? Or even use ZFS although ram is limited
> (as the machine will serve up several jails with e.g. postgres)? 

You probably don't want to use ZFS with 512 MB of RAM if you need the
machine up 24/7. If you have that many file systems, one journal per
file system is about the only thing you can do (and it doesn't matter if
the file system is on a regular or gmirrored drive). A slightly simpler
solution would be to mirror the whole drives (ad0+ad2) but it's mostly a
cosmetical issue.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20071030/9251bd26/signature.pgp

More information about the freebsd-questions mailing list