Whitespace only: Fix several whitespace issues in Handbook's 'geom' chapter

This commit is contained in:
Manolis Kiagias 2008-11-26 12:21:48 +00:00
parent 237405f64b
commit f195ab2200
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33302

View file

@ -30,7 +30,7 @@
<para>This chapter covers the use of disks under the GEOM
framework in &os;. This includes the major <acronym
role="Redundant Array of Inexpensive Disks">RAID</acronym>
role="Redundant Array of Inexpensive Disks">RAID</acronym>
control utilities which use the framework for configuration.
This chapter will not go into in depth discussion on how GEOM
handles or controls I/O, the underlying subsystem, or code.
@ -50,12 +50,11 @@
<listitem>
<para>How to use the base utilities to configure, maintain,
and manipulate the various <acronym>RAID</acronym>
levels.</para>
and manipulate the various <acronym>RAID</acronym> levels.</para>
</listitem>
<listitem>
<para>How to mirror, stripe, encrypt, and remotely connect disk
<para>How to mirror, stripe, encrypt, and remotely connect disk
devices through GEOM.</para>
</listitem>
@ -93,19 +92,19 @@
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - Striping</title>
@ -134,90 +133,92 @@
the same size, since I/O requests are interleaved to read or
write to multiple disks in parallel.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Creating a stripe of unformatted ATA disks</title>
<step><para>Load the <filename>geom_stripe.ko</filename>
module:</para>
<step>
<para>Load the <filename>geom_stripe.ko</filename>
module:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step><para>Ensure that a suitable mount point exists. If this
volume will become a root partition, then temporarily use
another mount point such as <filename
class="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step><para>Determine the device names for the disks which will
be striped, and create the new stripe device. For example,
to stripe two unused and unpartitioned <acronym>ATA</acronym> disks,
for example <filename>/dev/ad2</filename> and
<filename>/dev/ad3</filename>:</para>
<step>
<para>Ensure that a suitable mount point exists. If this
volume will become a root partition, then temporarily use
another mount point such as <filename
class="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step>
<para>Determine the device names for the disks which will
be striped, and create the new stripe device. For example,
to stripe two unused and unpartitioned <acronym>ATA</acronym> disks,
for example <filename>/dev/ad2</filename> and
<filename>/dev/ad3</filename>:</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput>
Metadata value stored on /dev/ad2.
Metadata value stored on /dev/ad3.
Done.</screen>
</step>
<step><para>Write a standard label, also known as a partition
table, on the new volume and install the default
bootstrap code:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
<step>
<para>Write a standard label, also known as a partition
table, on the new volume and install the default
bootstrap code:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step><para>This process should have created two other devices
in the <filename class="directory">/dev/stripe</filename>
directory in addition to the <devicename>st0</devicename> device.
Those include <devicename>st0a</devicename> and
<devicename>st0c</devicename>. At this point a file system may be created
on the <devicename>st0a</devicename> device with the
<command>newfs</command> utility:</para>
<step>
<para>This process should have created two other devices
in the <filename class="directory">/dev/stripe</filename>
directory in addition to the <devicename>st0</devicename> device.
Those include <devicename>st0a</devicename> and
<devicename>st0c</devicename>. At this point a file system may be
created on the <devicename>st0a</devicename> device with the
<command>newfs</command> utility:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Many numbers will glide across the screen, and after a few
seconds, the process will be complete. The volume has been
created and is ready to be mounted.</para>
</step>
</procedure>
<para>Many numbers will glide across the screen, and after a few
seconds, the process will be complete. The volume has been
created and is ready to be mounted.</para>
</step>
</procedure>
<para>To manually mount the created disk stripe:</para>
<para>To manually mount the created disk stripe:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>To mount this striped file system automatically during the boot
process, place the volume information in
<filename>/etc/fstab</filename> file. For this purpose, a permanent mount
point, named <filename class="directory">stripe</filename>, is
created:</para>
<para>To mount this striped file system automatically during the boot
process, place the volume information in
<filename>/etc/fstab</filename> file. For this purpose, a permanent
mount point, named <filename class="directory">stripe</filename>, is
created:</para>
<screen>&prompt.root; <userinput>mkdir /stripe</userinput>
<screen>&prompt.root; <userinput>mkdir /stripe</userinput>
&prompt.root; <userinput>echo "/dev/stripe/st0a /stripe ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>The <filename>geom_stripe.ko</filename> module must also be automatically loaded during
system initialization, by adding a line to
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>The <filename>geom_stripe.ko</filename> module must also be
automatically loaded during system initialization, by adding a line to
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
@ -237,8 +238,7 @@ Done.</screen>
important aspect is that information on one disk or partition is
being replicated. Later, that information could be more easily
restored, backed up without causing service or access
interruption, and even be physically stored in a data
safe.</para>
interruption, and even be physically stored in a data safe.</para>
<para>To begin, ensure the system has two disk drives of equal size,
these exercises assume they are direct access (&man.da.4;)
@ -291,20 +291,21 @@ Done.</screen>
<para>Edit the <filename>/etc/fstab</filename> file, replacing
references to the old <devicename>da0</devicename> with the
new device nodes of the <devicename>gm0</devicename> mirror device.</para>
new device nodes of the <devicename>gm0</devicename> mirror
device.</para>
<note>
<para>If &man.vi.1; is your preferred editor, the following is
an easy way to accomplish this task:</para>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<para>In &man.vi.1; back up the current contents of
<filename>fstab</filename> by typing
<userinput>:w /etc/fstab.bak</userinput>. Then
replace all old <devicename>da0</devicename> references
with <devicename>gm0</devicename> by typing
<userinput>:%s/da/mirror\/gm/g</userinput>.<para>
<para>In &man.vi.1; back up the current contents of
<filename>fstab</filename> by typing
<userinput>:w /etc/fstab.bak</userinput>. Then
replace all old <devicename>da0</devicename> references
with <devicename>gm0</devicename> by typing
<userinput>:%s/da/mirror\/gm/g</userinput>.<para>
</note>
<para>The resulting <filename>fstab</filename> file should look
@ -368,6 +369,7 @@ mirror/gm0 COMPLETE da0
<sect2>
<title>Troubleshooting</title>
<sect3>
<title>System refuses to boot</title>
@ -539,7 +541,7 @@ ggate0
specific, and will be created in the <filename
class="directory">/dev/label</filename> directory.</para>
<para>A temporary label will go away with the next reboot. These
<para>A temporary label will go away with the next reboot. These
labels will be created in the
<filename class="directory">/dev/label</filename> directory and
are perfect for experimentation. A temporary label can be
@ -657,7 +659,7 @@ devfs on /dev (devfs, local)
<sect1 id="geom-gjournal">
<title>UFS Journaling Through GEOM</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
@ -674,7 +676,7 @@ devfs on /dev (devfs, local)
<para>What is journaling? Journaling capability stores a log of
file system transactions, i.e.: changes that make up a complete
disk write operation, before meta-data and file writes are
committed to the disk proper. This transaction log can later
committed to the disk proper. This transaction log can later
be replayed to redo file system transactions, preventing file
system inconsistencies.</para>
@ -682,9 +684,8 @@ devfs on /dev (devfs, local)
loss and inconsistencies of the file system. Unlike Soft Updates
which tracks and enforces meta-data updates and Snapshots which
is an image of the file system, an actual log is stored in disk
space specifically reserved for this task,
and in some cases may be stored on another disk
entirely.</para>
space specifically reserved for this task, and in some cases may be
stored on another disk entirely.</para>
<para>Unlike other file system journaling implementations, the
<command>gjournal</command> method is block based and not
@ -720,8 +721,8 @@ devfs on /dev (devfs, local)
<para>At this point, there should be a
<devicename>/dev/da4</devicename> device node and a
<devicename>/dev/da4.journal</devicename> device node. A
file system may now be created on this device:</para>
<devicename>/dev/da4.journal</devicename> device node.
A file system may now be created on this device:</para>
<screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>
@ -736,11 +737,12 @@ devfs on /dev (devfs, local)
<note>
<para>In the case of several slices, a journal will be created
for each individual slice. For instance, if <devicename>ad4s1</devicename> and <devicename>ad4s2</devicename>
for each individual slice. For instance, if
<devicename>ad4s1</devicename> and <devicename>ad4s2</devicename>
are both slices, then <command>gjournal</command> will create
<devicename>ad4s1.journal</devicename> and <devicename>ad4s2.journal</devicename>. In the case of the command
being run twice, the result will be
<quote>journals</quote>.</para>
<devicename>ad4s1.journal</devicename> and
<devicename>ad4s2.journal</devicename>. In the case of the command
being run twice, the result will be <quote>journals</quote>.</para>
</note>
<para>Under some circumstances, keeping the journal on another disk
@ -751,8 +753,7 @@ devfs on /dev (devfs, local)
before attempting to alter a file system. In most cases, the
<command>gjournal</command> will fail if it is unable to create
the actual journal but this does not protect against data loss
incurred as a result of misusing
<command>tunefs</command>.</para>
incurred as a result of misusing <command>tunefs</command>.</para>
<para>It is also possible to journal the boot disk of a &os; system.
Please refer to the article <ulink