From owner-svn-doc-all@freebsd.org Wed Nov 4 06:27:52 2015 Return-Path: Delivered-To: svn-doc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 515C8A25539; Wed, 4 Nov 2015 06:27:52 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C12B12D3; Wed, 4 Nov 2015 06:27:51 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tA46RoN7047492; Wed, 4 Nov 2015 06:27:50 GMT (envelope-from remko@FreeBSD.org) Received: (from remko@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tA46RnQt047489; Wed, 4 Nov 2015 06:27:49 GMT (envelope-from remko@FreeBSD.org) Message-Id: <201511040627.tA46RnQt047489@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: remko set sender to remko@FreeBSD.org using -f From: Remko Lodder Date: Wed, 4 Nov 2015 06:27:49 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-translations@freebsd.org Subject: svn commit: r47732 - in translations/nl_NL.ISO8859-1/books/handbook: dtrace filesystems X-SVN-Group: doc-translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Nov 2015 06:27:52 -0000 Author: remko Date: Wed Nov 4 06:27:49 2015 New Revision: 47732 URL: https://svnweb.freebsd.org/changeset/doc/47732 Log: WIP updates for dtrace and filesystems chapters. Submitted by: Mike Snow B.V. Facilitated by: Snow B.V. Modified: translations/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.xml translations/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml Modified: translations/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.xml ============================================================================== --- translations/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.xml Tue Nov 3 21:01:09 2015 (r47731) +++ translations/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.xml Wed Nov 4 06:27:49 2015 (r47732) @@ -11,14 +11,18 @@ that might make this chapter too large. $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/dtrace/chapter.xml - %SRCID% 41645 + %SRCID% 47087 --> - - &dtrace; + + + &dtrace; + TomRhodesGeschreven door @@ -27,16 +31,12 @@ that might make this chapter too large. - - Overzicht &dtrace; - &dtrace;-ondersteuning - &dtrace; @@ -51,9 +51,27 @@ that might make this chapter too large. diagnosticeren. Het kan ook worden gebruikt om vooraf geschreven scripts te draaien om zo voordeel te halen uit de mogelijkheden. Gebruikers kunnen zelfs hun eigen middelen schrijven door gebruik - te maken van de &dtrace; D Language, wat ze in staat stelt om hun + te maken van de &dtrace; D taal, wat ze in staat stelt om hun profilering aan te passen aan hun specifieke behoeften. + De &os; implementatie biedt volledige ondersteuning voor kernel + &dtrace; en experimentele ondersteuning voor userland &dtrace;. + Userland &dtrace; stelt gebruikers in staat om functie begrensde + tracing uit te voeren voor userland programma's met behulp van de + pid provider, en om statische sondes in te + voegen in userland programma's om achteraf te traceren. Sommige + ports, zoals databases/postgres-server en + lang/php5 hebben een &dtrace; optie om + statische probes in te schakelen. &os; 10.0-release heeft redelijk + goede userland &dtrace; support, maar het wordt niet klaar geacht + voor productie. In bijzonder, het is mogelijk dat getracede + programma's crashen. + + De officiële gids voor DTrace wordt onderhouden door de Illumos + project op DTrace + Gids. + Na het lezen van dit hoofdstuk weet u: @@ -80,45 +98,26 @@ that might make this chapter too large. - Bekend te zijn met de beginselen van kernelconfiguratie en - -compilatie (). - - - Wat bekendheid te hebben met beveiliging en hoe het zich verhoudt tot &os; (). - - - Te begrijpen hoe de broncode van &os; te verkrijgen en te - herbouwen (). - - - - - Deze mogelijkheid wordt als experimenteel beschouwd. Van - sommige opties kan er functionaliteit ontbreken, andere delen - kunnen in het geheel niet werken. In de loop der tijd zal deze - mogelijkheid als productierijp worden beschouwd en zal deze - documentatie worden aangepast om die situatie te - representeren. - Implementatieverschillen Hoewel &dtrace; in &os; erg lijkt op degene die in &solaris; - zit, zijn er verschillen die uitgelegd moeten worden voordat er - verder wordt gegaan. Het primaire verschil dat gebruikers zullen - zien is dat &dtrace; specifiek moet worden aangezet op &os;. Er - zijn kernelopties en modulen die aangezet moeten worden om - &dtrace; juist te laten werken. Deze zullen later worden - uitgelegd. + zit, zijn er verschillen. Het primaire verschil is dat in &os;, + &dtrace; geimplementeerd is als een set van kernel modules en + &dtrace; pas gebruikt kan worden als deze geladen zijn. Om alle + benodigde modules te laden: + +&prompt.root; kldload dtraceall + + Beginnend met &os; 10.0-RELEASE, worden de modules + automatisch geladen wanneer dtrace uitgevoerd + word. Er is een kerneloptie DDB_CTF die gebruikt wordt om ondersteuning voor het laden van @@ -133,18 +132,23 @@ that might make this chapter too large. DWARF ELF-debug-secties die door de compiler zijn aangemaakt en ctfmerge voegt CTF ELF-secties van - objecten samen in hun executables of gedeelde bibliotheken. Meer - informatie over hoe dit voor de bouw van de kernel en &os; aan te - zetten komt eraan. + objecten samen in hun executables of gedeelde bibliotheken. Sommige aanbieders voor &os; verschillen van die voor &solaris;. De meest opmerkelijke is de aanbieder dtmalloc, welke het volgen van malloc() op soort in de &os;-kernel - toestaat. + toestaat. Sommige van de providers gevonden in &solaris;, zoals + cpc en mib, zijn niet + aanwezig in &os;. Deze kunnen mogelijk in toekomstige versies + van &os; voorkomen. Bovendien zijn sommige van de aanbieders + die in beide operationele systemen voorkomen niet compatibel, + in de zin dat hun probes verschillende argumenten gebruiken. Zo + werken D scripts geschreven op &solaris; + mogelijk niet ongemodificeerd op &os;, en vice versa. - Alleen root mag &dtrace; op &os; - gebruiken. Dit heeft te maken met beveiligingsverschillen, + Alleen root mag &dtrace; + op &os; gebruiken. Dit heeft te maken met beveiligingsverschillen, &solaris; heeft enkele beveiligingscontroles op laag niveau die nog niet bestaan in &os;. Hierom is /dev/dtrace/dtrace strikt beperkt tot @@ -155,124 +159,105 @@ that might make this chapter too large. Development and Distribution License wordt bij &os; geleverd, zie /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE - of bekijk het online op - http://www.opensolaris.org/os/licensing. - - Deze licentie houdt in dat een &os;-kernel met de - &dtrace;-opties nog steeds onder de - BSD-licentie valt; de CDDL - komt echter op de proppen wanneer de modulen in binaire vorm - worden verspreid, of wanneer de binairen zijn geladen. + of bekijk het online op http://www.opensolaris.org/os/licensing. + Deze licentie houdt in dat een &os;-kernel met de &dtrace;-opties + nog steeds onder de BSD-licentie valt; de + CDDL komt echter op de proppen wanneer de modulen + in binaire vorm worden verspreid, of wanneer de binairen zijn + geladen. Ondersteuning voor &dtrace; aanzetten - Voeg de volgende regels toe aan het kernelinstellingenbestand - om ondersteuning voor &dtrace; aan te zetten: + In &os; 9.2 en 10.0, is &dtrace; support ingebouwd in de + GENERIC kernel. Gebruikers van eerdere versies + van &os; of die liever statische ondersteuning van &dtrace; compileren + moeten de volgende regels toe voegen aan een aangepast kernel + configuratie bestand en de kernel opnieuw compileren met behulp van + de instructies in : options KDTRACE_HOOKS -options DDB_CTF +options DDB_CTF +makeoptions DEBUG=-g +makeoptions WITH_CTF=1 + + Gebruikers van de AMD64-architectuur zullen de volgende + regel aan hun kernelinstellingenbestand willen toevoegen: + + options KDTRACE_FRAME + + Deze optie biedt ondersteuning voor de mogelijkheid + FBT. &dtrace; zal zonder deze optie werken; + er zal echter beperkte ondersteuning zijn voor het volgen van + functiegrenzen. - - Gebruikers van de AMD64-architectuur zullen de volgende - regel aan hun kernelinstellingenbestand willen toevoegen: - - options KDTRACE_FRAME + Nadat opnieuw is opgestart en de nieuwe kernel in het geheugen + is geladen, of de &dtrace; kernel modules zijn geladen met + kldload dtraceall, dient ondersteuning voor de + Korn-shell te worden toegevoegd. + Dit is nodig omdat de verschillende hulpmiddelen van + &dtrace; Toolkit in ksh zijn geschreven. Installeer + shells/ksh93. Het is ook mogelijk om deze + hulpmiddelen in shells/pdksh of shells/mksh te draaien. + + Tot slot, installeer de huidige &dtrace; Toolkit, een verzameling + van kant en klare scripts voor het verzamelen van informatie over + het systeem. Er zijn scripts om open bestanden, geheugen, + CPU-gebruik en nog veel meer te controleren. + &os; 10 installeert een paar van deze scripts in + /usr/share/dtrace. Op andere &os; versies + of om de volledige &dtrace; Toolkit te installeren, gebruik + sysutils/DTraceToolkit pakket of + poort. - Deze optie biedt ondersteuning voor de mogelijkheid - FBT. &dtrace; zal zonder deze optie werken; - er zal echter beperkte ondersteuning zijn voor het volgen van - functiegrenzen. + + De scripts in + /usr/share/dtrace zijn specifiek + geport naar &os;. Niet alle scripts in de &dtrace; + Toolkit zullen zoals ze nu zijn op &os; werken een aantal scripts hebben + mogelijk wat aanpassingen nodig om ze te laten werken op &os;. - Alle broncode moet herbouwd en geherinstalleerd worden met de - CTF-opties. Om deze taak te volbrengen, wordt - de &os;-broncode herbouwd met: - - - - &prompt.root; cd /usr/src - -&prompt.root; make WITH_CTF=1 kernel - - - Het systeem moet opnieuw gestart worden. - - Nadat opnieuw is opgestart en de nieuwe kernel in het geheugen - is geladen, dient ondersteuning voor de Korn-shell te worden - toegevoegd. Dit is nodig omdat de verschillende hulpmiddelen van - &dtrace;Toolkit in ksh zijn geschreven. Installeer - shells/ksh93. Het is ook - mogelijk om deze hulpmiddelen in shells/pdksh of shells/mksh te draaien. - - Als laatste dient de huidige &dtrace;Toolkit verkregen te worden. - Indien u &os; 10 draait, vindt u de &dtrace;Toolkit in - /usr/share/dtrace. In andere gevallen kunt u de - &dtrace;Toolkit installeren via de port sysutils/DTraceToolkit. + De &dtrace; Toolkit bevat vele scripts in de speciale + taal van &dtrace;. Deze taal wordt de D taal genoemd + en lijkt sterk op C++. Een diepgaande discussie over de + taal valt buiten het bereik van dit document. Het wordt uitgebreid + behandeld op http://wikis.oracle.com/display/DTrace/Documentation. &dtrace; gebruiken - Voordat er gebruik wordt gemaakt van de functionaliteit van - &dtrace;, moet het &dtrace;-apparaat bestaan. Geef het volgende - commando om het apparaat te laten: - - &prompt.root; kldload dtraceall - - Ondersteuning van &dtrace; zou nu beschikbaar moeten zijn. De - beheerder kan het volgende commando uitvoeren om alle sondes te - bekijken: + &dtrace; scripts bestaan uit een lijst van een of meer + probes of instrumentatie punten, waar de + elke probe is gekoppeld aan een actie. Wanneer aan de conditie + van een probe wordt voldaan, wordt de bijbehorende actie uitgevoerd. + Bijvoorbeeld, een actie kan optreden wanneer een bestand wordt geopend, + een proces word gestart, of een regel code wordt uitgevoerd. De actie kan + zijn om wat informatie te loggen of context variabelen te wijzigen. Het + lezen en schrijven van de context variabelen staat probes toe + informatie te delen en om samen de correlatie van verschillende + gebeurtenissen te analyseren. - &prompt.root; dtrace -l | more + Om alle probes te bekijken, kan de beheerder het volgende + commando uitvoeren: - Alle uitvoer wordt aan het hulpmiddel more - doorgegeven omdat het snel de schermbuffer zal laten overstromen. - &dtrace; kan nu als werkend worden beschouwd. Het is nu tijd om - de gereedschapskist te bekijken. - - De gereedschapskist is een verzameling van kant-en-klare - scripts die met &dtrace; gedraaid kunnen worden om informatie over - het systeem te verzamelen. Er zijn scripts om open bestanden, - geheugen, CPU-gebruik, en nog veel meer te - controleren. Pak de scripts uit met het volgende commando: - - &prompt.root; gunzip -c DTraceToolkit* | tar xvf - - - Ga naar die map met cd en zet de - uitvoerpermissies voor alle bestanden waarvan de naam uit kleine - letters bestaat, op 755. - - De inhoud van al deze scripts moet veranderd worden. Degenen - die naar /usr/bin/ksh verwijzen dienen naar - /usr/local/bin/ksh te verwijzen, de anderen - die /usr/bin/sh gebruiken dienen gewijzigd te - worden om /bin/sh te gebruiken, en tenslotte - dienen degenen die /usr/bin/perl gebruiken - veranderd te worden om /usr/local/bin/perl te - gebruiken. - - - Op dit moment is het voorzichtig om de lezer eraan te - herinneren dat de ondersteuning voor &dtrace; in &os; - niet compleet en - experimenteel is. Veel van deze scripts - zullen niet werken omdat ze of te &solaris;-specifiek zijn of - omdat ze sondes gebruiken die momenteel niet ondersteund - worden. - + &prompt.root; dtrace -l | more - Op het moment van schrijven worden slechts twee scripts van de - &dtrace; Toolkit volledig ondersteund in &os;: de scripts + Iedere probe heeft een ID, een + PROVIDER (dtrace of fbt), een + MODULE, en een + FUNCTION NAME. Raadpleeg &man.dtrace.1; voor + meer informatie over dit commando. + + De voorbeelden in dit gedeelte geven u een overzicht van het + gebruik van twee volledig ondersteunde scripts in de + &dtrace; Toolkit: de hotkernel en - procsystime. Dit zijn de twee die we in de - volgende gedeelten van deze sectie zullen bekijken. + procsystime scripts. De hotkernel is ontworpen om te identificeren welke functie de meeste kerneltijd gebruikt. Als @@ -385,14 +370,4 @@ Elapsed Times for processes csh, gebruiken en gebruikte de systeemaanroep getpid() de minste hoeveelheid tijd. - - - De taal D - - De &dtrace;-gereedschapskist bevat vele scripts in de speciale - taal van &dtrace;. Deze taal wordt de taal D - genoemd door de documentatie van &sun;, en lijkt sterk op C++. - Een diepgaande discussie over de taal valt buiten het bereik van - dit document. Het wordt uitgebreid behandeld op http://wikis.oracle.com/display/DTrace/Documentation. - Modified: translations/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml ============================================================================== --- translations/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml Tue Nov 3 21:01:09 2015 (r47731) +++ translations/nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml Wed Nov 4 06:27:49 2015 (r47732) @@ -4,11 +4,15 @@ $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/filesystems/chapter.xml - %SRCID% 40792 + %SRCID% 46423 (+r42226) --> - - Ondersteuning van bestandssystemen + + + Andere bestandssystemen + TomRhodesGeschreven door @@ -18,16 +22,14 @@ - + Overzicht Bestandssystemen - Ondersteuning bestandssystemen - Bestandssystemen @@ -35,31 +37,27 @@ 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 - FFS, dat is gebaseerd op het oorspronkelijke - Unix™ File System, ook bekend als UFS. - Dit is het oorspronkelijke bestandssysteem van &os; dat op - harde schijven wordt geplaatst voor gegevenstoegang. + besturingssystemen hebben hun eigen bestandssysteem. Traditioneel + was het eigen &os; bestandssysteem het Unix File System + UFS welke gemoderniseerd is als + UFS2. Sinds &os;  7.0, is het Z File System + (ZFS) ook beschikbaar als een eigen bestandssysteem. + Zie voor meer informatie. &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 USB - 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 (EXT) - en het &sun; Z File System (ZFS). + opslagapparaten, flash drives, en harde schijven. Dit omvat + ondersteuning voor het &linux; Extended File System + (EXT) en het Reiser file system. 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. + worden geïnstalleerd. Sommige niet-eigen bestandssystemen + hebben volledige lezen-schrijven ondersteuning andere + alleen-lezen. Na het lezen van dit hoofstuk weet de lezer: @@ -106,698 +104,17 @@ - - Het Z File System (ZFS) - - 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 RAID-Z, toegevoegd; - RAID-Z lijkt op RAID5, - maar is ontworpen om corruptie tijdens het schrijven van - gegevens te voorkomen. - - - ZFS tuning - - Het ZFS 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. - - - Geheugen - - 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. - - 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. - - - - Kernelconfiguratie - - 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 - /boot/loader.conf. - - 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: - - options KVA_PAGES=512 - - Deze optie vergroot de kerneladresruimte, waarmee het - mogelijk wordt gemaakt om de vm.kvm_size - afstelling hoger dan de huidige limiet van 1 GB - (2 GB voor PAE) 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 512 voor - 2 GB. - - - - Loader tunables - - De kmem 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 - /boot/loader.conf geplaatst dienen te - worden, waarna het systeem opnieuw moet worden - opgestart: - - vm.kmem_size="330M" -vm.kmem_size_max="330M" -vfs.zfs.arc_max="40M" -vfs.zfs.vdev.cache.size="5M" - - Zie voor een meer gedetailleerde lijst van aanbevelingen - aangaande ZFS-afstelling: - http://wiki.freebsd.org/ZFSTuningGuide - . - - - - - Gebruik maken van <acronym>ZFS</acronym> - - Er is een opstartmechanisme dat &os; in staat stelt om - ZFS pools te mounten tijdens initialisatie van - het systeem. Voer de volgende commando's uit om dit in te - stellen: - - &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf -&prompt.root; service zfs start - - In het resterende deel van dit document wordt aangenomen - dat er drie SCSI-schijven beschikbaar zijn, - en dat hun apparaatnamen respectievelijk - da0, - da1 en - da2 zijn. - Gebruikers van IDE-hardware kunnen de - ad - apparaten gebruiken in plaats van - SCSI-apparaten. - - - Een pool op een enkele schijf - - Voer het commando zpool uit om een simpele, - niet-redundante ZFS-pool op een enkele schijf aan - te maken: - - &prompt.root; zpool create example /dev/da0 - - Bestudeer de uitvoer van het commando - df om de nieuwe pool te zien: - - &prompt.root; df -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 - - In deze uitvoer wordt duidelijk dat de - example-pool niet alleen is aangemaakt, - maar ook direct gemount 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: - - &prompt.root; cd /example -&prompt.root; ls -&prompt.root; touch testfile -&prompt.root; ls -al -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 - - Helaas benut deze pool nog geen - ZFS-mogelijkheden. Maak een bestandssysteem - aan op deze pool en activeer er compressie op: - - &prompt.root; zfs create example/compressed -&prompt.root; zfs set compression=gzip example/compressed - - example/compressed is nu een - gecomprimeerd ZFS-bestandssysteem. Probeer - er een paar grote bestanden naartoe te kopiëren door ze - naar /example/compressed - te kopiëren. - - De compressie kan nu worden uitgeschakeld met: - - &prompt.root; zfs set compression=off example/compressed - - Voer het volgende commando uit om het bestandssysteem te - unmounten, en controleer dat daarna met - df: - - &prompt.root; zfs umount example/compressed -&prompt.root; df -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 - - Mount het bestandssysteem opnieuw om het weer - toegankelijk te maken en controleer met - df: - - &prompt.root; zfs mount example/compressed -&prompt.root; df -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 - - De pool en het bestandssysteem zijn ook zichtbaar in de - uitvoer van mount: - - &prompt.root; mount -/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) - - Zoals is te zien kunnen - ZFS-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 data gecreëerd. - Er zullen belangrijke bestanden op worden bewaard, dus het - bestandssysteem wordt zodanig ingesteld dat het twee - kopieën van ieder gegevensblok opslaat: - - &prompt.root; zfs create example/data -&prompt.root; zfs set copies=2 example/data - - Het is nu mogelijk om het gegevens- en ruimtegebruik te - bekijken door df opnieuw te - draaien: - - &prompt.root; df -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 - - Merk op dat ieder bestandssysteem in de pool dezelfde - hoeveelheid vrije ruimte heeft. Dit is de reden dat - df 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 ZFS 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: - - &prompt.root; zfs destroy example/compressed -&prompt.root; zfs destroy example/data -&prompt.root; zpool destroy example - - 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 RAID. - ZFS ondersteunt deze mogelijkheid in zijn - pool-ontwerp en wordt beschreven in de volgende - sectie. - - - - <acronym>ZFS</acronym> RAID-Z - - Zoals eerder opgemerkt wordt in deze sectie aangenomen - dat er drie SCSI-schijven bestaan als de - apparaten da0, da1 - en da2 (of ad0 en - hoger als IDE-schijven worden gebruikt). Voer het volgende commando - uit om een RAID-Z-pool te creëren: - - &prompt.root; zpool create storage raidz da0 da1 da2 - - - &sun; raadt aan om tussen de drie en negen schijven te gebruiken - voor een RAID-Z-configuratie. Overweeg, als u - een enkele pool met 10 of meer schijven nodig heeft, om deze te - splitsen in kleine RAID-Z-groepen. Overweeg, als - u slechts twee schijven heeft en nog steeds redundantie nodig heeft, - om in plaats hiervan een ZFS-spiegel te - gebruiken. Bekijk de handleidingpagina &man.zpool.8; voor meer - details. - - - De storage 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 - home, waar op den duur de - gebruikersbestanden geplaatst zullen worden: - - &prompt.root; zfs create storage/home - - 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: - - &prompt.root; zfs set copies=2 storage/home -&prompt.root; zfs set compression=gzip storage/home - - Kopieer, om dit als de nieuwe home-map voor gebruikers in - te stellen, de gebruikersgegevens naar deze map en - creëer de benodigde links: - - &prompt.root; cp -rp /home/* /storage/home -&prompt.root; rm -rf /home /usr/home -&prompt.root; ln -s /storage/home /home -&prompt.root; ln -s /storage/home /usr/home - - De gebruikersgegevens zouden nu op het nieuw aangemaakte - /storage/home - bestandssysteem moeten staan. Test dit door een nieuwe - gebruiker aan te maken en daarmee in te loggen. - - Probeer een snapshot te maken dat later weer hersteld kan - worden: - - &prompt.root; zfs snapshot storage/home@08-30-08 - - Merk op dat de snapshot-optie alleen een echt - bestandssysteem vastlegt, geen mappen of bestanden. Het - @-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: - - &prompt.root; zfs rollback storage/home@08-30-08 - - Voer ls in de - .zfs/snapshot - 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: - - &prompt.root; ls /storage/home/.zfs/snapshot - - 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: - - &prompt.root; zfs destroy storage/home@08-30-08 - - Na al dit testen is er geen reden om - /storage/home in zijn - huidige staat nog te bewaren. Maak er het echte - /home - bestandssysteem van: - - &prompt.root; zfs set mountpoint=/home storage/home - - Het uitvoeren van de commando's df en - mount laat zien dat het systeem ons - bestandssysteem nu als de echte /home behandelt: - - &prompt.root; mount -/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; df -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 - - Hiermee is de RAID-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;: - - &prompt.root; echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf - - - - Het herstellen van <acronym>RAID</acronym>-Z - - Iedere software-RAID heeft een methode - om zijn status te inspecteren. - ZFS is geen uitzondering. De status van - RAID-Z-apparaten kan worden - geïnspecteerd met het volgende commando: - - &prompt.root; zpool status -x - - Als alle pools in orde zijn en alles is normaal, dan - wordt het volgende bericht weergegeven: - - all pools are healthy - - 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: - - 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 - - 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: - - &prompt.root; zpool offline storage da1 - - Het is nu mogelijk om de schijf - da1 te vervangen nadat het systeem - uitgeschakeld is. Zodra het systeem weer opgestart is, kan - het volgende commando worden uitgevoerd om de schijf te - vervangen: - - &prompt.root; zpool replace storage da1 - - Nu kan de status opnieuw geïnspecteerd worden, - dit keer zonder de vlag, om de - statusinformatie op te vragen: - - &prompt.root; zpool status storage - 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 - - Zoals te zien in dit voorbeeld lijkt alles normaal te - zijn. - - - - Gegevensverificatie - - Zoals eerder opgemerkt gebruikt ZFS - checksums 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: - - &prompt.root; zfs set checksum=off storage/home - - 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 ZFS - gegevensintegriteit te laten controleren door middel van - checksum-verificatie. Dit proces staat bekend als - scrubbing. Voer het volgende commando uit om - de gegevensintegriteit van de storage-pool - te controleren: - - &prompt.root; zpool scrub storage - - Dit proces kan, afhankelijk van de hoeveelheid opgeslagen - gegevens, een aanzienlijke hoeveelheid tijd in beslag nemen. - Het is daarnaast ook zeer I/O-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: - - &prompt.root; zpool status storage - 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 - - De voltooiingstijd is in dit voorbeeld duidelijk - zichtbaar. Deze eigenschap helpt om gegevensintegriteit te - garanderen gedurende een langere tijdsperiode. - - Er zijn vele andere opties voor het Z-bestandssysteem, zie - de handleidingpagina's &man.zfs.8; en &man.zpool.8;. - - - - ZFS quota - - 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. - - 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. - - - Quota kunnen niet op volumes worden ingesteld, aangezien de - eigenschap volsize als een impliciet quotum - optreedt. - - - De refquota, - refquota=grootte, - 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. - - Gebruik het volgende om een algemeen quotum van 10 GB voor *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***