|The journal size will be 1 GB by default. You may adjust it by using the <option>-s</option> option. The value can be given in bytes, or appended by <literal>K</literal>, <literal>M</literal> or <literal>G</literal> to denote Kilobytes, Megabytes or Gigabytes respectively. Note that <command>gjournal</command> will not allow you to create unsuitably small journal sizes.|
|For example, to create a 2 GB journal, you could use the following command:|
|<prompt>#</prompt> <userinput>gjournal label -s 2G ad1s1d</userinput>|
|You can then create a file system on your new partition, and enable journaling using the <option>-J</option> option:|
|<prompt>#</prompt> <userinput>newfs -J /dev/ad1s1d.journal</userinput>|
|Building Journaling into Your Custom Kernel|
|If you do not wish to load <literal>geom_journal</literal> as a module, you can build its functions right into your kernel. Edit your custom kernel configuration file, and make sure it includes these two lines:|
options UFS_GJOURNAL # Note: This is already in GENERIC
options GEOM_JOURNAL # You will have to add this one
|Rebuild and reinstall your kernel following the relevant <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html">instructions in the FreeBSD Handbook.</link>|
|Do not forget to remove the relevant <quote>load</quote> entry from <filename>/boot/loader.conf</filename> if you have previously used it.|
|The following section covers frequently asked questions regarding problems related to journaling.|
|I am getting kernel panics during periods of high disk activity. How is this related to journaling?|
|The journal probably fills up before it has a chance to get committed (flushed) to disk. Keep in mind the size of the journal depends on the usage load, and not the size of the data provider. If your disk activity is high, you need a larger partition for the journal. See the note in the <link linkend="understanding-journaling">Understanding Journaling</link> section.|
|I made some mistake during configuration, and I cannot boot normally now. Can this be fixed some way?|
|You either forgot (or misspelled) the entry in <filename>/boot/loader.conf</filename>, or there are errors in your <filename>/etc/fstab</filename> file. These are usually easy to fix. Press <keycap>Enter</keycap> to get to the default single user shell. Then locate the root of the problem:|
|<prompt>#</prompt> <userinput>cat /boot/loader.conf</userinput>|
|If the <literal>geom_journal_load</literal> entry is missing or misspelled, the journaled devices are never created. Load the module manually, mount all partitions, and continue with multi-user boot:|
<prompt>#</prompt> <userinput>gjournal load</userinput>
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.
<prompt>#</prompt> <userinput>mount -a</userinput>
|If, on the other hand, this entry is correct, have a look at <filename>/etc/fstab</filename>. You will probably find a misspelled or missing entry. In this case, mount all remaining partitions by hand and continue with the multi-user boot.|
|Can I remove journaling and return to my standard file system with Soft Updates?|
|Sure. Use the following procedure, which reverses the changes. The partitions you created for the journal providers can then be used for other purposes, if you so wish.|
|Login as <systemitem class="username">root</systemitem> and switch to single user mode:|
|Unmount the journaled partitions:|
|Synchronize the journals:|
|<prompt>#</prompt> <userinput>gjournal sync</userinput>|
|Stop the journaling providers:|
<prompt>#</prompt> <userinput>gjournal stop ad0s1d.journal</userinput>
<prompt>#</prompt> <userinput>gjournal stop ad0s1f.journal</userinput>
|Clear journaling metadata from all the devices used:|
<prompt>#</prompt> <userinput>gjournal clear ad0s1d</userinput>
<prompt>#</prompt> <userinput>gjournal clear ad0s1f</userinput>
<prompt>#</prompt> <userinput>gjournal clear ad0s1g</userinput>
<prompt>#</prompt> <userinput>gjournal clear ad0s1h</userinput>
|Clear the file system journaling flag, and restore the Soft Updates flag:|
No matching activity found.