|In our example, we journal both <filename>/usr</filename> and <filename>/var</filename>. You may of course adjust the procedure to your own needs.|
|To keep things as easy going as possible, we are going to use <application>sysinstall</application> to create the partitions required for journaling. However, during installation, <application>sysinstall</application> insists on asking a mount point for each partition you create. At this point, you do not have any mount points for the partitions that will hold the journals, and in reality you <emphasis>do not even need them</emphasis>. These are not partitions that we are ever going to mount somewhere.|
|To avoid these problems with <application>sysinstall</application>, we are going to create the journal partitions as swap space. Swap is never mounted, and <application>sysinstall</application> has no problem creating as many swap partitions as needed. After the first reboot, <filename>/etc/fstab</filename> will have to be edited, and the extra swap space entries removed.|
|To create the swap, again use the arrow keys to move the highlight to the top of <application>Disklabel</application> screen, so that the disk name itself is highlighted. Then press <keycap>N</keycap>, enter the desired size (<replaceable>1024M</replaceable>), and select <quote>swap space</quote> from the pop-up menu that appears. Repeat for every journal you wish to create. In our example, we create two partitions to provide for the journals of <filename>/usr</filename> and <filename>/var</filename>. The final result is shown in the following screenshot:|
|_||external ref='disklabel2' md5='__failed__'|
|When you have completed creating the partitions, we suggest you write down the partition names, and mount points, so you can easily refer to this information during the configuration phase. This will help alleviate mistakes that may damage your installation. The following table shows our notes for the sample configuration:|
|Partitions and Journals|
|Continue the installation as you would normally do. We would however suggest you postpone installation of third party software (packages) until you have completely setup journaling.|
|Booting for the first time|
|Your system will come up normally, but you will need to edit <filename>/etc/fstab</filename> and remove the extra swap partitions you created for the journals. Normally, the swap partition you will actually use is the one with the <quote>b</quote> suffix (i.e. ad0s1b in our example). Remove all other swap space entries and reboot so that FreeBSD will stop using them.|
|When the system comes up again, we will be ready to configure journaling.|
|Setting Up Journaling|
|Having prepared all the required partitions, it is quite easy to configure journaling. We will need to switch to single user mode, so login as <systemitem class="username">root</systemitem> and type:|
|<prompt>#</prompt> <userinput>shutdown now</userinput>|
|Press <keycap>Enter</keycap> to get the default shell. We will need to unmount the partitions that will be journaled, in our example <filename>/usr</filename> and <filename>/var</filename>:|
|<prompt>#</prompt> <userinput>umount /usr /var</userinput>|
|Load the module required for journaling:|
|<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.:|
No matching activity found.