aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
blob: 398d4a967070fccb5b272cd1b2c2fe439a6e791c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
     The FreeBSD Dutch Documentation Project

     $FreeBSD$

     %SOURCE%	en_US.ISO8859-1/books/handbook/geom/chapter.sgml
     %SRCID%	39544
-->

<chapter id="GEOM">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Tom</firstname>
	<surname>Rhodes</surname>
	<contrib>Geschreven door </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Siebrand</firstname>
	<surname>Mazeland</surname>
	<contrib>Vertaald door </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>GEOM: Modulair schijftransformatie raamwerk</title>

  <sect1 id="GEOM-synopsis">
    <title>Overzicht</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm>
      <primary>GEOM schijf raamwerk</primary>

      <see>GEOM</see>
    </indexterm>

    <para>Dit hoofdstuk beschrijft het gebruik van schijven in het
      GEOM raamwerk in &os;.  Hieronder vallen de belangrijkste
      <acronym
	role="Redundant Array of Inexpensive Disks">RAID</acronym>
      besturingsprogramma's die het raamwerk gebruikt voor
      instellingen.  In dit hoofdstuk wordt niet diepgaand beschreven
      hoe GEOM omgaat met I/O, het onderliggende subsysteem of code.
      Die informatie staat in het hulppagina voor &man.geom.4; en de
      verscheidene <quote>SEE ALSO</quote> referenties.  Dit hoofdstuk
      is ook geen definitief stuk over het instellen van
      <acronym>RAID</acronym>.  Alleen de door GEOM ondersteunde
      <acronym>RAID</acronym>-classificaties worden beschreven.</para>

    <para>Na het lezen van dit hoofdstuk weet de lezer:</para>

    <itemizedlist>
      <listitem>
	<para>Welk type <acronym>RAID</acronym>-ondersteuning via GEOM
	  beschikbaar is;</para>
      </listitem>

      <listitem>
	<para>Hoe de basisgereedschappen te gebruiken om de
	  verschillende <acronym>RAID</acronym>-niveaus in te stellen,
	  te onderhouden en te wijzigen;</para>
      </listitem>

      <listitem>
	<para>Hoe schijfapparaten via GEOM te spiegelen, aaneen te
	  schakelen, te versleutelen en vanaf afstand schijven aan te
	  sluiten;</para>
      </listitem>

      <listitem>
	<para>Hoe problemen op te lossen met schijven die via het GEOM
	  raamwerk zijn aangesloten.</para>
      </listitem>
    </itemizedlist>

    <para>Veronderstelde voorkennis:</para>

    <itemizedlist>
      <listitem>
	<para>Begrijpen hoe &os; omgaat met schijfapparaten (<xref
	    linkend="disks"/>);</para>
      </listitem>

      <listitem>
	<para>Weten hoe een nieuwe &os; kernel in te stellen en te
	  installeren (<xref linkend="kernelconfig"/>).</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="GEOM-intro">
    <title>GEOM inleiding</title>

    <para>GEOM staat toegang en controle toe op klassen, Master Boot
      Records, <acronym>BSD</acronym> labels, enzovoort, door gebruik
      te maken van diensten of de speciale bestanden in <filename
	class="directory">/dev</filename>.  GEOM ondersteunt
      verschillende software <acronym>RAID</acronym> instellingen en
      biedt transparante toegang tot het besturingssysteem en de
      hulpprogramma's.</para>
  </sect1>

  <sect1 id="GEOM-striping">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Geschreven door </contrib>
	</author>
	<author>
	  <firstname>Murray</firstname>
	  <surname>Stokely</surname>
	</author>
      </authorgroup>
    </sect1info>

    <title>RAID0 - aaneengeschakeld</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm><primary>aaneengeschakeld</primary></indexterm>

    <para>Aaneenschakelen is een methode die gebruikt wordt
      om meerdere schijven te combineren tot een enkele volume.  In
      veel gevallen wordt dit gedaan met hardware controllers.  Het
      GEOM subsysteem biedt softwareondersteuning voor
      <acronym>RAID</acronym>0, ook wel bekend als aaneenschakelen
      (<quote>disk striping</quote>).</para>

    <para>In een <acronym>RAID</acronym>0-systeem worden gegevens
      opgedeeld in blokken die verdeeld worden over de schijven in een
      reeks.  In plaats van te hoeven wachten tot een systeem 256k naar
      één schijf heeft geschreven, kan een
      <acronym>RAID</acronym>0-systeem tegelijkertijd 64k naar vier
      verschillende schijven schrijven, waardoor superieure I/O
      prestaties worden bereikt.  Deze prestaties kunnen nog verbeterd
      worden door meerdere schijfcontrollers te gebruiken.</para>

    <para>Iedere schijf in een
      <acronym>RAID</acronym>0-aaneenschakeling moet van dezelfde
      grootte zijn, omdat I/O-verzoeken altijd zijn opgebouwd uit
      precies gelijk over de schijven verdeelde verzoeken tot lezen of
      schrijven.</para>

    <mediaobject>
      <imageobject>
	<imagedata fileref="geom/striping" align="center"/>
      </imageobject>

      <textobject>
	<phrase>Illustratie aaneengeschakelde schijven</phrase>
      </textobject>
    </mediaobject>

    <procedure>
      <title>Ongeformatteerde ATA-schijven aaneenschakelen</title>

      <step>
	<para>Laad de module <filename>geom_stripe.ko</filename>:</para>

	<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
      </step>

      <step>
	<para>Zorg ervoor dat er een koppelpunt beschikbaar is.  Als dit
	  volume een rootpartitie wordt, gebruikt dan tijdelijk een
	  ander koppelpunt zoals <filename
	    class="directory">/mnt</filename>:</para>

	<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
      </step>

      <step>
	<para>Stel de apparaatnamen voor de schijven vast die aaneen
	  worden geschakeld en maak het nieuwe apparaat aan.  Om twee
	  ongebruikte, ongepartitioneerde <acronym>ATA</acronym>
	  schijven aaneen te schakelen (<filename>/dev/ad2</filename>
	  en <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>Schrijf een standaard label naar de nieuwe partitie, ook
	  wel bekend als een partitietabel en installeer de standaard
	  opstart code:</para>

	<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
      </step>

      <step>
	<para>Dit proces hoort twee nieuwe apparaten gemaakt te hebben
	  in de map <filename class="directory">/dev/stripe</filename>
	  naast het apparaat <devicename>st0</devicename>, te weten
	  <devicename>st0a</devicename> en
	  <devicename>st0c</devicename>.  Vanaf nu kan er een
	  bestandssysteem op <devicename>st0a</devicename> worden
	  gezet met behulp van de <command>newfs</command> applicatie:</para>

	<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>

	<para>Na het uitvoeren van het bovenstaande commando rollen er
	  veel getallen over het scherm en na een aantal seconden is
	  het proces afgerond.  Het volume is gereed en klaar om
	  aangekoppeld te worden.</para>
      </step>
    </procedure>

    <para>Om de nieuwe aaneengeschakelde schijf handmatig te koppelen
      moet het volgende gedaan worden:</para>

    <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>

    <para>Om dit aaneengeschakelde bestandssysteem automatisch aan te
      koppelen bij het opstarten wordt de volume-informatie in
      <filename>/etc/fstab</filename> gezet.  Voor dit doel wordt een
      permanent koppelpunt, genaamd <filename
	class="directory">stripe</filename>, aangemaakt:</para>

    <screen>&prompt.root; <userinput>mkdir /stripe</userinput>
&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
      <userinput>&gt;&gt; /etc/fstab</userinput></screen>

    <para>Laadt de module <filename>geom_stripe.ko</filename> ook
      automatisch bij het initialiseren van een systeem door de volgende
      regel toe te voegen aan <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">
    <title>RAID1 - spiegelen</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm><primary>schijf spiegelen</primary></indexterm>

    <para>Spiegelen (<quote>mirroring</quote>) is een technologie die
      door veel bedrijven en thuisgebruikers wordt ingezet om gegevens
      te back-uppen zonder onderbrekingen.  Als er een spiegel bestaat,
      betekent dat eenvoudigweg dat schijfB een kopie is van schijfA,
      of misschien zijn schijvenC+D een kopie van schijvenA+B.  Los van
      de schijfinstellingen is het belangrijkste aspect dat de
      gegevens van de ene schijf of partitie worden gerepliceerd naar
      de andere.  Later kunnen die gegevens eenvoudiger worden hersteld
      of geback-upped zonder dat dit leidt tot onderbrekingen in
      dienstverlening of toegang tot gegevens en schijven kunnen zelfs
      fysiek worden opgeslagen in een kluis.</para>

    <para>Begin met een systeem dat twee schijven heeft van gelijke
      grootte.  Deze oefeningen stellen dat het directe-toegang
      (&man.da.4;) <acronym>SCSI</acronym>-schijven zijn.</para>

    <sect2>
      <title>Primaire schijven spiegelen</title>

      <para>Aannemende dat &os; op het eerste
	<devicename>da0</devicename>-schijfapparaat is
	geïnstalleerd, dient er aan &man.gmirror.8; verteld te
	worden om daar de primaire gegevens op te slaan.</para>

      <para>Voordat de mirror gebouwd wordt, dient aanvullende
	debuginformatie en openingstoegang tot het apparaat aangezet te
	worden door de &man.sysctl.8;-optie
	<varname>kern.geom.debugflags</varname> op de volgende waarde in
	te stellen:</para>

      <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>

      <para>Maak nu de mirror aan.  Begin het proces door informatie
	over metagegevens op het primaire schijfapparaat op te slaan,
	waardoor effectief het apparaat <filename
	  class="devicefile">/dev/mirror/gm</filename> aangemaakt
	wordt met het volgende commando:</para>

      <warning>
	<para>Het creëeren van een mirror buiten de opstartschijf
	  kan resulteren in gegevensverlies als er enige gegevens zijn
	  opgeslagen op de laatste sector van de schijf.  Dit gevaar
	  wordt verminderd als het creëeren van de mirror direct na
	  een verse installatie van &os; wordt gedaan.  De volgende procedure
	  werkt ook niet samen met de instellingen van de standaardinstallatie
	  van &os;&nbsp;9.<replaceable>X</replaceable> dat het nieuwe
	  partitieschema <acronym>GPT</acronym> gebruikt.  GEOM zal de
	  metagegevens van <acronym>GPT</acronym> overschrijven, wat'
	  gegevensverlies en mogelijk een onstartbaar systeem tot gevolg
	  heeft.</para>
      </warning>

      <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>

      <para>Het systeem hoort te antwoorden met:</para>

      <screen>Metadata value stored on /dev/da0.
Done.</screen>

      <para>Initialiseer GEOM, dit zal de kernelmodule
	<filename>/boot/kernel/geom_mirror.ko</filename> laden:</para>

      <screen>&prompt.root; <userinput>gmirror load</userinput></screen>

      <note>
	<para>Wanneer dit commando succesvol verloopt, maakt het het
	  apparaatknooppunt <devicename>gm0</devicename> aan onder de
	  map <filename class="directory">/dev/mirror</filename>.</para>
      </note>

      <para>Maak het mogelijk om de kernelmodule
	<filename>geom_mirror.ko</filename> tijdens systeeminitialisatie
	te laden:</para>

      <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>

      <para>Bewerk het bestand <filename>/etc/fstab</filename>, waarbij
	verwijzingen naar het oude <devicename>da0</devicename> worden
	vervangen door de nieuwe apparaatknooppunten van het
	mirrorapparaat <devicename>gm0</devicename>.</para>

      <note>
	<para>Indien &man.vi.1; de geprefereerde tekstverwerker is, is
	  het volgende een gemakkelijke manier om deze taak te
	  volbrengen:</para>

	<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>

	<para>Maak een reservekopie van de huidige gegevens van
	  <filename>fstab</filename> in &man.vi.1; door <userinput>:w
	  /etc/fstab.bak</userinput> in te typen.  Vervang daarna alle
	  oude verwijzingen naar <devicename>da0</devicename> door
	  <devicename>gm0</devicename> door
	  <userinput>:%s/da/mirror\/gm/g</userinput> in te typen.</para>
      </note>

      <para>Het resulterende <filename>fstab</filename> zou er ongeveer
	hetzelfde als het volgende uit moeten zien.  Het maakt niet uit
	of de schijfstations <acronym>SCSI</acronym> of
	<acronym>RAID</acronym> zijn, het
	<acronym>RAID</acronym>-apparaat zal ongeacht hiervan
	<devicename>gm</devicename> zijn.</para>

      <programlisting># Device		Mountpoint	FStype	Options		Dump	Pass#
/dev/mirror/gm0s1b	none		swap	sw		0	0
/dev/mirror/gm0s1a	/		ufs	rw		1	1
/dev/mirror/gm0s1d	/usr		ufs	rw		0	0
/dev/mirror/gm0s1f	/home		ufs	rw		2	2
#/dev/mirror/gm0s2d	/store		ufs	rw		2	2
/dev/mirror/gm0s1e	/var		ufs	rw		2	2
/dev/acd0		/cdrom		cd9660	ro,noauto	0	0</programlisting>

      <para>Start het systeem opnieuw op:</para>

      <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>

      <para>Tijdens de systeeminitialisatie dient het apparaat
	<devicename>gm0</devicename> in plaats van
	<devicename>da0</devicename> gebruikt te worden.  Als het
	systeem volledig is geïnitialiseerd, kan dit gecontroleerd
	worden door de uitvoer van het commando <command>mount</command>
	te inspecteren:</para>

      <screen>&prompt.root; <userinput>mount</userinput>
Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
/dev/mirror/gm0s1a   1012974  224604   707334    24%    /
devfs                      1       1        0   100%    /dev
/dev/mirror/gm0s1f  45970182   28596 42263972     0%    /home
/dev/mirror/gm0s1d   6090094 1348356  4254532    24%    /usr
/dev/mirror/gm0s1e   3045006 2241420   559986    80%    /var
devfs                      1       1        0   100%    /var/named/dev</screen>

      <para>De uitvoer ziet er als verwacht uit.  Plaats als laatste
	stap, om synchronisatie te beginnen, de schijf
	<devicename>da1</devicename> in de mirror met het volgende
	commando:</para>

      <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>

      <para>De status kan gecontroleerd worden tijdens het bouwen van de
	mirror met het volgende commando:</para>

      <screen>&prompt.root; <userinput>gmirror status</userinput></screen>

      <para>Wanneer de mirror gebouwd is en alle huidige gegevens zijn
	gesynchroniseerd, dient de uitvoer van het bovenstaande commando
	er als volgt uit te zien:</para>

      <screen>      Name    Status  Components
mirror/gm0  COMPLETE  da0
                      da1</screen>

      <para>Als er problemen zijn, of als de mirror nog bezig is om het
	bouwproces te voltooien, zal het voorbeeld
	<literal>DEGRADED</literal> in plaats van
	<literal>COMPLETE</literal> laten zien.</para>
    </sect2>

    <sect2>
      <title>Problemen oplossen</title>

      <sect3>
	<title>Systeem weigert op te starten</title>

	<para>Als een systeem opstart in een prompt dat op het volgende
	  lijkt:</para>

	<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>

	<para>Herstart te machine met de aan/uit-schakelaar of met de
	  resetknop.  Selecteer in het bootmenu optie zes (6).
	  Hierdoor komt een systeem in een &man.loader.8; prompt.  Laad
	  de kernelmodules handmatig:</para>

	<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>

	<para>Als dit werkt werd de module om welke reden dan ook niet
	  juist geladen.  Controleer of de relevante regel in
	  <filename>/boot/loader.conf</filename> correct is.  Als het
	  probleem aanhoudt, zet dan de onderstaande regel in het
	  bestand met kernelinstellingen en herbouw en installeer de
	  kernel.</para>

	<programlisting>options	GEOM_MIRROR</programlisting>

	<para>Hiermee moet het probleem opgelost zijn.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Herstellen van falende schijven</title>

      <para>Het mooie aan het spiegelen van schijven is dat als een
	schijf faalt, deze vervangen kan worden, aangenomen zonder
	gegevensverlies.</para>

      <para>Neem met betrekking tot de vorige
	<acronym>RAID</acronym>1-configuratie aan dat
	<devicename>da1</devicename> het geeft begeven en vervangen moet
	worden.  Bepaal, om het te vervangen, welke schijf het heeft
	begeven en schakel het systeem uit.  Op dit moment kan de schijf
	worden verwisseld door een nieuwe en kan het systeem weer worden
	opgestart.  Nadat het systeem is herstart, kunnen de volgende
	commando's worden gebruikt om de schijf te vervangen:</para>

      <screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>

      <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>

      <para>Gebruik het commando <command>gmirror status</command> om de
	voortgang van het herbouwen te bekijken.  Zo eenvoudig is het.</para>
    </sect2>
  </sect1>

  <sect1 id="GEOM-raid3">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Mark</firstname>
	  <surname>Gladman</surname>
	  <contrib>Geschreven door </contrib>
	</author>
	<author>
	  <firstname>Daniel</firstname>
	  <surname>Gerzo</surname>
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Gebaseerd op documentatie van </contrib>
	</author>
	<author>
	  <firstname>Murray</firstname>
	  <surname>Stokely</surname>
	</author>
      </authorgroup>
    </sect1info>

    <title><acronym>RAID</acronym>3 - Striping op byte-niveau met toegewijde
      pariteit</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm><primary>RAID3</primary></indexterm>

    <para><acronym>RAID</acronym>3 is een methode om verschillende schijven te
      combineren in een enkel volume met een toegewijde schijf voor de pariteit.
      In een <acronym>RAID</acronym>3-systeem worden de gegevens opgesplitst in
      een aantal bytes die over alle schijven in de rij worden geschreven,
      behalve naar één schijf die als een toegewijde schijf voor
      de pariteit dient.  Dit betekent dat het lezen van 1024&nbsp;kB van een
      <acronym>RAID</acronym>3-implementatie alle schijven in de rij zal
      benaderen.  De prestatie kan worden verhoogd door meerdere
      schijfcontrollers te gebruiken.  De <acronym>RAID</acronym>3-rij biedt een
      fouttolerantie van 1 schijf, terwijl het een capaciteit van 1 - 1/n maal
      de totale capaciteit biedt van alle schijven in de rij, waarbij n het
      aantal harde schijven in de rij is.  Zulke configuraties zijn meestal
      geschikt voor het opslaan van gegevens van grotere groottes, bijvoorbeeld
      multimedia-bestanden.</para>

    <para>Er zijn minstens 3 fysieke harde schijven nodig om een
      <acronym>RAID</acronym>3-rij te bouwen.  Elke schijf moet van dezelfde
      grootte zijn, aangezien I/O-verzoeken worden verweven om parallel naar
      meerdere schijven te lezen of schrijven.  Bovendien moet vanwege de aard
      van <acronym>RAID</acronym>3 het aantal schijven gelijk zijn aan 3, 5, 9,
      17, enzovoorts (dus 2^n + 1).</para>

    <sect2>
      <title>Een toegewijde <acronym>RAID</acronym>3-rij aanmaken.</title>

      <para>In &os; is ondersteuning voor <acronym>RAID</acronym>3
	geïmplementeerd in de <acronym>GEOM</acronym>-klasse
	&man.graid3.8;.  Voor het aanmaken van een toegewijde
	<acronym>RAID</acronym>3-rij op &os; zijn deze stappen nodig.</para>

      <note>
	<para>Hoewel het theoretisch mogelijk is om op &os; van een
	  <acronym>RAID</acronym>3-rij op te starten, is deze configuratie
	  ongebruikelijk en niet aangeraden.</para>
      </note>

      <procedure>
	<step>
	  <para>Laad ten eerste de kernelmodule
	    <filename>geom_raid3.ko</filename> door de volgende opdracht uit te
	    voeren:</para>

	  <screen>&prompt.root; <userinput>graid3 load</userinput></screen>

	  <para>Het is ook mogelijk om handmatig de module
	    <filename>geom_raid3.ko</filename> te laden:</para>

	  <screen>&prompt.root; <userinput>kldload geom_raid3.ko</userinput></screen>
	</step>

	<step>
	  <para>Zorg ervoor dat er een geschikt aankoppelpunt bestaat of maak
	    het aan:</para>

	  <screen>&prompt.root; <userinput>mkdir <replaceable>/multimedia/</replaceable></userinput></screen>
	</step>

	<step>
	  <para>Bepaal de apparaatnamen voor de schijven die aan de rij worden
	    toegevoegd en maak het nieuwe <acronym>RAID</acronym>3-apparaat
	    aan.  Het laatst vermelde apparaat zal dienst doen als de toegewijde
	    schijf voor de pariteit.  Dit voorbeeld gebruikt drie
	    ongepartitioneerde <acronym>ATA</acronym>-schijven:
	    <devicename><replaceable>ada1</replaceable></devicename> en
	    <devicename><replaceable>ada2</replaceable></devicename> voor
	    gegevens en <devicename><replaceable>ada3</replaceable></devicename>
	    voor pariteit.</para>

	  <screen>&prompt.root; <userinput>graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3</userinput>
Metadata value stored on /dev/ada1.
Metadata value stored on /dev/ada2.
Metadata value stored on /dev/ada3.
Done.</screen>
	</step>

	<step>
	  <para>Partitioneer het nieuw aangemaakte apparaat
	    <devicename>gr0</devicename> en zet er een UFS-bestandssysteem
	    op:</para>

	  <screen>&prompt.root; <userinput>gpart create -s GPT /dev/raid3/gr0</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs /dev/raid3/gr0</userinput>
&prompt.root; <userinput>newfs -j /dev/raid3/gr0p1</userinput></screen>

	  <para>Vele getallen zullen over het scherm lopen, en na wat tijd zal
	    het proces voltooid zijn.  Het volume is aangemaakt en is klaar om
	    aangekoppeld te worden.</para>
	</step>

	<step>
	  <para>De laatste stap is het aankoppelen van het
	    bestandssysteem:</para>

	  <screen>&prompt.root; <userinput>mount /dev/raid3/gr0p1 /multimedia/</userinput></screen>

	  <para>De <acronym>RAID</acronym>3-rij is nu klaar voor gebruik.</para>
	</step>
      </procedure>

      <para>Aanvullende configuratie is nodig om de bovenstaande opstelling te
	behouden tussen het opnieuw starten van het systeem.</para>

      <procedure>
	<step>
	  <para>De module <filename>geom_raid3.ko</filename> moet geladen zijn
	    voordat de rij kan worden aangekoppeld.  Voeg de volgende regel toe
	    aan <filename>/boot/loader.conf</filename> om de kernelmodule
	    automatisch tijdens de initialisatie van het systeem te
	    laden:</para>

	  <programlisting>geom_raid3_load="YES"</programlisting>
	</step>

	<step>
	  <para>De volgende volume-informatie moet aan het bestand
	    <filename>/etc/fstab</filename> worden toegevoegd om het
	    bestandssysteem van de rij automatisch aan de koppelen tijdens het
	    opstarten van het systeem:</para>

	  <programlisting>/dev/raid3/gr0p1	/multimedia	ufs	rw	2	2</programlisting>
	</step>
      </procedure>
    </sect2>
  </sect1>

  <sect1 id="geom-ggate">
    <title>GEOM Gate netwerk apparaten</title>

    <para>GEOM ondersteund het op afstand gebruiken van apparaten, zoals
      schijven, CD-ROMs, bestanden, etcetera door het gebruik van de
      gate-applicaties.  Dit is vergelijkbaar met <acronym>NFS</acronym>.</para>

    <para>Om te beginnen moet er een exports bestand gemaakt worden.
      Dit bestand specificeert wie de geëxporteerde bron mag
      benaderen en welke rechten er op dat moment verleend worden.
      Bijvoorbeeld om de vierde slice te exporteren van de eerste
      <acronym>SCSI</acronym> schijf, moet het volgende in
      <filename>/etc/gg.exports</filename> gezet worden:</para>

    <programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>

    <para>Dit staat alle machines in het privé netwerk toe om het
      bestandssysteem op <devicename>da0s4d</devicename> te benaderen.</para>

    <para>Om dit apparaat te kunnen exporteren is het van belang dat de
      schijf nog niet gekoppeld is en moet de &man.ggated.8; dienst
      gestart worden.</para>

    <screen>&prompt.root; <userinput>ggated</userinput></screen>

    <para>Om vervolgens het apparaat aan een client machine te koppelen
      moet het volgende gedaan worden:</para>

    <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput>
ggate0
&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>

    <para>Vanaf dit moment kan de schijf benaderd worden via het
      koppelpunt <filename class="directory">/mnt</filename>.</para>

    <note>
      <para>Let op, dit mislukt als de schijf reeds gekoppeld is op
	de server machine of als deze reeds gekoppeld is aan een andere
	machine op het netwerk.</para>
    </note>

    <para>Zodra het apparaat niet langer nodig is, kan het veilig
      ontkoppeld worden met behulp van &man.umount.8; net zoals met
      elke andere schijf.</para>
  </sect1>

  <sect1 id="geom-glabels">
    <title>Het labelen van schijven</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm><primary>Disk Labels</primary></indexterm>

    <para>Tijdens het initialiseren van het systeem zal de &os; kernel
      apparaatknooppunten creëren nadat het een apparaat gevonden
      heeft.  Deze manier om te zoeken naar apparaten levert wat
      problemen op bijvoorbeeld wanneer er een nieuwe schijf wordt
      toegevoegd via <acronym>USB</acronym>.  Het is hoogst
      waarschijnlijk dat een flash apparaat een apparaatknooppunt
      krijgt van <devicename>da0</devicename>, waarna de originele
      <devicename>da0</devicename> op schuift naar
      <devicename>da1</devicename>.  Dit levert problemen op als
      bestandssystemen worden gekoppeld als ze gedefinieerd zijn in
      <filename>/etc/fstab</filename>, dit kan zelfs ertoe leiden dat
      het systeem niet opstart.</para>

    <para>Een mogelijke oplossing hiervoor is om de
      <acronym>SCSI</acronym> schijven een vaste plek te geven op
      een bepaalde volgorde, zodat zodra er een nieuwe schijf
      geplaatst wordt, deze een ongebruikt apparaatknooppunt
      toegewezen krijgt.  Maar wat als er <acronym>USB</acronym>
      apparaten zijn die de primaire <acronym>SCSI</acronym> schijf
      vervangt?  Dit gebeurd omdat <acronym>USB</acronym> apparaten
      meestal eerder gevonden worden dan een <acronym>SCSI</acronym>
      kaart.  Een oplossing hiervoor is om de apparaten pas toe te
      voegen als het systeem reeds gestart is, een andere methode kan
      zijn om alleen een enkele <acronym>ATA</acronym> schijf te
      koppelen en nooit <acronym>SCSI</acronym> schijven door middel
      van <filename>/etc/fstab</filename>.</para>

    <para>Maar er is een betere oplossing beschikbaar.  Door het gebruik
      van <command>glabel</command> kunnen beheerders en gebruikers een
      label toevoegen aan een schijf, en deze labels gebruiken in
      <filename>/etc/fstab</filename>.  Omdat <command>glabel</command>
      het label bewaard in de laatste sector van de schijf, kan het
      label bewaard blijven ook na een reboot en kan het
      bestandssysteem altijd gekoppeld worden ongeacht welk
      apparaatknooppunt toegekend is aan het apparaat.</para>

    <note>
      <para>Uiteraard hoeft een label niet permanent te zijn, het
	<command>glabel</command> programma kan zowel tijdelijke als
	permanente labels aanmaken.  Alleen een permanent label blijft
	beschikbaar ook na een reboot.  Zie de &man.glabel.8;
	handleiding voor meer informatie over de verschillen tussen de
	labeltypes.</para>
    </note>

    <sect2>
      <title>Label types en voorbeelden</title>

      <para>Er zijn twee type labels: een generiek label en een
	bestandssysteemlabel.  Labels kunnen permanent of tijdelijk
	zijn.  Permanente labels kunnen met de commando's &man.tunefs.8;
	of &man.newfs.8; aangemaakt worden.  Ze zullen vervolgens worden
	aangemaakt in een submap van
	<filename class="directory">/dev</filename>, welke genoemd wordt
	naar het bestandssysteemtype.  Bijvoorbeeld
	<acronym>UFS</acronym>2 labels worden geplaatst in de map
	<filename class="directory">/dev/ufs</filename>.  Permanente
	labels kunnen ook worden aangemaakt met het commando
	<command>glabel label</command>.  Deze zijn niet specifiek voor
	het bestandssysteem, en zullen in de map <filename
	  class="directory">/dev/label</filename> aangemaakt
	worden.</para>

      <para>Een tijdelijk label verdwijnt na een herstart van het
	systeem.  Deze labels worden gecreëerd in
	<filename class="directory">/dev/label</filename> en zijn
	perfect voor experimenten.  Een tijdelijk kan met het commando
	<command>glabel create</command> worden aangemaakt.  Lees voor
	meer informatie de handleidingpagina van &man.glabel.8;.</para>

<!-- XXXTR: How do you create a file system label without running newfs
	    or when there is no newfs (e.g.: cd9660)? -->

      <para>Om een permanent label te schrijven voor een
	<acronym>UFS</acronym>2-bestandssysteem zonder de huidige data
	te vernietigen:</para>

      <screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen>

      <warning>
	<para>Als het bestandssyteem vol is kan dit leiden tot data
	  corruptie; echter als het bestandssysteem vol is zou het
	  hoofddoel moeten zijn om oude achtergebleven bestanden weg
	  te halen in plaats van het toevoegen van labels.</para>
      </warning>

      <para>Er zou nu een label moeten bestaan in
	<filename class="directory">/dev/ufs</filename>, welke
	toegevoegd kan worden aan het <filename>/etc/fstab</filename>
	bestand:</para>

      <programlisting>/dev/ufs/home	/home            ufs     rw              2      2</programlisting>

      <note>
	<para>Het bestandssysteem mag niet aangekoppeld zijn op het
	  moment dat <command>tunefs</command> gebruikt wordt.</para>
      </note>

      <para>Nu kan het bestandssysteem net als normaal worden gekoppeld:</para>

      <screen>&prompt.root; <userinput>mount /home</userinput></screen>

      <para>Vanaf dit moment is het mogelijk om, zolang de
	<filename>geom_label.ko</filename> geladen wordt tijdens het
	opstarten van het systeem, of als deze is meegecompileerd door
	middel van de <literal>GEOM_LABEL</literal> optie in de kernel,
	het apparaatknooppunt te wijzigen zonder ernstige gevolgen voor
	het systeem.</para>

      <para>Bestandssystemen kunnen ook een standaard label mee krijgen
	door gebruik te maken van de <option>-L</option> optie met het
	<command>newfs</command> commando.  Zie de &man.newfs.8;
	handleiding voor meer informatie.</para>

      <para>Het volgende commando kan worden gebruikt om een label te
	verwijderen:</para>

      <screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>

      <para>Het volgende voorbeeld laat zien hoe de partities van een
	opstartschijf gelabeld worden.</para>

      <example>
	<title>Partities op de opstartschijf labelen</title>

	<para>Door de partities op de opstartschijf permanent te labelen
	  zou het systeem in staat moeten zijn om normaal door te gaan
	  met opstarten, zelfs als de schijf verplaatst is naar een
	  andere controller of is overgeplaatst naar een ander systeem.
	  In dit voorbeeld wordt aangenomen dat er een enkele
	  <acronym>ATA</acronym>-schijf wordt gebruikt, die momenteel
	  als <devicename>ad0</devicename> door het systeem wordt
	  herkend.  Het wordt ook aangenomen dat het standaard
	  partitieschema van &os; wordt gebruikt, met de
	  bestandssystemen <filename class="directory">/</filename>,
	  <filename class="directory">/var</filename>,
	  <filename class="directory">/usr</filename>, en
	  <filename class="directory">/tmp</filename>, alsmede een
	  wisselpartitie.</para>

	<para>Start het systeem opnieuw op, en druk bij de
	  &man.loader.8;-prompt op 4 om in enkele gebruikersmodus op te
	  starten.  Geef dan de volgende commando's:</para>

	<screen>&prompt.root; <userinput>glabel label rootfs /dev/ad0s1a</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
&prompt.root; <userinput>glabel label var /dev/ad0s1d</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
&prompt.root; <userinput>glabel label usr /dev/ad0s1f</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
&prompt.root; <userinput>glabel label tmp /dev/ad0s1e</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
&prompt.root; <userinput>glabel label swap /dev/ad0s1b</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
&prompt.root; <userinput>exit</userinput></screen>

	<para>Het systeem zal doorgaan met opstarten in
	  meergebruikersmodus.  Bewerk, nadat het opstarten is voltooid,
	  <filename>/etc/fstab</filename> en vervang de conventionele
	  namen door de respectievelijke labels.  Het uiteindelijke
	  bestand <filename>/etc/fstab</filename> zal er als volgt
	  uitzien:</para>

	<programlisting># Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/label/swap          none            swap    sw              0       0
/dev/label/rootfs        /               ufs     rw              1       1
/dev/label/tmp           /tmp            ufs     rw              2       2
/dev/label/usr           /usr            ufs     rw              2       2
/dev/label/var           /var            ufs     rw              2       2</programlisting>

	<para>Het systeem kan nu worden herstart.  Als alles goed ging,
	  zal het normaal opstarten en zal <command>mount</command> dit
	  laten zien:</para>

	<screen>&prompt.root; <userinput>mount</userinput>
/dev/label/rootfs on / (ufs, local)
devfs on /dev (devfs, local)
/dev/label/tmp on /tmp (ufs, local, soft-updates)
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)</screen>
      </example>

      <para>Beginnend met &os;&nbsp;7.2 ondersteunt de klasse &man.glabel.8;
	een nieuw labeltype voor <acronym>UFS</acronym>-bestandssystemen,
	gebaseerd op het unieke id van het bestandssysteem,
	<literal>ufsid</literal>.  Deze labels kunnen in de map <filename
	  class="directory">/dev/ufsid</filename> gevonden worden en
	worden automatisch tijdens het opstarten aangemaakt.  Het is
	mogelijk om de <literal>ufsid</literal>-labels te gebruiken om
	partities aan te koppelen door middel van de faciliteit
	<filename>/etc/fstab</filename>.  Gebruik <command>glabel
	  status</command> om een lijst van bestandssystemen en hun
	overeenkomende <literal>ufsid</literal>-labels te ontvangen:</para>

      <screen>&prompt.user; <userinput>glabel status</userinput>
                  Name  Status  Components
