Source string Read only

(itstool) path: sect2/para
243/2430
Context English State
<prompt>#</prompt> <userinput>gjournal load</userinput>
Now, use your notes to determine which partition will be used for each journal. In our example, <filename>/usr</filename> is <filename>ad0s1f</filename> and its journal will be <filename>ad0s1g</filename>, while <filename>/var</filename> is <filename>ad0s1d</filename> and will be journaled to <filename>ad0s1h</filename>. The following commands are required:
<prompt>#</prompt> <userinput>gjournal label ad0s1f ad0s1g</userinput>

GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.

<prompt>#</prompt> <userinput>gjournal label ad0s1d ad0s1h</userinput>

GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
If the last sector of either partition is used, <command>gjournal</command> will return an error. You will have to run the command using the <option>-f</option> flag to force an overwrite, i.e.:
<prompt>#</prompt> <userinput>gjournal label -f ad0s1d ad0s1h</userinput>
Since this is a new installation, it is highly unlikely that anything will be actually overwritten.
At this point, two new devices are created, namely <filename>ad0s1d.journal</filename> and <filename>ad0s1f.journal</filename>. These represent the <filename>/var</filename> and <filename>/usr</filename> partitions we have to mount. Before mounting, we must however set the journal flag on them and clear the Soft Updates flag:
<prompt>#</prompt> <userinput>tunefs -J enable -n disable ad0s1d.journal</userinput>

tunefs: gjournal set
tunefs: soft updates cleared

<prompt>#</prompt> <userinput>tunefs -J enable -n disable ad0s1f.journal</userinput>

tunefs: gjournal set
tunefs: soft updates cleared
Now, mount the new devices manually at their respective places (note that we can now use the <option>async</option> mount option):
<prompt>#</prompt> <userinput>mount -o async /dev/ad0s1d.journal /var</userinput>
<prompt>#</prompt> <userinput>mount -o async /dev/ad0s1f.journal /usr</userinput>
Edit <filename>/etc/fstab</filename> and update the entries for <filename>/usr</filename> and <filename>/var</filename>:
/dev/ad0s1f.journal /usr ufs rw,async 2 2
/dev/ad0s1d.journal /var ufs rw,async 2 2
Make sure the above entries are correct, or you will have trouble starting up normally after you reboot!
Finally, edit <filename>/boot/loader.conf</filename> and add the following line so the <citerefentry><refentrytitle>gjournal</refentrytitle><manvolnum>8</manvolnum></citerefentry> module is loaded at every boot:
geom_journal_load="YES"
Congratulations! Your system is now set for journaling. You can either type <userinput>exit</userinput> to return to multi-user mode, or reboot to test your configuration (recommended). During the boot you will see messages like the following:
ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150
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.
After an unclean shutdown, the messages will vary slightly, i.e.:
GEOM_JOURNAL: Journal ad0s1d consistent.
This usually means that <citerefentry><refentrytitle>gjournal</refentrytitle><manvolnum>8</manvolnum></citerefentry> used the information in the journal provider to return the file system to a consistent state.
Journaling Newly Created Partitions
While the above procedure is necessary for journaling partitions that already contain data, journaling an empty partition is somewhat easier, since both the data and the journal provider can be stored in the same partition. For example, assume a new disk was installed, and a new partition <filename>/dev/ad1s1d</filename> was created. Creating the journal would be as simple as:
<prompt>#</prompt> <userinput>gjournal label ad1s1d</userinput>
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

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect2/para
Flags
read-only
Source string location
article.translate.xml:434
String age
a year ago
Source string age
a year ago
Translation file
articles/gjournal-desktop.pot, string 85