Import the filesystems chapter.
Obtained from: The FreeBSD Dutch Documentation project Translated by: Wouter Reckman
This commit is contained in:
parent
29cc783e24
commit
5b0eaf1a40
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33605
1 changed files with 560 additions and 29 deletions
|
@ -1,6 +1,6 @@
|
|||
<!--
|
||||
The FreeBSD Dutch Documentation Project
|
||||
$FreeBSD: $
|
||||
$FreeBSD$
|
||||
|
||||
%SOURCE% en_US.ISO8859-1/books/handbook/filesystems/chapter.sgml
|
||||
%SRCID% 1.3
|
||||
|
@ -24,91 +24,622 @@
|
|||
</authorgroup>
|
||||
</chapterinfo>
|
||||
|
||||
<title>* Ondersteuning van bestandssystemen</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<title>Ondersteuning van bestandssystemen</title>
|
||||
|
||||
<sect1 id="filesystems-synopsis">
|
||||
<title>* Overzicht</title>
|
||||
<title>Overzicht</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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>
|
||||
|
||||
|
||||
<!--
|
||||
Tijdelijke waarschuwing om te vermijden dat experimentele
|
||||
versies en productieversies van FreeBSD met deze technologie
|
||||
worden genoemd.
|
||||
-->
|
||||
<warning>
|
||||
<para>Ondersteuning van <acronym>ZFS</acronym> wordt
|
||||
beschouwd als experimenteel. Sommige opties kunnen beperkt
|
||||
zijn in functionaliteit, andere onderdelen werken mogelijk in
|
||||
het geheel niet. Op een zeker moment zal deze ondersteuning
|
||||
klaar voor productie zijn en zal deze documentatie worden
|
||||
aangepast aan de nieuwe situatie.</para>
|
||||
</warning>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="filesystems-zfs">
|
||||
<title>* Het Z File System</title>
|
||||
<title>Het Z File System</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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.
|
||||
|
||||
<sect2>
|
||||
<title>* ZFS Tuning</title>
|
||||
<title>ZFS tuning</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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>
|
||||
<title>Geheugen</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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>* Kernel configuratie</title>
|
||||
<title>Kernelconfiguratie</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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>
|
||||
<title>Loader tunables</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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_slze="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>
|
||||
<title>Gebruik maken van <acronym>ZFS</acronym></title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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 twee <acronym>SCSI</acronym>-schijven beschikbaar zijn,
|
||||
en dat hun apparaatnamen respectievelijk
|
||||
<devicename><replaceable>da0</replaceable></devicename> en
|
||||
<devicename><replaceable>da1</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 enkele disk pool</title>
|
||||
<title>Een pool op een enkele schijf</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<para>Voer het <command>zpool</command>-commando uit om een
|
||||
<acronym>ZFS</acronym> 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>
|
||||
<title><acronym>ZFS</acronym> RAID-Z</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<para>Zoals eerder opgemerkt wordt in deze sectie aangenomen
|
||||
dat er twee <acronym>SCSI</acronym>-schijven bestaan als de
|
||||
apparaten <devicename>da0</devicename> en
|
||||
<devicename>da1</devicename>. 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</userinput></screen>
|
||||
|
||||
<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 17547008 0 17547008 0% /storage
|
||||
storage/home 17547008 0 17547008 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>
|
||||
<title>Het herstellen van <acronym>RAID</acronym>-Z</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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
|
||||
|
||||
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
|
||||
|
||||
errors: No known data errors</screen>
|
||||
|
||||
<para>Zoals te zien in dit voorbeeld lijkt alles normaal te
|
||||
zijn.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>* Data verificatie</title>
|
||||
<title>Gegevensverificatie</title>
|
||||
|
||||
<para>* Wordt nog vertaald</para>
|
||||
<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
|
||||
|
||||
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 for het Z-bestandssysteem, zie
|
||||
de &man.zfs.8; en &man.zpool.8; manualpagina's.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
|
||||
<!--
|
||||
<sect1>
|
||||
<title>* Apparaat bestand systemen</title>
|
||||
<title>* Apparaat-bestandssystemen</title>
|
||||
|
||||
<para>* Wordt nog vertaald.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>* De DOS en NTFS bestands systemen</title>
|
||||
<title>* De DOS- en NTFS-bestandssystemen</title>
|
||||
|
||||
<para>* Wordt nog vertaald.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>* Het Linux EXT bestands systeem</title>
|
||||
<title>* Het Linux EXT-bestandssysteem</title>
|
||||
|
||||
<para>* Wordt nog vertaald.</para>
|
||||
</sect1>
|
||||
|
|
Loading…
Reference in a new issue