ufsid/486b6fc38d330916     N/A  ad4s1d
ufsid/486b6fc16926168e     N/A  ad4s1f</screen>

      <para>In het bovenstaande voorbeeld representeert
	<devicename>ad4s1d</devicename> het bestandssysteem <filename
	  class="directory">/var</filename>, terwijl
	<devicename>ad4s1f</devicename> het bestandssysteem <filename
	  class="directory">/usr</filename> representeert.  Door gebruik
	te maken van de gegeven <literal>ufsid</literal>-waarden kunnen
	deze partities nu aangekoppeld worden met de volgende regels in
	<filename>/etc/fstab</filename>:</para>

      <programlisting>/dev/ufsid/486b6fc38d330916	/var	ufs	rw	2	2
/dev/ufsid/486b6fc16926168e	/usr	ufs	rw	2	2</programlisting>

      <para>Elke partitie met een <literal>ufsid</literal>-label kan op
	deze manier worden aangekoppeld, waardoor het niet meer nodig is
	om handmatig permanente labels voor ze aan te maken, terwijl er
	nog steeds van de voordelen van apparaatnaam-onafhankelijk
	aankoppelen genoten kan worden.</para>
    </sect2>
  </sect1>

  <sect1 id="geom-gjournal">
    <title>UFS logboeken door middel van GEOM</title>

    <indexterm><primary>GEOM</primary></indexterm>

    <indexterm><primary>Journaling</primary></indexterm>

    <para>Met de komst van &os;&nbsp;7.0 komt ook de langverwachte
      optie van <acronym>UFS</acronym> logboeken.  De implementatie
      zelf is gedaan door middel van het GEOM subsysteem, welke
      makkelijk geconfigureerd kan worden met behulp van de
      &man.gjournal.8; applicatie.</para>

    <para>Wat is logboeken? Logboek mogelijkheden betekend het opslaan
      van bestandssysteem transacties, zoals wijzigingen die een
      complete schrijfactie zijn, voor er meta-data wordt toegevoegd
      en voor de wijzigingen op schijf worden gezet.  Deze transactie
      log kan later opnieuw afgespeeld worden om te voorkomen dat er
      bestandssysteem inconsistenties voorkomen.</para>

    <para>Deze methode is een extra manier om te beschermen tegen
      gegevensverlies en inconsistenties van het bestandssysteem.  In
      tegenstelling tot Soft Updates, welke bijhoud welke meta-data
      wijzigingen er worden uitgevoerd en Snapshots, wat een beeld
      bestand is van het bestandssysteem, wordt er een complete log
      bewaard in de schijfruimte die speciaal voor deze taak is
      gereserveerd, en in sommige gevallen op een compleet andere
      schijf.</para>

    <para>In tegenstelling tot andere logboek implementaties is de
      <command>gjournal</command> methode blok gebaseerd en niet
      geïmplementeerd als onderdeel van het bestandssysteem maar
      als uitbreiding op <acronym>GEOM</acronym>.</para>

    <para>Om ondersteuning in te schakelen voor
      <command>gjournal</command>, moet de kernel over de volgende optie
      beschikken, welke standaard is op &os; 7.X-systemen:</para>

    <programlisting>options        UFS_GJOURNAL</programlisting>

    <para>Indien gejournalde volumes tijdens het opstarten aangekoppeld
      moeten worden, moet de kernelmodule
      <filename>geom_journal.ko</filename> ook geladen zijn, door de
      volgende regel aan <filename>/boot/loader.conf</filename> toe te
      voegen:</para>

    <programlisting>geom_journal_load="YES"</programlisting>

    <para>Ook kan deze functie in een eigen kernel worden ingebouwd,
      door de volgende regel aan het kernelinstellingenbestand toe te
      voegen:</para>

    <programlisting>options    GEOM_JOURNAL</programlisting>

    <para>Het creëren van een logboek op een vrij en beschikbaar
      bestandssysteem kan nu gedaan worden met behulp van de volgende
      stappen, ervan uitgaande dat <devicename>da4</devicename> de
      nieuwe beschikbare <acronym>SCSI</acronym> schijf is:</para>

    <screen>&prompt.root; <userinput>gjournal load</userinput>
