MFp4 (/MFen):

geom -> 1.38
This commit is contained in:
Remko Lodder 2007-12-27 18:26:31 +00:00
parent 8e19d79246
commit f3c39e577d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31178

View file

@ -3,7 +3,7 @@
$FreeBSD$
$FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml,v 1.13 2006/01/05 21:13:21 siebrand Exp $
Gebaseerd op: 1.21
Gebaseerd op: 1.38
-->
<chapter id="GEOM">
@ -162,13 +162,13 @@
<step>
<para>Laad de module <filename>geom_stripe</filename>:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step>
<para>Zorg ervoor dat er een mountpunt beschikbaar is. Als dit
<para>Zorg ervoor dat er een koppelpunt beschikbaar is. Als dit
volume een rootpartitie wordt, gebruikt dan tijdelijk een
ander mountpunt zoals <filename
ander koppelpunt zoals <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
@ -176,11 +176,10 @@
<step>
<para>Stel de apparaatnamen voor de schijven vast die aaneen
worden geschakeld en maak het nieuwe apparaat aan. Het
volgende commando kan bijvoorbeeld gebruikt worden om twee
worden geschakeld en maak het nieuwe apparaat aan. Om twee
ongebruikte, ongepartitioneerde <acronym>ATA</acronym>
schijven aaneen te schakelen (<filename>/dev/ad2</filename>
en <filename>/dev/ad3</filename>).</para>
en <filename>/dev/ad3</filename>):</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
@ -192,8 +191,9 @@ XXX: What message? Put it inside the screen output above.
</step>
<step>
<para>Er moet een partitietabel gemaakt worden op het nieuwe
volume:</para>
<para>Schrijf een standaard label naar de nieuwe partitie, ook
wel bekend als een partitietabel en installeer de standaard
opstart code:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
@ -203,9 +203,9 @@ XXX: What message? Put it inside the screen output above.
in de map <filename role="directory">/dev/stripe</filename>
naast het apparaat <devicename>st0</devicename>, te weten
<devicename>st0a</devicename> en
<devicename>st0c</devicename>. Nu kan er een bestandssysteem
gemaakt worden op het apparaat <devicename>st0a</devicename>
met <command>newfs</command>:</para>
<devicename>st0c</devicename>. Vanaf nu kan er een
bestandssysteem op <devicename>st0a</devicename> worden
gezet met behulp van de <command>newfs</command> applicatie:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
@ -216,8 +216,8 @@ XXX: What message? Put it inside the screen output above.
</step>
</procedure>
<para>Mount een nieuw gemaakte aaneengeschakelde schijf handmatig
met het volgende commando:</para>
<para>Om de nieuwe aaneengeschakelde schijf handmatig te koppelen
moet het volgende gedaan worden:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
@ -228,7 +228,7 @@ XXX: What message? Put it inside the screen output above.
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>Laadt de module <filename>geom</filename> ook automatisch
<para>Laadt de module <filename>geom_stripe</filename> ook automatisch
bij het initialiseren van een systeem door de volgende regel toe
te voegen aan <filename>/boot/loader.conf</filename>:</para>
@ -263,7 +263,7 @@ XXX: What message? Put it inside the screen output above.
keer de grootte van het RAM-geheugen is en de rest van de ruimte
moet toegewezen worden aan het root bestandssysteem (<filename
role="directory">/</filename>). Er zouden eigen partities
gemaakt kunnen worden voor andere mountpunten, maar hierdoor
gemaakt kunnen worden voor andere koppelpunten, maar hierdoor
wordt de moeilijkheidsgraad wel tien keer hoger doordat de
instellingen voor &man.bsdlabel.8; and &man.fdisk.8; handmatig
gewijzigd moeten worden.</para>
@ -312,15 +312,16 @@ Done.</screen>
andere schijf.</para>
</note>
<para>Gebruik &man.newfs.8; om een standaard bestandssysteem te
maken op de apparaatnode <devicename>gm0s1a</devicename>:</para>
<para>Gebruik &man.newfs.8; om een standaard <acronym>UFS</acronym>
bestandssysteem te maken op de apparaatnode
<devicename>gm0s1a</devicename>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>Door het bovenstaande commando spuugt een systeem wat
informatie uit en wat getalletjes. Dat is goed. Bekijk de
uitvoer op het voorkomen van foutmeldingen en mount het apparaat
op het mountpunt <filename
uitvoer op het voorkomen van foutmeldingen en koppel het apparaat
op het koppelpunt <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
@ -348,16 +349,16 @@ Done.</screen>
informatie.</para>
</footnote>
Wijzig de informatie voor de andere bestandssystemen zodat ze de
nieuwe schijf gebruiken. Zie het volgende voorbeeld:</para>
nieuwe schijf gebruiken, zie daarvoor het volgende voorbeeld:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
<para>Maak nu een bestand <filename>boot.conf</filename> op zowel
<para>Maak nu een bestand <filename>boot.config</filename> aan op zowel
de huidige als de nieuwe rootpartitie. Dit bestand
<quote>helpt</quote> het <acronym>BIOS</acronym> van een systeem
op te starten van de juiste schijf:</para>
op te starten vanaf de juiste schijf:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput>
&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
@ -369,8 +370,9 @@ Done.</screen>
dan is een achtervang beschikbaar.</para>
</note>
<para>Voeg de volgende regel toe aan de nieuwe
<filename>/boot/loader.conf</filename>:</para>
<para>Zorg ervoor dat de <filename>geom_mirror.ko</filename>
module automatisch geladen wordt tijdens het opstarten van het
systeem:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
@ -418,7 +420,7 @@ mountroot></programlisting>
Hierdoor komt een systeem in een &man.loader.8; prompt. Laad
de kernelmodules handmatig:</para>
<screen>OK? <userinput>load geom_mirror.ko</userinput>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>Als dit werkt werd de module om welke reden dan ook niet
@ -431,6 +433,261 @@ OK? <userinput>boot</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="geom-ggate">
<title>GEOM Gate netwerk apparaten</title>
<para>GEOM ondersteund het op afstand gebruiken van apparaten, zoals
schijven, CD-ROMs, bestanden, etc. door het gebruik van de gate
applicaties. Dit is vergelijkbaar met <acronym>NFS</acronym>.</para>
<para>Om te beginnen moet er een exports bestand gemaakt worden.
Dit bestand specificeert wie de geexporteerde bron mag benaderen
en welke rechten er op dat moment verleend worden. Bijvoorbeeld
om de vierde slice te exporteren van de eerste
<acronym>SCSI</acronym> schijf, moet het volgende in
<filename>/etc/gg.exports</filename> gezet worden:</para>
<programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>
<para>Dit staat alle machines in het prive netwerk toe om het
bestandssysteem op <devicename>da0s4d</devicename> te benaderen.</para>
<para>Om dit apparaat te kunnen exporteren is het van belang dat de
schijf nog niet gekoppeld is en moet de &man.ggated.8; dienst
gestart worden.</para>
<screen>&prompt.root; <userinput>ggated</userinput></screen>
<para>Om vervolgens het apparaat aan een client machine te koppelen
moet het volgende gedaan worden:</para>
<screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput>
ggate0
&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
<para>Vanaf dit moment kan de schijf benaderd worden via het
<filename role="directory">/mnt</filename> koppelpunt.</para>
<note>
<para>Let op, dit mislukt als de schijf reeds gekoppeld is op
de server machine of als deze reeds gekoppeld is aan een andere
machine op het netwerk.</para>
</note>
<para>Zodra het apparaat niet langer nodig is, kan het veilig
ontkoppeld worden met behulp van &man.umount.8; net zoals met
elke andere schijf.</para>
</sect1>
<sect1 id="geom-glabels">
<title>Het labelen van schijven</title>
<indexterm><primary>GEOM</primary></indexterm>
<indexterm><primary>Disk Labels</primary></indexterm>
<para>Tijdens het initialiseren van het systeem zal de &os; kernel
apparaatnodes creeeren nadat het een apparaat gevonden heeft.
Deze manier om te zoeken naar apparaten levert wat problemen op
bijvoorbeeld wanneer er een nieuwe schijf wordt toegevoegd via
<acronym>USB</acronym>. Het is hoogst waarschijnlijk dat een
flash apparaat een apparaatnode krijgt van
<devicename>da0</devicename>, waarna de originele
<devicename>da0</devicename> op schuift naar
<devicename>da1</devicename>. Dit levert problemen op als
bestandssystemen worden gekoppeld als ze gedefinieerd zijn in
<filename>/etc/fstab</filename>, dit kan zelfs ertoe leiden dat
het systeem niet opstart.</para>
<para>Een mogelijke oplossing hiervoor is om de
<acronym>SCSI</acronym> schijven een vaste plek te geven op
een bepaalde volgorde, zodat zodra er een nieuwe schijf geplaatst
wordt, deze een ongebruikt apparaatnode toegewezen krijgt. Maar
wat als er <acronym>USB</acronym> apparaten zijn die de primaire
<acronym>SCSI</acronym> disk vervangt? Dit gebeurd omdat
<acronym>USB</acronym> apparaten meestal eerder gevonden worden
dan een <acronym>SCSI</acronym> kaart. Een oplossing hiervoor
is om de apparaten pas toe te voegen als het systeem reeds
gestart is, een andere methode kan zijn om alleen een enkele
<acronym>ATA</acronym> schijf te koppelen en nooit
<acronym>SCSI</acronym> schijven door middel van
<filename>/etc/fstab</filename>.</para>
<para>Maar er is een betere oplossing beschikbaar. Door het gebruik
van <command>glabel</command> kunnen beheerders en gebruikers een
label toevoegen aan een schijf, en deze labels gebruiken in
<filename>/etc/fstab</filename>. Omdat <command>glabel</command>
het label bewaard in de laatste sector van de schijf, kan het
label bewaard blijven ook na een reboot en kan het
bestandssysteem altijd gekoppeld worden ongeacht welke apparaatnode
toegekend is aan het apparaat.</para>
<note>
<para>Uiteraard hoeft een label niet permanent te zijn, het
<command>glabel</command> programma kan zowel tijdelijke als
permanente labels aanmaken. Alleen een permanent label blijft
beschikbaar ook na een reboot. Zie de &man.glabel.8; handleiding
voor meer informatie over de verschillen tussen de
labeltypes.</para>
</note>
<sect2>
<title>Label types en voorbeelden</title>
<para>Er zijn twee type labels: een generiek label en een
tijdelijk label. Het verschil tussen de labels zit hem in
de automatische herkennen die gekoppeld zijn aan permanente
labels en het feit dat dit type label ook beschikbaar blijft
na een herstart van het systeem. Deze labels krijgen een
speciale directory toegewezen in
<filename class="directory">/dev</filename>, welke genoemd
wordt naar het bestandssysteem type. Bijvoorbeeld
<acronym>UFS</acronym>2 labels worden geplaatst in de
<filename class="directory">/dev/ufs2</filename> directory.
<para>Een generiek label verdwijnt na een herstart van het systeem.
Deze labels worden gecreeerd in
<filename class="directory">/dev/label</filename> en zijn
perfect voor experimenten.</para>
<!-- XXXTR: How do you create a file system label without running newfs
or when there is no newfs (e.g.: cd9660)? -->
<para>Permanente labels kunnen op het bestandssysteem gezet worden
door gebruik van het <command>tunefs</command> of
<command>newfs</command> commando. Om een permanent label te
schrijven voor een <acronym>UFS</acronym>2 bestandssysteem
zonder de huidige data te vernietigen:</para>
<screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen>
<warning>
<para>Als het bestandssyteem vol is kan dit leiden tot data
corruptie; echter als het bestandssysteem vol is zou het
hoofddoel moeten zijn om oude achtergebleven bestanden weg
te halen in plaats van het toevoegen van labels.</para>
</warning>
<para>Er zou nu een label moeten bestaan in
<filename class="directory">/dev/ufs2</filename>, welke
toegevoegd kan worden aan het <filename>/etc/fstab</filename>
bestand:</para>
<programlisting>/dev/ufs2/home /home ufs rw 2 2</programlisting>
<note>
<para>Het bestandssysteem mag niet gekoppeld zijn op het moment
dat <command>tunefs</command> gebruikt wordt.</para>
</note>
<para>Nu kan het bestandssysteem net als normaal worden gekoppeld:</para>
<screen>&prompt.root; <userinput>mount /home</userinput></screen>
<para>Vanaf dit moment is het mogelijk om, zolang de
<filename>geom_label.ko</filename> geladen wordt tijdens het
opstarten van het systeem, of als deze is meegecompileerd door
middel van de <literal>GEOM_LABEL</literal> optie in de kernel,
de apparaatnode te wijzigen zonder ernstige gevolgen voor het
systeem.</para>
<para>Bestandssystemen kunnen ook een standaard label mee krijgen
door gebruik te maken van de <option>-L</option> optie met het
<command>newfs</command> commando. Zie de &man.newfs.8;
handleiding voor meer informatie.</para>
<para>Het volgende commando kan worden gebruikt om een label te
verwijderen:</para>
<screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>
</sect2>
</sect1>
<sect1 id="geom-gjournal">
<title>UFS logboeken door middel van GEOM</title>
<indexterm><primary>GEOM</primary></indexterm>
<indexterm><primary>Journaling</primary></indexterm>
<para>Met de komst van &os;&nbsp;7.0 komt ook de langverwachte
optie van <acronym>UFS</acronym> logboeken. De implementatie
zelf is gedaan door middel van het GEOM subsysteem, welke
makkelijk geconfigureerd kan worden met behulp van de
&man.gjournal.8; applicatie.</para>
<para>Wat is logboeken? Logboek mogelijkheden betekend het opslaan
van bestandssysteem transacties, zoals wijzigingen die een
complete schrijf actie zijn, voor er meta-data wordt toegevoegd
en voor de wijzigingen op schijf worden gezet. Deze transactie
log kan later opnieuw afgespeeld worden om te voorkomen dat er
bestandssysteem inconsistenties voorkomen.</para>
<para>Deze methode is een extra manier om te beschermen tegen
data verlies en inconsistenties van het bestandssysteem. In
tegenstelling tot Soft Updates, welke bijhoud welke meta-data
wijzigingen er worden uitgevoerd en Snapshots, wat een beeld
bestand is van het bestandssysteem, wordt er een complete log
bewaard in de laatste sector, of zoals in sommige gevallen op
een compleet andere schijf.</para>
<para>In tegenstelling tot andere logboek implementaties is de
<command>gjournal</command> methode blok gebaseerd en niet
geimplementeerd als onderdeel van het bestandssysteem maar als
uitbreiding op <acronym>GEOM</acronym>.</para>
<para>Om ondersteuning in te schakelen voor
<command>gjournal</command>, moet de kernel over de volgende optie
beschikken, welke standaard is op 7.x systemen:</para>
<programlisting>options UFS_GJOURNAL</programlisting>
<para>Het creeeren van een logboek op een vrij en beschikbaar
bestandssysteem kan nu gedaan worden met behulp van de volgende
stappen, ervanuit gaande dat <devicename>da4</devicename> de
nieuwe beschikbare <acronym>SCSI</acronym> schijf is:</para>
<screen>&prompt.root; <userinput>gjournal label /dev/da4</userinput>
&prompt.root; <userinput>gjournal load</userinput></screen>
<para>Op dit moment zou er een <devicename>ad4</devicename>
apparaatnode en een <devicename>ad4.journal</devicename>
apparaatnode moeten zijn. Nu kan er een bestandssysteem op
gezet worden:</para>
<screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>
<para>Het hiervoor ingevoerde commando zal een
<acronym>UFS</acronym>2 bestandssysteem met logboek
ondersteuning aanmaken.</para>
<para>Koppel het apparaat op een gewenst koppelpunt met:</para>
<screen>&prompt.root; <userinput>mount /dev/da4.journal <replaceable>/mnt</replaceable></userinput></screen>
<note>
<para>In het geval dat er meerdere slices zijn, zal er een logboek
voor elke slice gecreeerd worden. Bijvoorbeeld, als
<devicename>ad4s1</devicename> en <devicename>ad4s2</devicename>
allebei slices zijn, dan zal <command>gjournal</command> een
<devicename>ad4s1.journal</devicename> en een
<devicename>ad4s2.journal</devicename> creeeren. In het geval
dat het commando twee keer gestart wordt, wordt het resultaat
<quote>journals</quote>.</para>
</note>
<para>In sommige gevallen kan het gewenst zijn om het logboek op een
andere schijf te bewaren. Voor deze gevallen moet de
logboekleverancier of het opslagapparaat gespecificeerd worden
achter het apparaat waarop de logboek functionaliteit aangebracht
moet worden. De logboek functionaliteit kan ook worden ingeschakeld
op een reeds bestaand systeem met behulp van
<command>tunefs</command>. Maak echter altijd een backup voor dat
dit soort dingen uitgeprobeerd worden. In de meeste gevallen zal
<command>gjournal</command> falen als het geen actueel logboek
kan maken, maar het voorkomt geen dataverlies als gevolg van
verkeerd gebruik van <command>tunefs</command>.</para>
</sect1>
</chapter>
<!--