aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml')
-rw-r--r--nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml913
1 files changed, 913 insertions, 0 deletions
diff --git a/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml b/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml
new file mode 100644
index 0000000000..5b24117afa
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml
@@ -0,0 +1,913 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!--
+ The FreeBSD Dutch Documentation Project
+ $FreeBSD$
+
+ %SOURCE% en_US.ISO8859-1/books/handbook/filesystems/chapter.sgml
+ %SRCID% 39544
+-->
+
+<chapter id="filesystems">
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ <contrib>Geschreven door </contrib>
+ </author>
+ </authorgroup>
+ <authorgroup>
+ <author>
+ <firstname>Wouter</firstname>
+ <surname>Reckman</surname>
+ <contrib>Vertaald door </contrib>
+ </author>
+ <author>
+ <firstname>René</firstname>
+ <surname>Ladan</surname>
+ </author>
+ </authorgroup>
+ </chapterinfo>
+
+ <title>Ondersteuning van bestandssystemen</title>
+
+ <sect1 id="filesystems-synopsis">
+ <title>Overzicht</title>
+
+ <indexterm><primary>Bestandssystemen</primary></indexterm>
+
+ <indexterm>
+ <primary>Ondersteuning bestandssystemen</primary>
+
+ <see>Bestandssystemen</see>
+ </indexterm>
+
+ <para>Bestandssystemen zijn een integraal onderdeel van ieder
+ besturingssysteem. Ze stellen gebruikers in de gelegenheid om
+ bestanden te uploaden en op te slaan, geven toegang tot gegevens
+ en maken natuurlijk harde schijven bruikbaar. Verschillende
+ besturingssystemen hebben gewoonlijk één
+ gezamenlijk aspect, namelijk het bestandssysteem. Op &os; staat
+ dit bestandssysteem bekend onder de naam Fast File System ofwel
+ <acronym>FFS</acronym>, dat is gebaseerd op het oorspronkelijke
+ Unix&trade; File System, ook bekend als <acronym>UFS</acronym>.
+ Dit is het oorspronkelijke bestandssysteem van &os; dat op
+ harde schijven wordt geplaatst voor gegevenstoegang.</para>
+
+ <para>&os; ondersteunt daarnaast ook een groot aantal andere
+ bestandssystemen om lokaal toegang tot gegevens van andere
+ besturingssystemen te bewerkstelligen; dat wil zeggen: gegevens
+ opgeslagen op lokaal aangesloten <acronym>USB</acronym>
+ opslagapparaten, flash drives, en harde schijven. Verder is er
+ ook ondersteuning voor vreemde bestandssystemen. Dit zijn
+ bestandssystemen ontwikkeld voor andere besturingssystemen
+ zoals het &linux; Extended File System (<acronym>EXT</acronym>)
+ en het &sun; Z File System (<acronym>ZFS</acronym>).</para>
+
+ <para>Er zijn verschillende gradaties van ondersteuning voor de
+ verschillende bestandssystemen op &os;. Sommigen vereisen het
+ laden van een kernelmodule, voor anderen moet een toolset
+ worden geïnstalleerd. Dit hoofdstuk is geschreven om
+ gebruikers van &os; te helpen om op hun systeem toegang te
+ verkrijgen tot andere bestandssystemen, te beginnen met het
+ &sun; Z File System.</para>
+
+ <para>Na het lezen van dit hoofstuk weet de lezer:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Het verschil tussen eigen en ondersteunde
+ bestandssystemen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Welke bestandssystemen zijn ondersteund in &os;.</para>
+ </listitem>
+
+ <listitem>
+ <para>Hoe niet-eigen bestandssystemen geactiveerd,
+ geconfigureerd, benaderd en gebruikt kunnen worden.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Voorafgaand aan het lezen van dit hoofdstuk dient de
+ lezer:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Begrip te hebben van de beginselen van &unix; en &os;
+ (<xref linkend="basics"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Bekend te zijn met de beginselen van
+ kernelconfiguratie en -compilatie
+ (<xref linkend="kernelconfig"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Vertrouwd te zijn met installatie van software van
+ derden in &os; (<xref linkend="ports"/>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Enigszins bekend te zijn met schijven, opslag en
+ apparaatnamen in &os; (<xref linkend="disks"/>).</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="filesystems-zfs">
+ <title>Het Z File System (ZFS)</title>
+
+ <para>Het Z&nbsp;File System, ontwikkeld door &sun;, is een
+ nieuwe technologie ontwikkeld om gebruik te maken van een
+ pool-gebaseerde opslagmethode. Dit houdt in dat ruimte pas
+ wordt gebruikt wanneer het nodig is voor dataopslag. Verder is
+ het ontworpen voor maximale integriteit van gegevens,
+ ondersteuning van gegevens-snapshots, meerdere kopieën, en
+ gegevenschecksums. Ook is een nieuw gegevensreplicatiemodel,
+ bekend als <acronym>RAID</acronym>-Z, toegevoegd;
+ <acronym>RAID</acronym>-Z lijkt op <acronym>RAID</acronym>5,
+ maar is ontworpen om corruptie tijdens het schrijven van
+ gegevens te voorkomen.</para>
+
+ <sect2>
+ <title>ZFS tuning</title>
+
+ <para>Het <acronym>ZFS</acronym> subsysteem maakt gebruik van
+ veel systeembronnen waardoor het nodig kan zijn een en ander
+ af te stellen, zodat voor het dagelijks gebruik maximale
+ efficiëntie wordt behaald. Doordat het een
+ experimentele eigenschap van &os; is, kan dit in de nabije
+ toekomst veranderen; op dit moment echter, worden de volgende
+ stappen aangeraden.</para>
+
+ <sect3>
+ <title>Geheugen</title>
+
+ <para>De totale hoeveelheid systeemgeheugen dient minstens
+ één gigabyte te zijn, maar twee gigabytes of meer
+ wordt aanbevolen. In alle voorbeelden hier heeft het systeem
+ één gigabyte geheugen, met verschillende andere
+ afstelmechanismen in werking.</para>
+
+ <para>Sommigen hebben succes gehad met minder dan een
+ gigabyte geheugen, maar met een dergelijke, beperkte
+ hoeveelheid geheugen is de kans groot dat onder zware
+ belasting een kernelpanic in &os; op zal treden door uitputting
+ van het geheugen.</para>
+ </sect3>
+
+ <sect3>
+ <title>Kernelconfiguratie</title>
+
+ <para>Het wordt aangeraden om ongebruikte
+ stuurprogramma's en opties te verwijderen uit het
+ kernelconfiguratiebestand. Omdat de meeste
+ stuurprogramma's beschikbaar zijn als modules kunnen ze
+ alsnog worden geladen door middel van het bestand
+ <filename>/boot/loader.conf</filename>.</para>
+
+ <para>Gebruikers van de &i386;-architectuur dienen de volgende
+ optie aan hun kernelconfiguratiebestand toe te voegen, de
+ kernel opnieuw te compileren, en opnieuw op te
+ starten:</para>
+
+ <programlisting>options KVA_PAGES=512</programlisting>
+
+ <para>Deze optie vergroot de kerneladresruimte, waarmee het
+ mogelijk wordt gemaakt om de <varname>vm.kvm_size</varname>
+ afstelling hoger dan de huidige limiet van 1&nbsp;GB
+ (2&nbsp;GB voor <acronym>PAE</acronym>) in te stellen.
+ Deel, om de meest geschikte waarde voor deze optie te
+ vinden, de gewenste hoeveelheid adresruimte door vier (4).
+ In dit geval is dat <literal>512</literal> voor
+ 2&nbsp;GB.</para>
+ </sect3>
+
+ <sect3>
+ <title>Loader tunables</title>
+
+ <para>De <devicename>kmem</devicename> adresruimte dient te
+ worden vergroot op alle &os; architecturen. Op het
+ testsysteem met één gigabyte fysiek geheugen werd
+ succes behaald met de volgende opties, die in het bestand
+ <filename>/boot/loader.conf</filename> geplaatst dienen te
+ worden, waarna het systeem opnieuw moet worden
+ opgestart:</para>
+
+ <programlisting>vm.kmem_size="330M"
+vm.kmem_size_max="330M"
+vfs.zfs.arc_max="40M"
+vfs.zfs.vdev.cache.size="5M"</programlisting>
+
+ <para>Zie voor een meer gedetailleerde lijst van aanbevelingen
+ aangaande ZFS-afstelling:
+ <ulink url="http://wiki.freebsd.org/ZFSTuningGuide"></ulink>
+ .</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Gebruik maken van <acronym>ZFS</acronym></title>
+
+ <para>Er is een opstartmechanisme dat &os; in staat stelt om
+ <acronym>ZFS</acronym> pools te mounten tijdens initialisatie van
+ het systeem. Voer de volgende commando's uit om dit in te
+ stellen:</para>
+
+ <screen>&prompt.root; <userinput>echo 'zfs_enable="YES"' &gt;&gt; /etc/rc.conf</userinput>
+&prompt.root; <userinput>/etc/rc.d/zfs start</userinput></screen>
+
+ <para>In het resterende deel van dit document wordt aangenomen
+ dat er drie <acronym>SCSI</acronym>-schijven beschikbaar zijn,
+ en dat hun apparaatnamen respectievelijk
+ <devicename><replaceable>da0</replaceable></devicename>,
+ <devicename><replaceable>da1</replaceable></devicename> en
+ <devicename><replaceable>da2</replaceable></devicename> zijn.
+ Gebruikers van <acronym>IDE</acronym>-hardware kunnen de
+ <devicename><replaceable>ad</replaceable></devicename>
+ apparaten gebruiken in plaats van
+ <acronym>SCSI</acronym>-apparaten.</para>
+
+ <sect3>
+ <title>Een pool op een enkele schijf</title>
+
+ <para>Voer het commando <command>zpool</command> uit om een simpele,
+ niet-redundante <acronym>ZFS</acronym>-pool op een enkele schijf aan
+ te maken:</para>
+
+ <screen>&prompt.root; <userinput>zpool create example /dev/da0</userinput></screen>
+
+ <para>Bestudeer de uitvoer van het commando
+ <command>df</command> om de nieuwe pool te zien:</para>
+
+ <screen>&prompt.root; <userinput>df</userinput>
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235230 1628718 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032846 48737598 2% /usr
+example 17547136 0 17547136 0% /example</screen>
+
+ <para>In deze uitvoer wordt duidelijk dat de
+ <literal>example</literal>-pool niet alleen is aangemaakt,
+ maar ook direct <emphasis>gemount</emphasis> is. Hij is ook
+ toegankelijk, net als een gewoon bestandssysteem; er kunnen
+ bestanden op worden aangemaakt en gebruikers kunnen er op
+ rondkijken zoals in het volgende voorbeeld:</para>
+
+ <screen>&prompt.root <userinput>cd /example</userinput>
+&prompt.root; <userinput>ls</userinput>
+&prompt.root; <userinput>touch testfile</userinput>
+&prompt.root; <userinput>ls -al</userinput>
+total 4
+drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .
+drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
+-rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile</screen>
+
+ <para>Helaas benut deze pool nog geen
+ <acronym>ZFS</acronym>-mogelijkheden. Maak een bestandssysteem
+ aan op deze pool en activeer er compressie op:</para>
+
+ <screen>&prompt.root; <userinput>zfs create example/compressed</userinput>
+&prompt.root; <userinput>zfs set compression=gzip example/compressed</userinput></screen>
+
+ <para><literal>example/compressed</literal> is nu een
+ gecomprimeerd <acronym>ZFS</acronym>-bestandssysteem. Probeer
+ er een paar grote bestanden naartoe te kopiëren door ze
+ naar <filename class="directory">/example/compressed</filename>
+ te kopiëren.</para>
+
+ <para>De compressie kan nu worden uitgeschakeld met:</para>
+
+ <screen>&prompt.root; <userinput>zfs set compression=off example/compressed</userinput></screen>
+
+ <para>Voer het volgende commando uit om het bestandssysteem te
+ unmounten, en controleer dat daarna met
+ <command>df</command>:</para>
+
+ <screen>&prompt.root; <userinput>zfs umount example/compressed</userinput>
+&prompt.root; <userinput>df</userinput>
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235232 1628716 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+example 17547008 0 17547008 0% /example</screen>
+
+ <para>Mount het bestandssysteem opnieuw om het weer
+ toegankelijk te maken en controleer met
+ <command>df</command>:</para>
+
+ <screen>&prompt.root; <userinput>zfs mount example/compressed</userinput>
+&prompt.root; <userinput>df</userinput>
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235234 1628714 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+example 17547008 0 17547008 0% /example
+example/compressed 17547008 0 17547008 0% /example/compressed</screen>
+
+ <para>De pool en het bestandssysteem zijn ook zichtbaar in de
+ uitvoer van <command>mount</command>:</para>
+
+ <screen>&prompt.root; <userinput>mount</userinput>
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+example on /example (zfs, local)
+example/data on /example/data (zfs, local)
+example/compressed on /example/compressed (zfs, local)</screen>
+
+ <para>Zoals is te zien kunnen
+ <acronym>ZFS</acronym>-bestandssystemen, nadat ze zijn
+ gecreëerd, net als gewone bestandssystemen worden
+ gebruikt; er zijn echter ook vele andere mogelijkheden
+ beschikbaar. In het volgende voorbeeld wordt er een nieuw
+ bestandssysteem <literal>data</literal> gecreëerd.
+ Er zullen belangrijke bestanden op worden bewaard, dus het
+ bestandssysteem wordt zodanig ingesteld dat het twee
+ kopieën van ieder gegevensblok opslaat:</para>
+
+ <screen>&prompt.root; <userinput>zfs create example/data</userinput>
+&prompt.root; <userinput>zfs set copies=2 example/data</userinput></screen>
+
+ <para>Het is nu mogelijk om het gegevens- en ruimtegebruik te
+ bekijken door <command>df</command> opnieuw te
+ draaien:</para>
+
+ <screen>&prompt.root; <userinput>df</userinput>
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235234 1628714 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+example 17547008 0 17547008 0% /example
+example/compressed 17547008 0 17547008 0% /example/compressed
+example/data 17547008 0 17547008 0% /example/data</screen>
+
+ <para>Merk op dat ieder bestandssysteem in de pool dezelfde
+ hoeveelheid vrije ruimte heeft. Dit is de reden dat
+ <command>df</command> steeds wordt gebruikt tussen de
+ voorbeelden door, om te laten zien dat de bestandssystemen
+ slechts zoveel ruimte gebruiken als ze nodig hebben en
+ allemaal putten uit dezelfde pool.
+ Het <acronym>ZFS</acronym> bestandssysteem elimineert
+ concepten als volumes en partities, en staat verschillende
+ bestandssystemen toe om in dezelfde pool te bestaan.
+ Verwijder nu de bestandssystemen en verwijder daarna de pool,
+ omdat deze niet meer nodig zijn:</para>
+
+ <screen>&prompt.root; <userinput>zfs destroy example/compressed</userinput>
+&prompt.root; <userinput>zfs destroy example/data</userinput>
+&prompt.root; <userinput>zpool destroy example</userinput></screen>
+
+ <para>Schijven gaan slechter werken en begeven het, een
+ onvermijdelijke eigenschap. Wanneer de schijf stukgaat
+ zullen de gegevens verloren gaan. Een methode om
+ gegevensverlies ten gevolge van een kapotte harde schijf te
+ vermijden is het implementeren van <acronym>RAID</acronym>.
+ <acronym>ZFS</acronym> ondersteunt deze mogelijkheid in zijn
+ pool-ontwerp en wordt beschreven in de volgende
+ sectie.</para>
+ </sect3>
+
+ <sect3>
+ <title><acronym>ZFS</acronym> RAID-Z</title>
+
+ <para>Zoals eerder opgemerkt wordt in deze sectie aangenomen
+ dat er drie <acronym>SCSI</acronym>-schijven bestaan als de
+ apparaten <devicename>da0</devicename>, <devicename>da1</devicename>
+ en <devicename>da2</devicename> (of <devicename>ad0</devicename> en
+ hoger als IDE-schijven worden gebruikt). Voer het volgende commando
+ uit om een <acronym>RAID</acronym>-Z-pool te creëren:</para>
+
+ <screen>&prompt.root; <userinput>zpool create storage raidz da0 da1 da2</userinput></screen>
+
+ <note>
+ <para>&sun; raadt aan om tussen de drie en negen schijven te gebruiken
+ voor een <acronym>RAID</acronym>-Z-configuratie. Overweeg, als u
+ een enkele pool met 10 of meer schijven nodig heeft, om deze te
+ splitsen in kleine <acronym>RAID</acronym>-Z-groepen. Overweeg, als
+ u slechts twee schijven heeft en nog steeds redundantie nodig heeft,
+ om in plaats hiervan een <acronym>ZFS</acronym>-spiegel te
+ gebruiken. Bekijk de handleidingpagina &man.zpool.8; voor meer
+ details.</para>
+ </note>
+
+ <para>De <literal>storage</literal> zpool zou gecreëerd
+ moeten zijn. Dit kan worden geverifieerd met de
+ &man.mount.8; en &man.df.1; commando's zoals eerder. Er
+ kunnen meer schijfapparaten worden toegewezen door ze aan het
+ einde van de bovenstaande lijst toe te voegen.
+ Maak een nieuw bestandssysteem in de pool, genaamd
+ <literal>home</literal>, waar op den duur de
+ gebruikersbestanden geplaatst zullen worden:</para>
+
+ <screen>&prompt.root; <userinput>zfs create storage/home</userinput></screen>
+
+ <para>Het is nu mogelijk om compressie in te schakelen en extra
+ kopieën te bewaren van de gebruikersmappen en
+ -bestanden. Dit kan net als eerder worden bewerkstelligd
+ door de volgende commando's uit te voeren:</para>
+
+ <screen>&prompt.root; <userinput>zfs set copies=2 storage/home</userinput>
+&prompt.root; <userinput>zfs set compression=gzip storage/home</userinput></screen>
+
+ <para>Kopieer, om dit als de nieuwe home-map voor gebruikers in
+ te stellen, de gebruikersgegevens naar deze map en
+ creëer de benodigde links:</para>
+
+ <screen>&prompt.root; <userinput>cp -rp /home/* /storage/home</userinput>
+&prompt.root; <userinput>rm -rf /home /usr/home</userinput>
+&prompt.root; <userinput>ln -s /storage/home /home</userinput>
+&prompt.root; <userinput>ln -s /storage/home /usr/home</userinput></screen>
+
+ <para>De gebruikersgegevens zouden nu op het nieuw aangemaakte
+ <filename class="directory">/storage/home</filename>
+ bestandssysteem moeten staan. Test dit door een nieuwe
+ gebruiker aan te maken en daarmee in te loggen.</para>
+
+ <para>Probeer een snapshot te maken dat later weer hersteld kan
+ worden:</para>
+
+ <screen>&prompt.root; <userinput>zfs snapshot storage/home@08-30-08</userinput></screen>
+
+ <para>Merk op dat de snapshot-optie alleen een echt
+ bestandssysteem vastlegt, geen mappen of bestanden. Het
+ <literal>@</literal>-karakter wordt gebruikt als
+ scheidingsteken tussen de naam van het bestandssysteem of de
+ naam van het volume. Wanneer de home-map van een gebruiker
+ wordt weggegooid, kan deze worden hersteld met:</para>
+
+ <screen>&prompt.root; <userinput>zfs rollback storage/home@08-30-08</userinput></screen>
+
+ <para>Voer <command>ls</command> in de
+ <filename class="directory">.zfs/snapshot</filename>
+ directory van het bestandssysteem uit om een lijst van alle
+ beschikbare snapshots te krijgen. Voer, om bijvoorbeeld
+ het zojuist gemaakte snapshot te zien, het volgende commando
+ uit:</para>
+
+ <screen>&prompt.root; <userinput>ls /storage/home/.zfs/snapshot</userinput></screen>
+
+ <para>Het is mogelijk om een script te schrijven dat
+ maandelijks een snapshot van de gebruikersgegevens maakt; na
+ verloop van tijd kunnen snapshots echter een grote
+ hoeveelheid schrijfruimte in beslag nemen. Het vorige
+ snapshot kan worden verwijderd met het volgende
+ commando:</para>
+
+ <screen>&prompt.root; <userinput>zfs destroy storage/home@08-30-08</userinput></screen>
+
+ <para>Na al dit testen is er geen reden om
+ <filename class="directory">/storage/home</filename> in zijn
+ huidige staat nog te bewaren. Maak er het echte
+ <filename class="directory">/home</filename>
+ bestandssysteem van:</para>
+
+ <screen>&prompt.root; <userinput>zfs set mountpoint=/home storage/home</userinput></screen>
+
+ <para>Het uitvoeren van de commando's <command>df</command> en
+ <command>mount</command> laat zien dat het systeem ons
+ bestandssysteem nu als de echte <filename
+ class="directory">/home</filename> behandelt:</para>
+
+ <screen>&prompt.root; <userinput>mount</userinput>
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+storage on /storage (zfs, local)
+storage/home on /home (zfs, local)
+&prompt.root; <userinput>df</userinput>
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235240 1628708 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032826 48737618 2% /usr
+storage 26320512 0 26320512 0% /storage
+storage/home 26320512 0 26320512 0% /home</screen>
+
+ <para>Hiermee is de <acronym>RAID</acronym>-Z configuratie
+ compleet. Voer het volgende commando uit om status-updates
+ van de gecreëerde bestandssystemen te krijgen tijdens
+ het draaien van de nachtelijke &man.periodic.8;:</para>
+
+ <screen>&prompt.root; <userinput>echo 'daily_status_zfs_enable="YES"' &gt;&gt; /etc/periodic.conf</userinput></screen>
+ </sect3>
+
+ <sect3>
+ <title>Het herstellen van <acronym>RAID</acronym>-Z</title>
+
+ <para>Iedere software-<acronym>RAID</acronym> heeft een methode
+ om zijn <literal>status</literal> te inspecteren.
+ <acronym>ZFS</acronym> is geen uitzondering. De status van
+ <acronym>RAID</acronym>-Z-apparaten kan worden
+ geïnspecteerd met het volgende commando:</para>
+
+ <screen>&prompt.root; <userinput>zpool status -x</userinput></screen>
+
+ <para>Als alle pools in orde zijn en alles is normaal, dan
+ wordt het volgende bericht weergegeven:</para>
+
+ <screen>all pools are healthy</screen>
+
+ <para>Als er een probleem is, misschien een schijf die offine
+ is gegaan, dan wordt de status van de pool weergegeven en dat
+ zal er als volgt uitzien:</para>
+
+ <screen> pool: storage
+ state: DEGRADED
+status: One or more devices has been taken offline by the administrator.
+ Sufficient replicas exist for the pool to continue functioning in a
+ degraded state.
+action: Online the device using 'zpool online' or replace the device with
+ 'zpool replace'.
+ scrub: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ storage DEGRADED 0 0 0
+ raidz1 DEGRADED 0 0 0
+ da0 ONLINE 0 0 0
+ da1 OFFLINE 0 0 0
+ da2 ONLINE 0 0 0
+
+errors: No known data errors</screen>
+
+ <para>Hier staat dat het apparaat offline is gezet door de
+ beheerder. Dat is waar voor dit specifieke voorbeeld. Om de
+ schijf offline te zetten werd het volgende commando
+ gebruikt:</para>
+
+ <screen>&prompt.root; <userinput>zpool offline storage da1</userinput></screen>
+
+ <para>Het is nu mogelijk om de schijf
+ <devicename>da1</devicename> te vervangen nadat het systeem
+ uitgeschakeld is. Zodra het systeem weer opgestart is, kan
+ het volgende commando worden uitgevoerd om de schijf te
+ vervangen:</para>
+
+ <screen>&prompt.root; <userinput>zpool replace storage da1</userinput></screen>
+
+ <para>Nu kan de status opnieuw geïnspecteerd worden,
+ dit keer zonder de <option>-x</option> vlag, om de
+ statusinformatie op te vragen:</para>
+
+ <screen>&prompt.root; <userinput>zpool status storage</userinput>
+ pool: storage
+ state: ONLINE
+ scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
+config:
+
+ NAME STATE READ WRITE CKSUM
+ storage ONLINE 0 0 0
+ raidz1 ONLINE 0 0 0
+ da0 ONLINE 0 0 0
+ da1 ONLINE 0 0 0
+ da2 ONLINE 0 0 0
+
+errors: No known data errors</screen>
+
+ <para>Zoals te zien in dit voorbeeld lijkt alles normaal te
+ zijn.</para>
+ </sect3>
+
+ <sect3>
+ <title>Gegevensverificatie</title>
+
+ <para>Zoals eerder opgemerkt gebruikt <acronym>ZFS</acronym>
+ <literal>checksums</literal> om de integriteit van opgeslagen
+ gegevens te verifiëren. Ze worden automatisch
+ ingeschakeld bij het creëeren van bestandssystemen en
+ kunnen worden uitgeschakeld door middel van het volgende
+ commando:</para>
+
+ <screen>&prompt.root; <userinput>zfs set checksum=off storage/home</userinput></screen>
+
+ <para>Dit is echter geen verstandig idee, omdat checksums zeer
+ weinig opslagruimte innemen en nuttiger zijn wanneer ze zijn
+ ingeschakeld. Het lijkt daarnaast ook geen merkbare invloed
+ op de prestaties te hebben wanneer ze zijn ingeschakeld.
+ Wanneer ze aanstaan is het mogelijk om <acronym>ZFS</acronym>
+ gegevensintegriteit te laten controleren door middel van
+ checksum-verificatie. Dit proces staat bekend als
+ <quote>scrubbing</quote>. Voer het volgende commando uit om
+ de gegevensintegriteit van de <literal>storage</literal>-pool
+ te controleren:</para>
+
+ <screen>&prompt.root; <userinput>zpool scrub storage</userinput></screen>
+
+ <para>Dit proces kan, afhankelijk van de hoeveelheid opgeslagen
+ gegevens, een aanzienlijke hoeveelheid tijd in beslag nemen.
+ Het is daarnaast ook zeer <acronym>I/O</acronym>-intensief,
+ zozeer dat slechts één van deze operaties
+ tegelijkertijd uitgevoerd kan worden. Nadat de scrub is
+ voltooid wordt de status bijgewerkt en kan deze worden
+ bekeken door een statusaanvraag te doen:</para>
+
+ <screen>&prompt.root; <userinput>zpool status storage</userinput>
+ pool: storage
+ state: ONLINE
+ scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
+config:
+
+ NAME STATE READ WRITE CKSUM
+ storage ONLINE 0 0 0
+ raidz1 ONLINE 0 0 0
+ da0 ONLINE 0 0 0
+ da1 ONLINE 0 0 0
+ da2 ONLINE 0 0 0
+
+errors: No known data errors</screen>
+
+ <para>De voltooiingstijd is in dit voorbeeld duidelijk
+ zichtbaar. Deze eigenschap helpt om gegevensintegriteit te
+ garanderen gedurende een langere tijdsperiode.</para>
+
+ <para>Er zijn vele andere opties voor het Z-bestandssysteem, zie
+ de handleidingpagina's &man.zfs.8; en &man.zpool.8;.</para>
+ </sect3>
+
+ <sect3>
+ <title>ZFS quota</title>
+
+ <para>ZFS ondersteunt verschillende soorten quota: de refquota, de
+ algemene quota, de gebruikersquota en de groepsquota. Deze sectie
+ legt de beginselen van ieder van deze uit en bevat wat instructies
+ voor gebruik.</para>
+
+ <para>Quota beperken de hoeveelheid ruimte die een gegevensverzameling
+ en zijn afstammelingen kunnen gebruiken en dwingen een limiet af op de
+ hoeveelheid ruimte dat gebruikt wordt door bestandssystemen en
+ snapshots voor deze afstammelingen. Vanuit gebruikers zijn quota
+ handig om de hoeveelheid ruimte die een bepaalde gebruiker kan
+ gebruiken te beperken.</para>
+
+ <note>
+ <para>Quota kunnen niet op volumes worden ingesteld, aangezien de
+ eigenschap <literal>volsize</literal> als een impliciet quotum
+ optreedt.</para>
+ </note>
+
+ <para>De refquota,
+ <literal>refquota=<replaceable>grootte</replaceable></literal>,
+ beperkt de hoeveelheid ruimte die een gegevensverzameling in beslag
+ kan nemen door een harde grens aan de gebruikte ruimte te stellen.
+ Deze harde grens bevat echter niet de ruimte gebruikt door
+ afstammelingen, zoals bestandssystemen of snapshots.</para>
+
+ <para>Gebruik het volgende om een algemeen quotum van 10&nbsp;GB voor
+ <filename>/home/storage/bob</filename> af te dwingen:</para>
+
+ <screen>&prompt.root; <userinput>zfs set quota=10G storage/home/bob</userinput></screen>
+
+ <para>Gebruikersquota beperken de hoeveelheid ruimte die door de
+ aangegeven gebruiker kan worden gebruikt. Het algemene formaat is
+ <literal>userquota@<replaceable>gebruiker</replaceable>=<replaceable>grootte</replaceable></literal>
+ waarbij de gebruikersnaam in één van de volgende
+ formaten dient te zijn:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Naam compatibel met <acronym
+ role="Portable Operating System Interface">POSIX</acronym>
+ (bijvoorbeeld <replaceable>jan</replaceable>).</para>
+ </listitem>
+ <listitem>
+ <para>Numeriek <acronym
+ role="Portable Operating System Interface">POSIX</acronym>-ID
+ (bijvoorbeeld <replaceable>789</replaceable>).</para>
+ </listitem>
+ <listitem>
+ <para><acronym role="System Identifier">SID</acronym>-naam
+ (bijvoorbeeld
+ <replaceable>jan.bloggs@voorbeeld.com</replaceable>).</para>
+ </listitem>
+ <listitem>
+ <para>Numeriek <acronym role="System Identifier">SID</acronym>-ID
+ (bijvoorbeeld <replaceable>S-1-123-456-789</replaceable>).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Gebruik het volgende om bijvoorbeeld een een quotum van 50&nbsp;GB
+ voor een gebruiker <replaceable>jan</replaceable> af te
+ dwingen:</para>
+
+ <screen>&prompt.root; <userinput>zfs set userquota@jan=50G</userinput></screen>
+
+ <para>Gebruik in plaats hiervan, om het quotum te verwijderen of er
+ zeker van te zijn dat er geen is ingesteld:</para>
+
+ <screen>&prompt.root; <userinput>zfs set userquota@jan=none</userinput></screen>
+
+ <para>Eigenschappen van gebruikersquota worden niet weergegeven door
+ <command>zfs get all</command>. Niet-<username>root</username>
+ gebruikers kunnen alleen hun eigen quota zien tenzij het privilege
+ <literal>userquota</literal> aan ze is gegeven. Gebruikers met dit
+ privilege kunnen ieders quota bekijken en instellen.</para>
+
+ <para>Groepsquota beperken de hoeveelheid ruimte die de gespecificeerde
+ gebruikersgroep in beslag kan nemen. Het algemene formaat is
+ <literal>groupquota@<replaceable>groep</replaceable>=<replaceable>grootte</replaceable></literal>.</para>
+
+ <para>Gebruik om het quotum voor de groep
+ <replaceable>eerstegroep</replaceable> op 50&nbsp;GB in te
+ stellen:</para>
+
+ <screen>&prompt.root; <userinput>zfs set groupquota@eerstegroep=50G</userinput></screen>
+
+ <para>Gebruik in plaats hiervan, om het quotum voor de groep
+ <replaceable>eerstegroep</replaceable> te verwijderen of om er voor te
+ zorgen dat deze niet is ingesteld:</para>
+
+ <screen>&prompt.root; <userinput>zfs set groupquota@eerstegroep=none</userinput></screen>
+
+ <para>Net zoals bij de eigenschappen van gebruikersquota kunnen
+ niet-<username>root</username>-gebruikers alleen de quota zien die
+ geassocieerd zijn met de gebruikersgroepen waar ze bij horen, een
+ <username>root</username>-gebruiker of een gebruiker met het privilege
+ <literal>groupquota</literal> kan alle quota voor alle groepen
+ bekijken en instellen.</para>
+
+ <para>Het deelcommando <command>zfs userspace</command> geeft de
+ hoeveelheid ruimte weer die door elke gebruiker op de snapshot van het
+ gespecificeerde bestandssysteem in beslag wordt genomen, tezamen met
+ alle ingestelde quota. Het deelcommando <command>zfs
+ groupspace</command> doet hetzelfde voor groepen. Bekijk
+ &man.zfs.1; voor meer informatie over ondersteunde opties of het
+ weergegeven van specifieke opties.</para>
+
+ <para>Gebruik het volgende om de quota voor
+ <filename>storage/home/bob</filename> weer te geven, als u de juiste
+ privileges heeft of <username>root</username> bent:</para>
+
+ <screen>&prompt.root; <userinput>zfs get quota storage/home/bob</userinput></screen>
+ </sect3>
+
+ <sect3>
+ <title>Reserveringen in ZFS</title>
+
+ <para>ZFS ondersteunt twee soorten van ruimtereserveringen. Deze sectie
+ legt de beginselen van elk van de twee uit en bevat enkele instructies
+ voor gebruik.</para>
+
+ <para>De eigenschap <literal>reservation</literal> maakt het mogelijk om
+ een gegarandeerde minimale hoeveelheid ruimte voor een
+ gegevensverzameling en zijn afstammelingen te reserveren.
+ Dit betekent dat als er een reservering van 10&nbsp;GB is ingesteld
+ voor <filename>storage/home/bob</filename> en de schijfruimte op
+ raakt, er tenminste 10&nbsp;GB aan ruimte is gereserveerd voor deze
+ gegevensverzameling. De eigenschap <literal>reservation</literal>
+ stelt de minimale hoeveelheid ruimte in die gegarandeerd is voor een
+ gegevensverzameling exclusief afstammelingen zoals snapshots, of geeft
+ deze aan. Als er bijvoorbeeld een snapshot is genomen van
+ <filename>storage/home/bob</filename> moet er genoeg schijfruimte zijn
+ buiten de <literal>refreservation</literal> hoeveelheid om de operatie
+ te laten slagen omdat afstammelingen van de hoofdgegevensverzameling
+ niet worden meegeteld in de <literal>refreservation</literal>
+ hoeveelheid en dus niet stiekem de vastgestelde ruimte
+ wijzigen.</para>
+
+ <para>Reserveringen kunnen in allerlei situaties nuttig zijn,
+ bijvoorbeeld voor het plannen en testen van de geschiktheid van het
+ toewijzen van schijfruimte in een nieuw systeem, of om ervoor te
+ zorgen dat er genoeg schijfruimte beschikbaar is op bestandsssystemen
+ voor systeemherstelprocedures en bestanden.</para>
+
+ <para>Het algemene formaat van de eigenschap
+ <literal>reservation</literal> is
+ <literal>reservation=<replaceable>grootte</replaceable></literal>, dus
+ gebruik het onderstaande commando om een reservering van 10&nbsp;GB op
+ <filename>storage/home/bob</filename> te plaatsen:</para>
+
+ <screen>&prompt.root; <userinput>zfs set reservation=10G storage/home/bob</userinput></screen>
+
+ <para>Gebruik, om te controleren of er geen reservatie is geplaatst of
+ om een reservatie te verwijderen:</para>
+
+ <screen>&prompt.root; <userinput>zfs set reservation=none storage/home/bob</userinput></screen>
+
+ <para>Het zelfde principe kan worden toegepast op de eigenschap
+ <literal>refreservation</literal> om een refreservation in te stellen,
+ met het algemene formaat
+ <literal>refreservation=<replaceable>grootte</replaceable></literal>.</para>
+
+ <para>Gebruik één van de volgende commando's om te kijken
+ of er een reservatie of refreservation bestaat op
+ <filename>storage/home/bob</filename>:</para>
+
+ <screen>&prompt.root; <userinput>zfs get reservation storage/home/bob</userinput>
+&prompt.root; <userinput>zfs get refreservation storage/home/bob</userinput></screen>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="filesystems-linux">
+ <title>&linux; bestandssystemen</title>
+
+ <para>Deze sectie beschrijft enkele van de &linux; bestandssystemen die door
+ &os; worden ondersteund.</para>
+
+ <sect2>
+ <title>Ext2FS</title>
+
+ <para>De kernelimplementatie van het &man.ext2fs.5; bestandssysteem was
+ geschreven door Godmar Back, het eerste stuurprogramma verscheen in
+ &os;&nbsp;2.2. In &os;&nbsp;8 en eerder is de code gelicenseerd onder
+ de <acronym>GNU</acronym> Public License, onder &os;&nbsp;9 is de code
+ echter herschreven en nu beschikbaar onder de
+ <acronym>BSD</acronym>-licentie.</para>
+
+ <para>Het stuurprogramma &man.ext2fs.5; stelt de &os;-kernel in staat om
+ <acronym>ext2</acronym> bestandssystemen te lezen en er naar te
+ schrijven.</para>
+
+ <para>Laad ten eerste de kernelmodule:</para>
+
+ <screen>&prompt.root; <userinput>kldload ext2fs</userinput></screen>
+
+ <para>Koppel daarna een &man.ext2fs.5;-volume aan dat zich op
+ <filename>/dev/ad1s1</filename> bevindt:</para>
+
+ <screen>&prompt.root; <userinput>mount -t ext2fs /dev/ad1s1 /mnt</userinput></screen>
+ </sect2>
+
+ <sect2>
+ <title>XFS</title>
+
+ <para>Het X-bestandssysteem, <acronym>XFS</acronym>, is origineel
+ geschreven door <acronym>SGI</acronym> voor het besturingssysteem
+ <acronym>IRIX</acronym>, ze hebben het overgebracht naar &linux;. De
+ broncode is vrijgegeven onder de <acronym>GNU</acronym> Public License.
+ Kijk op <ulink url="https://oss.sgi.com/projects/xfs">deze
+ pagina</ulink> voor meer details. De &os;-port werd gestart door
+ Russel Cattelan, &a.kan; en &a.rodrigc;.</para>
+
+ <para>Om <acronym>XFS</acronym> als een kernelmodule te laden:</para>
+
+ <screen>&prompt.root; <userinput>kldload xfs</userinput></screen>
+
+ <para>Het stuurprogramma &man.xfs.5; stelt de &os;-kernel in staat om
+ XFS-bestandssystemen te benaderen. Momenteel is echter alleen
+ ondersteuning voor lezen aanwezig. Schrijven naar een volume is niet
+ mogelijk.</para>
+
+ <para>Om een &man.xfs.5;-volume wat op <filename>/dev/ad1s1</filename> aan
+ te koppelen:</para>
+
+ <screen>&prompt.root; <userinput>mount -t xfs /dev/ad1s1 /mnt</userinput></screen>
+
+ <para>Merk op dat de port <filename
+ role="package">sysutils/xfsprogs</filename> het gereedschap
+ <command>mkfs.xfs</command> bevat wat het mogelijk maakt om
+ <acronym>XFS</acronym>-bestandssystemen aan te maken, en verder
+ gereedschappen om ze te analyseren en repareren.</para>
+
+ <para>De vlag <literal>-p</literal> van <command>mkfs.xfs</command> kan
+ worden gebruikt om een &man.xfs.5;-bestandssysteem aan te maken welke
+ bevolkt wordt met bestanden en andere meta-gegevens. Dit kan worden
+ gebruikt om snel een alleen-lezen bestandssysteem aan te maken welke op
+ &os; getest kan worden.</para>
+ </sect2>
+
+ <sect2>
+ <title>ReiserFS</title>
+
+ <para>Het Reiser bestandssysteem, ReiserFS, was overgebracht naar &os;
+ door &a.dumbbell; en is vrijgegeven onder de <acronym>GNU</acronym>
+ Public License.</para>
+
+ <para>Het stuurprogramma voor ReiserFS stelt de &os;-kernel momenteel in
+ staat om ReiserFS bestandssystemen te benaderen en hun inhoud te lezen,
+ maar het kan ze momenteel niet beschrijven.</para>
+
+ <para>Laad ten eerste eerst de kernelmodule:</para>
+
+ <screen>&prompt.root; <userinput>kldload reiserfs</userinput></screen>
+
+ <para>Om ten tweede een ReiserFS-volume dat zich op
+ <filename>/dev/ad1s1</filename> aan te koppelen:</para>
+
+ <screen>&prompt.root; <userinput>mount -t reiserfs /dev/ad1s1 /mnt</userinput></screen>
+ </sect2>
+ </sect1>
+<!--
+ <sect1>
+ <title>* Apparaat-bestandssystemen</title>
+
+ <para>* Wordt nog vertaald.</para>
+ </sect1>
+
+ <sect1>
+ <title>* De DOS- en NTFS-bestandssystemen</title>
+
+ <para>* Wordt nog vertaald.</para>
+ </sect1>
+
+ <sect1>
+ <title>* HFS</title>
+
+ <para>* Wordt nog vertaald.</para>
+ </sect1>
+-->
+
+</chapter>