&prompt.root; <userinput>gjournal label /dev/da4</userinput></screen>

    <para>Op dit moment zou er een <devicename>ad4</devicename>
      apparaatknooppunt en een <devicename>ad4.journal</devicename>
      apparaatknooppunt moeten zijn.  Nu kan er een bestandssysteem op
      gezet worden:</para>

    <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>

    <para>Het hiervoor ingevoerde commando zal een
      <acronym>UFS</acronym>2 bestandssysteem met logboek
      ondersteuning aanmaken.</para>

    <para>Koppel het apparaat op een gewenst koppelpunt met:</para>

    <screen>&prompt.root; <userinput>mount /dev/da4.journal <replaceable>/mnt</replaceable></userinput></screen>

    <note>
      <para>In het geval dat er meerdere slices zijn, zal er een logboek
	voor elke slice gecreëerd worden.  Bijvoorbeeld, als
	<devicename>ad4s1</devicename> en <devicename>ad4s2</devicename>
	allebei slices zijn, dan zal <command>gjournal</command> een
	<devicename>ad4s1.journal</devicename> en een
	<devicename>ad4s2.journal</devicename> creëeren.</para>
    </note>

    <para>Voor performance doeleinden is het gewenst om het logboek op een
      andere schijf te bewaren.  Voor deze gevallen moet de
      logboekleverancier of het opslagapparaat gespecificeerd worden
      achter het apparaat waarop de logboek functionaliteit aangebracht
      moet worden.  De logboekfunctionaliteit kan ook worden
      ingeschakeld op een reeds bestaand systeem met behulp van
      <command>tunefs</command>.  Maak echter altijd een back-up voor dat
      dit soort dingen uitgeprobeerd worden.  In de meeste gevallen zal
      <command>gjournal</command> falen als het geen actueel logboek
      kan maken, maar het voorkomt geen dataverlies als gevolg van
      verkeerd gebruik van <command>tunefs</command>.</para>

    <para>Het is ook mogelijk om een journal van de opstartschijf van
      een &os;-systeem bij te houden.  Voor gedetailleerde instructies
      over deze taak wordt naar het artikel <ulink
	url="&url.articles.gjournal-desktop;">Implementing UFS
	Journaling on a Desktop PC</ulink> verwezen.</para>
  </sect1>
</chapter>