MFp4 (/MFen):
geom -> 1.38
This commit is contained in:
parent
8e19d79246
commit
f3c39e577d
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31178
1 changed files with 283 additions and 26 deletions
|
@ -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>>> /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" > /boot.config</userinput>
|
||||
&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /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"' >> /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; 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>
|
||||
|
||||
<!--
|
||||
|
|
Loading…
Reference in a new issue