diff options
Diffstat (limited to 'nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml')
-rw-r--r-- | nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml | 913 |
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™ 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 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 GB + (2 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 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"' >> /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"' >> /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 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 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 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 GB is ingesteld + voor <filename>storage/home/bob</filename> en de schijfruimte op + raakt, er tenminste 10 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 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; 2.2. In &os; 8 en eerder is de code gelicenseerd onder + de <acronym>GNU</acronym> Public License, onder &os; 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> |