aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'nl_NL.ISO8859-1/books/handbook/geom/chapter.xml')
-rw-r--r--nl_NL.ISO8859-1/books/handbook/geom/chapter.xml998
1 files changed, 998 insertions, 0 deletions
diff --git a/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml b/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
new file mode 100644
index 0000000000..398d4a9670
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
@@ -0,0 +1,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>