|
Lines 148-170
Link Here
|
| 148 |
<step><para>Load the <filename>geom_stripe</filename> |
148 |
<step><para>Load the <filename>geom_stripe</filename> |
| 149 |
module:</para> |
149 |
module:</para> |
| 150 |
|
150 |
|
| 151 |
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen> |
151 |
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen> |
| 152 |
</step> |
152 |
</step> |
| 153 |
|
153 |
|
| 154 |
<step><para>Ensure that a suitable mount point exists. If this |
154 |
<step><para>Ensure that a suitable mount point exists. If this |
| 155 |
volume will become a root partition, then temporarily use |
155 |
volume will become a root partition, then temporarily use |
| 156 |
another mount point such as <filename |
156 |
another mount point such as <filename |
| 157 |
role="directory">/mnt</filename>.</para> |
157 |
role="directory">/mnt</filename>:</para> |
| 158 |
|
158 |
|
| 159 |
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen> |
159 |
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen> |
| 160 |
</step> |
160 |
</step> |
| 161 |
|
161 |
|
| 162 |
<step><para>Determine the device names for the disks which will |
162 |
<step><para>Determine the device names for the disks which will |
| 163 |
be striped, and create the new stripe device. For example, |
163 |
be striped, and create the new stripe device. For example, |
| 164 |
the following command could be used to stripe two unused, |
164 |
to stripe two unused and unpartitioned <acronym>ATA</acronym> disks, |
| 165 |
unpartitioned <acronym>ATA</acronym> disks: |
165 |
for example <filename>/dev/ad2</filename> and |
| 166 |
<filename>/dev/ad2</filename> and |
166 |
<filename>/dev/ad3</filename>:</para> |
| 167 |
<filename>/dev/ad3</filename>.</para> |
|
|
| 168 |
|
167 |
|
| 169 |
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen> |
168 |
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen> |
| 170 |
|
169 |
|
|
Lines 176-189
Link Here
|
| 176 |
</step> |
175 |
</step> |
| 177 |
|
176 |
|
| 178 |
<step><para>If this volume will be used as a root device for |
177 |
<step><para>If this volume will be used as a root device for |
| 179 |
booting the system, then the following command must be issued |
178 |
booting the system, don't forget to initialize it entirely |
| 180 |
before the file system is created:</para> |
179 |
before creating the file system:</para> |
| 181 |
|
180 |
|
| 182 |
<screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen> |
181 |
<screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen> |
| 183 |
</step> |
182 |
</step> |
| 184 |
|
183 |
|
| 185 |
<step><para>A partition table must be created on the new volume |
184 |
<step><para>Write a standard label (also known as a partition |
| 186 |
with the following command:</para> |
185 |
table) on the new volume, as well as installing the default |
|
|
186 |
bootstrap code:</para> |
| 187 |
|
187 |
|
| 188 |
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen> |
188 |
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen> |
| 189 |
|
189 |
|
|
Lines 193-212
Link Here
|
| 193 |
in the <filename role="directory">/dev/stripe</filename> |
193 |
in the <filename role="directory">/dev/stripe</filename> |
| 194 |
directory in addition to the <filename>st0</filename> device. |
194 |
directory in addition to the <filename>st0</filename> device. |
| 195 |
Those include <filename>st0a</filename> and |
195 |
Those include <filename>st0a</filename> and |
| 196 |
<filename>st0c</filename>. A file system must now be created |
196 |
<filename>st0c</filename>. A file system can now be created |
| 197 |
on the <filename>st0a</filename> device using the following |
197 |
on the <filename>st0a</filename> device using the |
| 198 |
<command>newfs</command> command:</para> |
198 |
<command>newfs</command> utility:</para> |
| 199 |
|
199 |
|
| 200 |
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen> |
200 |
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen> |
| 201 |
|
201 |
|
| 202 |
<para>Many numbers will glide across the screen, and after a few |
202 |
<para>Many numbers will glide across the screen, and after a few |
| 203 |
seconds, the process will be complete. The volume has been |
203 |
seconds, the process will be complete. The volume has been |
| 204 |
created and is ready to be mounted:</para> |
204 |
created and is ready to be mounted.</para> |
| 205 |
</step> |
205 |
</step> |
| 206 |
</procedure> |
206 |
</procedure> |
| 207 |
|
207 |
|
| 208 |
<para>The following command can be used to manually mount a newly |
208 |
<para>To manually mount a newly-created disk stripe:</para> |
| 209 |
created disk stripe.</para> |
|
|
| 210 |
|
209 |
|
| 211 |
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen> |
210 |
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen> |
| 212 |
|
211 |
|
|
Lines 219-225
Link Here
|
| 219 |
|
218 |
|
| 220 |
<para>The geom module must also be automatically loaded during |
219 |
<para>The geom module must also be automatically loaded during |
| 221 |
system initialization, by adding a line to |
220 |
system initialization, by adding a line to |
| 222 |
<filename>/boot/loader.conf</filename>.</para> |
221 |
<filename>/boot/loader.conf</filename>:</para> |
| 223 |
|
222 |
|
| 224 |
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen> |
223 |
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen> |
| 225 |
|
224 |
|
|
Lines 283-289
Link Here
|
| 283 |
<screen>&prompt.root; <userinput>geom load</userinput></screen> |
282 |
<screen>&prompt.root; <userinput>geom load</userinput></screen> |
| 284 |
|
283 |
|
| 285 |
<para>Install generic <command>fdisk</command> label and boot code |
284 |
<para>Install generic <command>fdisk</command> label and boot code |
| 286 |
to newly created <filename>gm0</filename> device:</para> |
285 |
to the new <filename>gm0</filename> device:</para> |
| 287 |
|
286 |
|
| 288 |
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen> |
287 |
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen> |
| 289 |
|
288 |
|
|
Lines 298-305
Link Here
|
| 298 |
the slice and partition size of the other disk.</para> |
297 |
the slice and partition size of the other disk.</para> |
| 299 |
</note> |
298 |
</note> |
| 300 |
|
299 |
|
| 301 |
<para>Use the &man.newfs.8; utility to create a default file |
300 |
<para>Use the &man.newfs.8; utility to construct a default <acronym>UFS</acronym> |
| 302 |
system on the <filename>gm0s1a</filename> device node:</para> |
301 |
file system on the <filename>gm0s1a</filename> device node:</para> |
| 303 |
|
302 |
|
| 304 |
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen> |
303 |
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen> |
| 305 |
|
304 |
|
|
Lines 324-330
Link Here
|
| 324 |
|
323 |
|
| 325 |
<para>Now edit the replicated <filename>/mnt/etc/fstab</filename> |
324 |
<para>Now edit the replicated <filename>/mnt/etc/fstab</filename> |
| 326 |
file and remove or comment out the swap file. Change the other |
325 |
file and remove or comment out the swap file. Change the other |
| 327 |
file system information to use the new disk. See the following |
326 |
file system information to use the new disk, as shown in this |
| 328 |
example:</para> |
327 |
example:</para> |
| 329 |
|
328 |
|
| 330 |
<programlisting># Device Mountpoint FStype Options Dump Pass# |
329 |
<programlisting># Device Mountpoint FStype Options Dump Pass# |
|
Lines 346-360
Link Here
|
| 346 |
new root partition, a failsafe is available.</para> |
345 |
new root partition, a failsafe is available.</para> |
| 347 |
</note> |
346 |
</note> |
| 348 |
|
347 |
|
| 349 |
<para>Now add the following line to |
348 |
<para>Then, adapt the content of the configurtion file |
| 350 |
<filename>/boot/loader.conf:</filename></para> |
349 |
<filename>/boot/loader.conf</filename> to instruct &man.loader.8; |
|
|
350 |
utility to load the <filename>geom_mirror.ko</filename> during |
| 351 |
system initialization:</para> |
| 351 |
|
352 |
|
| 352 |
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /boot/loader.conf</userinput></screen> |
353 |
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /boot/loader.conf</userinput></screen> |
| 353 |
|
354 |
|
| 354 |
<para>This will instruct &man.loader.8; utility to load the |
|
|
| 355 |
<filename>geom_mirror.ko</filename> during system |
| 356 |
initialization.</para> |
| 357 |
|
| 358 |
<para>Reboot the system:</para> |
355 |
<para>Reboot the system:</para> |
| 359 |
|
356 |
|
| 360 |
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> |
357 |
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> |
|
Lines 392-398
Link Here
|
| 392 |
system to a &man.loader.8; prompt. Load the kernel module |
389 |
system to a &man.loader.8; prompt. Load the kernel module |
| 393 |
manually:</para> |
390 |
manually:</para> |
| 394 |
|
391 |
|
| 395 |
<screen>OK? <userinput>load geom_mirror.ko</userinput> |
392 |
<screen>OK? <userinput>load geom_mirror</userinput> |
| 396 |
OK? <userinput>boot</userinput></screen> |
393 |
OK? <userinput>boot</userinput></screen> |
| 397 |
|
394 |
|
| 398 |
<para>If this works then for whatever reason the module was not |
395 |
<para>If this works then for whatever reason the module was not |