diff options
Diffstat (limited to 'nl_NL.ISO8859-1/books/handbook/geom/chapter.xml')
-rw-r--r-- | nl_NL.ISO8859-1/books/handbook/geom/chapter.xml | 998 |
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>>> /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"' >> /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; 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"' >> /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 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; 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; 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> |