aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2012-11-22 13:44:34 +0000
committerRene Ladan <rene@FreeBSD.org>2012-11-22 13:44:34 +0000
commit3f9ca4a10b6fe76a71f76cc5aa8caf7d3c1fcace (patch)
tree969946e857b52f720e85503844c43f50fa2fda8f /nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
parentbc436f573349a1566f748c023c85134c2307c8dc (diff)
downloaddoc-3f9ca4a10b6fe76a71f76cc5aa8caf7d3c1fcace.tar.gz
doc-3f9ca4a10b6fe76a71f76cc5aa8caf7d3c1fcace.zip
MFen r39631 -> r39988
Notes
Notes: svn path=/head/; revision=40127
Diffstat (limited to 'nl_NL.ISO8859-1/books/handbook/geom/chapter.xml')
-rw-r--r--nl_NL.ISO8859-1/books/handbook/geom/chapter.xml744
1 files changed, 555 insertions, 189 deletions
diff --git a/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml b/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
index 7be612aaa4..27514d5912 100644
--- a/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/geom/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
%SOURCE% en_US.ISO8859-1/books/handbook/geom/chapter.xml
- %SRCID% 39631
+ %SRCID% 39988
-->
<chapter id="GEOM">
@@ -244,220 +244,586 @@ Done.</screen>
<indexterm><primary>schijf spiegelen</primary></indexterm>
- <para>Spiegelen (<quote>mirroring</quote>) is een technologie die
- door veel bedrijven en thuisgebruikers wordt ingezet om gegevens
- te back-uppen zonder onderbrekingen. Als er een spiegel bestaat,
- betekent dat eenvoudigweg dat schijfB een kopie is van schijfA,
- of misschien zijn schijvenC+D een kopie van schijvenA+B. Los van
- de schijfinstellingen is het belangrijkste aspect dat de
- gegevens van de ene schijf of partitie worden gerepliceerd naar
- de andere. Later kunnen die gegevens eenvoudiger worden hersteld
- of geback-upped zonder dat dit leidt tot onderbrekingen in
- dienstverlening of toegang tot gegevens en schijven kunnen zelfs
- fysiek worden opgeslagen in een kluis.</para>
-
- <para>Begin met een systeem dat twee schijven heeft van gelijke
- grootte. Deze oefeningen stellen dat het directe-toegang
- (&man.da.4;) <acronym>SCSI</acronym>-schijven zijn.</para>
+ <indexterm><primary>RAID1</primary></indexterm>
+
+ <para><acronym>RAID1</acronym>, of <firstterm>spiegelen</firstterm>, is de
+ techniek om dezelfde gegevens naar meer dan één schijf te schrijven.
+ Spiegels worden normaliter gebruikt om tegen gegevensverlies te beschermen
+ indien een schijf kapot gaat. Elke schijf in een spiegel bevat een
+ identieke kopie van de gegevens. Wanneer een individuele schijf het
+ begeeft, blijft de spiegel functioneren, en levert het gegevens van de
+ schijven die nog wel functioneren. De computer blijft draaien en de
+ beheerder heeft tijd om de kapotte schijf te vervangen zonder onderbreking
+ voor de gebruikers.</para>
+
+ <para>Twee veelvoorkomende situaties worden in deze voorbeelden getoond.
+ Het eerste is het maken van een spiegel van twee nieuwe schijven en het
+ als vervanging voor een bestaande enkele schijf te gebruiken. Het tweede
+ voorbeeld maakt een spiegel op een enkele nieuwe schijf aan, kopieert de
+ gegevens van de oude schijf er naar toe, en plaatst daarna de oude schijf
+ in de spiegel. Hoewel deze procedure iets moeilijker is, is er maar één
+ nieuwe schijf nodig.</para>
+
+ <para>Traditioneel zijn de twee schijven in een spiegel van hetzelfde model
+ en hebben ze dezelfde capaciteit, maar &man.gmirror.8; verplicht dit niet.
+ Spiegels die met ongelijke schijven zijn gemaakt zullen de capaciteit van
+ de kleinste schijf in de spiegel aannemen. Extra schijfruimte op grotere
+ schijven zal ongebruikt blijven. Schijven die later in de spiegel worden
+ geplaatst moeten tenminste evenveel capaciteit hebben als de kleinste
+ schijf die reeds in de spiegel zit.</para>
+
+ <warning>
+ <para>De procedures voor het spiegelen die hier getoond worden zijn
+ niet-destructief, maar maak zoals bij elke grote schijfoperatie eerst
+ een volledige back-up.</para>
+ </warning>
+
+ <sect2 id="GEOM-mirror-metadata">
+ <title>Kwesties met meta-gegevens</title>
+
+ <para>Veel schijfsystemen slaan meta-gegevens op aan het einde van elke
+ schijf. Oude meta-gegevens dienen gewist te worden voordat de schijf
+ herbruikt wordt voor een spiegel. De meeste problemen worden
+ veroorzaakt door twee soorten van achtergebleven meta-gegevens:
+ GPT-partitietabellen en oude meta-gegevens van &man.gmirror.8; van een
+ vorige spiegel.</para>
+
+ <para>GPT-meta-gegevens kunnen gewist worden met &man.gpart.8;. Dit
+ voorbeeld wist zowel de primaire als de back-up GPT-partitietabellen van
+ schijf <devicename>ada8</devicename>:</para>
+
+ <screen>&prompt.root; <userinput>gpart destroy -F ada8</userinput></screen>
+ <para>&man.gmirror.8; kan in één stap een schijf uit een actieve spiegel
+ halen en de meta-gegevens wissen. Hier wordt de voorbeeldschijf
+ <devicename>ada8</devicename> uit de actieve spiegel
+ <devicename>gm4</devicename> gehaald:</para>
+
+ <screen>&prompt.root; <userinput>gmirror remove gm4 ada8</userinput></screen>
+
+ <para>Gebruik, als de spiegel niet draait maar er nog oude meta-gegevens
+ van de spiegel op de schijf staan, <command>gmirror clear</command> om
+ deze te verwijderen:</para>
+
+ <screen>&prompt.root; <userinput>gmirror clear ada8</userinput></screen>
+
+ <para>&man.gmirror.8; slaat één blok aan meta-gegevens aan het einde van
+ de schijf op. Omdat GPT-partitieschema's ook meta-gegevens aan het
+ einde van de schijf opslaan, wordt het spiegelen van volledige
+ GPT-schijven met &man.gmirror.8; niet aangeraden. Hier wordt
+ MBR-partitionering gebruikt omdat het alleen een partitietabel aan het
+ begin van de schijf opslaat en niet conflicteert met
+ &man.gmirror.8;.</para>
+ </sect2>
<sect2>
- <title>Primaire schijven spiegelen</title>
-
- <para>Aannemende dat &os; op het eerste
- <devicename>da0</devicename>-schijfapparaat is
- geïnstalleerd, dient er aan &man.gmirror.8; verteld te
- worden om daar de primaire gegevens op te slaan.</para>
-
- <para>Voordat de mirror gebouwd wordt, dient aanvullende
- debuginformatie en openingstoegang tot het apparaat aangezet te
- worden door de &man.sysctl.8;-optie
- <varname>kern.geom.debugflags</varname> op de volgende waarde in
- te stellen:</para>
-
- <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
-
- <para>Maak nu de mirror aan. Begin het proces door informatie
- over metagegevens op het primaire schijfapparaat op te slaan,
- waardoor effectief het apparaat <filename
- class="devicefile">/dev/mirror/gm</filename> aangemaakt
- wordt met het volgende commando:</para>
-
- <warning>
- <para>Het creëeren van een mirror buiten de opstartschijf
- kan resulteren in gegevensverlies als er enige gegevens zijn
- opgeslagen op de laatste sector van de schijf. Dit gevaar
- wordt verminderd als het creëeren van de mirror direct na
- een verse installatie van &os; wordt gedaan. De volgende procedure
- werkt ook niet samen met de instellingen van de standaardinstallatie
- van &os;&nbsp;9.<replaceable>X</replaceable> dat het nieuwe
- partitieschema <acronym>GPT</acronym> gebruikt. GEOM zal de
- metagegevens van <acronym>GPT</acronym> overschrijven, wat'
- gegevensverlies en mogelijk een onstartbaar systeem tot gevolg
- heeft.</para>
- </warning>
-
- <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
+ <title>Een spiegel met twee nieuwe schijven maken</title>
- <para>Het systeem hoort te antwoorden met:</para>
-
- <screen>Metadata value stored on /dev/da0.
-Done.</screen>
+ <para>In dit voorbeeld is &os; reeds op een enkele schijf
+ <devicename>ada0</devicename> geïnstalleerd. Twee nieuwe schijven,
+ <devicename>ada1</devicename> en <devicename>ada2</devicename> zijn met
+ het systeem verbonden. Er zal een nieuwe spiegel op deze twee schijven
+ aangemaakt worden die de oude enkele schijf zal vervangen.</para>
- <para>Initialiseer GEOM, dit zal de kernelmodule
- <filename>/boot/kernel/geom_mirror.ko</filename> laden:</para>
+ <para>&man.gmirror.8; heeft een kernelmodule
+ <filename>geom_mirror.ko</filename> nodig, ingebouwd in de kernel of
+ geladen tijdens het opstarten of draaien. Laadt nu handmatig de
+ kernelmodule:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
- <note>
- <para>Wanneer dit commando succesvol verloopt, maakt het het
- apparaatknooppunt <devicename>gm0</devicename> aan onder de
- map <filename class="directory">/dev/mirror</filename>.</para>
- </note>
+ <para>Maak de spiegel aan met de twee nieuwe schijven:</para>
+
+ <screen>&prompt.root; <userinput>gmirror label -v gm0 /dev/ada1 /dev/ada2</userinput></screen>
+
+ <para><devicename>gm0</devicename> is een door de gebruiker gekozen
+ apparaatnaam die aan de nieuwe spiegel wordt toegekend. Nadat de
+ spiegel is gestart, zal deze apparaatnaam verschijnen in de map
+ <filename>/dev/mirror/</filename>.</para>
+
+ <para>Nu kunnen er met &man.gpart.8; MBR- en bsdlabel-partitietabellen op
+ de spiegel worden aangemaakt. Hier wordt er een traditioneel schema
+ van een gesplitst bestandssysteem getoond, met partities voor
+ <filename>/</filename>, swap, <filename>/var</filename>,
+ <filename>/tmp</filename> en <filename>/usr</filename>. Dit werkt ook
+ voor een enkel bestandssysteem met enkel <filename>/</filename> en
+ een wisselpartitie.</para>
+
+ <para>Partities op de spiegel hoeven niet dezelfde grootte te hebben als
+ die op de bestaande schijf, maar moeten groot genoeg zijn om alle
+ gegevens die reeds op <devicename>ada0</devicename> staan te kunnen
+ bevatten.</para>
+
+ <screen>&prompt.root; <userinput>gpart create -s MBR mirror/gm0</userinput>
+&prompt.root; <userinput>gpart add -t freebsd -a 4k mirror/gm0</userinput>
+&prompt.root; <userinput>gpart show mirror/gm0</userinput>
+=> 63 156301423 mirror/gm0 MBR (74G)
+ 63 63 - free - (31k)
+ 126 156301299 1 freebsd (74G)
+ 156301425 61 - free - (30k)</screen>
+
+ <screen>&prompt.root; <userinput>gpart create -s BSD mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs -a 4k mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
+=> 0 156301299 mirror/gm0s1 BSD (74G)
+ 0 2 - free - (1.0k)
+ 2 4194304 1 freebsd-ufs (2.0G)
+ 4194306 8388608 2 freebsd-swap (4.0G)
+ 12582914 4194304 4 freebsd-ufs (2.0G)
+ 16777218 2097152 5 freebsd-ufs (1.0G)
+ 18874370 137426928 6 freebsd-ufs (65G)
+ 156301298 1 - free - (512B)</screen>
+
+ <para>Maak de spiegel opstartbaar door opstartcode in het MBR en bsdlabel
+ te installeren en de actieve slice in te stellen:</para>
+
+ <screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
+&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
+&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
+
+ <para>Formatteer de bestandssystemen op de nieuwe spiegel en zet daarbij
+ soft-updates aan.</para>
+
+ <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput></screen>
+
+ <para>Bestandssystemen van de originele schijf
+ (<devicename>ada0</devicename>) kunnen nu met &man.dump.8; en
+ &man.restore.8; naar de spiegel gekopieerd worden:</para>
+
+ <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/tmp</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/usr</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)</userinput></screen>
+
+ <para><filename>/mnt/etc/fstab</filename> moet bewerkt worden om naar de
+ nieuwe bestandssystemen op de spiegel te wijzen:</para>
+
+ <programlisting># Device Mountpoint FStype Options Dump Pass#
+/dev/mirror/gm0s1a / ufs rw 1 1
+/dev/mirror/gm0s1b none swap sw 0 0
+/dev/mirror/gm0s1d /var ufs rw 2 2
+/dev/mirror/gm0s1e /tmp ufs rw 2 2
+/dev/mirror/gm0s1f /usr ufs rw 2 2</programlisting>
+
+ <para>Als de kernelmodule &man.gmirror.8; niet in de kernel is ingebouwd,
+ wordt <filename>/mnt/boot/loader.conf</filename> bewerkt om de module
+ tijdens het opstarten te laden:</para>
+
+ <programlisting>geom_mirror_load="YES"</programlisting>
+
+ <para>Herstart het systeem om de nieuwe spiegel te testen en te verifiëren
+ dat alle gegevens zijn gekopieerd. Het BIOS zal de spiegel als twee
+ individuele schijven zien in plaats van als een spiegel. Omdat de
+ schijven identiek zijn, maakt het niet uit vanaf welke schijf wordt
+ opgestart.</para>
+
+ <para>Bekijk de sectie <link linkend="gmirror-troubleshooting">Problemen
+ oplossen</link> als er problemen zijn tijdens het opstarten. Door de
+ originele <devicename>ada0</devicename> uit te schakelen en los te
+ koppelen kan het als offline back-up bewaard worden.</para>
+
+ <para>Tijdens het gebruik zal de spiegel zich net zoals de originele
+ enkele schijf gedragen.</para>
+ </sect2>
- <para>Maak het mogelijk om de kernelmodule
- <filename>geom_mirror.ko</filename> tijdens systeeminitialisatie
- te laden:</para>
+ <sect2>
+ <title>Een spiegel met een bestaande schijf aanmaken</title>
- <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
+ <para>In dit voorbeeld is &os; reeds geïnstalleerd op een enkele schijf,
+ <devicename>ada0</devicename>. Een nieuwe schijf,
+ <devicename>ada1</devicename>, is met het systeem verbonden. Er zal
+ een spiegel van één schijf worden aangemaakt op de nieuwe schijf, het
+ bestaande systeem zal ernaar worden gekopieerd, en daarna zal de oude
+ schijf in de spiegel worden geplaatst. Deze enigszins complexe
+ procedure is nodig omdat &man.gmirror.8; een blok van 512 bytes aan
+ meta-gegevens aan het einde van elke schijf moet plaatsen en de
+ bestaande <devicename>ada0</devicename> meestal alle ruimte reeds heeft
+ toegewezen.</para>
- <para>Bewerk het bestand <filename>/etc/fstab</filename>, waarbij
- verwijzingen naar het oude <devicename>da0</devicename> worden
- vervangen door de nieuwe apparaatknooppunten van het
- mirrorapparaat <devicename>gm0</devicename>.</para>
+ <para>Laadt de kernelmodule &man.gmirror.8;:</para>
- <note>
- <para>Indien &man.vi.1; de geprefereerde tekstverwerker is, is
- het volgende een gemakkelijke manier om deze taak te
- volbrengen:</para>
-
- <screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
-
- <para>Maak een reservekopie van de huidige gegevens van
- <filename>fstab</filename> in &man.vi.1; door <userinput>:w
- /etc/fstab.bak</userinput> in te typen. Vervang daarna alle
- oude verwijzingen naar <devicename>da0</devicename> door
- <devicename>gm0</devicename> door
- <userinput>:%s/da/mirror\/gm/g</userinput> in te typen.</para>
- </note>
+ <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
- <para>Het resulterende <filename>fstab</filename> zou er ongeveer
- hetzelfde als het volgende uit moeten zien. Het maakt niet uit
- of de schijfstations <acronym>SCSI</acronym> of
- <acronym>RAID</acronym> zijn, het
- <acronym>RAID</acronym>-apparaat zal ongeacht hiervan
- <devicename>gm</devicename> zijn.</para>
-
- <programlisting># Device Mountpoint FStype Options Dump Pass#
-/dev/mirror/gm0s1b none swap sw 0 0
-/dev/mirror/gm0s1a / ufs rw 1 1
-/dev/mirror/gm0s1d /usr ufs rw 0 0
-/dev/mirror/gm0s1f /home ufs rw 2 2
-#/dev/mirror/gm0s2d /store ufs rw 2 2
-/dev/mirror/gm0s1e /var ufs rw 2 2
-/dev/acd0 /cdrom cd9660 ro,noauto 0 0</programlisting>
-
- <para>Start het systeem opnieuw op:</para>
-
- <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
-
- <para>Tijdens de systeeminitialisatie dient het apparaat
- <devicename>gm0</devicename> in plaats van
- <devicename>da0</devicename> gebruikt te worden. Als het
- systeem volledig is geïnitialiseerd, kan dit gecontroleerd
- worden door de uitvoer van het commando <command>mount</command>
- te inspecteren:</para>
-
- <screen>&prompt.root; <userinput>mount</userinput>
-Filesystem 1K-blocks Used Avail Capacity Mounted on
-/dev/mirror/gm0s1a 1012974 224604 707334 24% /
-devfs 1 1 0 100% /dev
-/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
-/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
-/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
-devfs 1 1 0 100% /var/named/dev</screen>
-
- <para>De uitvoer ziet er als verwacht uit. Plaats als laatste
- stap, om synchronisatie te beginnen, de schijf
- <devicename>da1</devicename> in de mirror met het volgende
- commando:</para>
-
- <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
-
- <para>De status kan gecontroleerd worden tijdens het bouwen van de
- mirror met het volgende commando:</para>
-
- <screen>&prompt.root; <userinput>gmirror status</userinput></screen>
-
- <para>Wanneer de mirror gebouwd is en alle huidige gegevens zijn
- gesynchroniseerd, dient de uitvoer van het bovenstaande commando
- er als volgt uit te zien:</para>
-
- <screen> Name Status Components
-mirror/gm0 COMPLETE da0
- da1</screen>
-
- <para>Als er problemen zijn, of als de mirror nog bezig is om het
- bouwproces te voltooien, zal het voorbeeld
- <literal>DEGRADED</literal> in plaats van
- <literal>COMPLETE</literal> laten zien.</para>
+ <para>Controleer de mediagrootte van de originele schijf met
+ &man.diskinfo.8;:</para>
+
+ <screen>&prompt.root; <userinput>diskinfo -v ada0 | head -n3</userinput>
+/dev/ada0
+ 512 # sectorsize
+ 1000204821504 # mediasize in bytes (931G)</screen>
+
+ <para>Maak een spiegel aan op de nieuwe schijf. Om er zeker van te zijn
+ dat de capaciteit van de spiegel niet groter is dan die van de originele
+ schijf, wordt &man.gnop.8; gebruikt om een nepschijf van precies
+ dezelfde grootte aan te maken. Deze schijf slaat geen gegevens op, maar
+ wordt alleen gebruikt om de grootte van de spiegel te begrenzen.
+ Wanneer &man.gmirror.8; de spiegel aanmaakt, zal het de capaciteit
+ beperken tot de grootte van <devicename>gzero.nop</devicename> zelfs
+ als de nieuwe schijf (<devicename>ada1</devicename>) meer ruimte heeft.
+ Merk op dat de <replaceable>1000204821504</replaceable> op de tweede
+ regel gelijk moet zijn aan de mediagrootte van
+ <devicename>ada0</devicename> zoals hierboven door &man.diskinfo.8; is
+ getoond.</para>
+
+ <screen>&prompt.root; <userinput>geom zero load</userinput>
+&prompt.root; <userinput>gnop create -s 1000204821504 gzero</userinput>
+&prompt.root; <userinput>gmirror label -v gm0 gzero.nop ada1</userinput>
+&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
+
+ <para><devicename>gzero.nop</devicename> slaat geen gegevens op, dus ziet
+ de spiegel het niet als verbonden. De spiegel wordt verteld om
+ componenten die niet verbonden zijn te <quote>vergeten</quote>, waarbij
+ referenties naar <devicename>gzero.nop</devicename> worden verwijderd.
+ Het resultaat is een spiegelapparaat dat slechts één enkele schijf,
+ <devicename>ada1</devicename>, bevat.</para>
+
+ <para>Bekijk de partitietabel van <devicename>ada0</devicename> nadat
+ <devicename>gm0</devicename> is aangemaakt.</para>
+
+ <para>Deze uitvoer komt van een schijf van 1&nbsp;TB. Als er wat
+ niet-toegewezen ruimte aanwezig is aan het einde van de schijf, kan de
+ inhoud direct van <devicename>ada0</devicename> naar de nieuwe spiegel
+ worden gekopieerd.</para>
+
+ <para>Als de uitvoer echter toont dat alle ruimte op de schijf is
+ toegewezen zoals in de volgende lijst, is er geen ruimte over voor de
+ 512 bytes aan meta-gegevens van &man.gmirror.8; aan het einde van de
+ schijf.</para>
+
+ <screen>&prompt.root; <userinput>gpart show ada0</userinput>
+=> 63 1953525105 ada0 MBR (931G)
+ 63 1953525105 1 freebsd [active] (931G)</screen>
+
+ <para>In dit geval moet de partitietabel worden bewerkt om de capaciteit
+ op <devicename>mirror/gm0</devicename> met één sector te verminderen.
+ De procedure hiervoor wordt later uitgelegd.</para>
+
+ <para>In beide gevallen dienen de partitietabellen op de primaire schijf
+ eerst gekopieerd te worden. Dit kan gedaan worden met de subcommando's
+ <command>backup</command> en <command>restore</command> van
+ &man.gpart.8;.</para>
+
+ <screen>&prompt.root; <userinput>gpart backup ada0 &gt; table.ada0</userinput>
+&prompt.root; <userinput>gpart backup ada0s1 &gt; table.ada0s1</userinput></screen>
+
+ <para>Deze subcommando's maken twee bestanden aan,
+ <filename>table.ada0</filename> en <filename>table.ada0s1</filename>.
+ Dit voorbeeld komt van een schijf van 1&nbsp;TB af:</para>
+
+ <screen>&prompt.root; <userinput>cat table.ada0</userinput>
+MBR 4
+1 freebsd 63 1953525105 [active]</screen>
+
+ <screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
+BSD 8
+1 freebsd-ufs 0 4194304
+2 freebsd-swap 4194304 33554432
+4 freebsd-ufs 37748736 50331648
+5 freebsd-ufs 88080384 41943040
+6 freebsd-ufs 130023424 838860800
+7 freebsd-ufs 968884224 984640881</screen>
+
+ <para>Als de gehele schijf was gebruikt in de uitvoer van &man.gpart.8;
+ <command>show</command>, dan moet de capaciteit in deze partitietabellen
+ met één sector verminderd worden. Bewerk de twee bestanden zodat de
+ grootte van zowel de slice als de laatste partitie met één verminderd
+ wordt. Dit zijn de laatste getallen in elke lijst.</para>
+
+ <screen>&prompt.root; <userinput>cat table.ada0</userinput>
+MBR 4
+1 freebsd 63 <emphasis>1953525104</emphasis> [active]</screen>
+
+ <screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
+BSD 8
+1 freebsd-ufs 0 4194304
+2 freebsd-swap 4194304 33554432
+4 freebsd-ufs 37748736 50331648
+5 freebsd-ufs 88080384 41943040
+6 freebsd-ufs 130023424 838860800
+7 freebsd-ufs 968884224 <emphasis>984640880</emphasis></screen>
+
+ <para>Als er tenminste één sector aan het einde van de schijf niet was
+ toegewezen, kunnen deze twee bestanden ongewijzigd gebruikt worden.</para>
+ <para>Herstel nu de partitietabel naar
+ <devicename>mirror/gm0</devicename>.</para>
+
+ <screen>&prompt.root; <userinput>gpart restore mirror/gm0 &lt; table.ada0</userinput>
+&prompt.root; <userinput>gpart restore mirror/gm0s1 &lt; table.ada0s1</userinput></screen>
+
+ <para>Controleer de partitietabel met &man.gpart.8;
+ <command>show</command>. Dit voorbeeld heeft
+ <devicename>gm0s1a</devicename> voor <filename>/</filename>,
+ <devicename>gm0s1d</devicename> voor <filename>/var</filename>,
+ <devicename>gm0s1e</devicename> voor <filename>/usr</filename>,
+ <devicename>gm0s1f</devicename> voor <filename>/data1</filename> en
+ <devicename>gm0s1g</devicename> voor <filename>/data2</filename>.</para>
+
+ <screen>&prompt.root; <userinput>gpart show mirror/gm0</userinput>
+=> 63 1953525104 mirror/gm0 MBR (931G)
+ 63 1953525042 1 freebsd [active] (931G)
+ 1953525105 62 - free - (31k)
+
+&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
+=> 0 1953525042 mirror/gm0s1 BSD (931G)
+ 0 2097152 1 freebsd-ufs (1.0G)
+ 2097152 16777216 2 freebsd-swap (8.0G)
+ 18874368 41943040 4 freebsd-ufs (20G)
+ 60817408 20971520 5 freebsd-ufs (10G)
+ 81788928 629145600 6 freebsd-ufs (300G)
+ 710934528 1242590514 7 freebsd-ufs (592G)
+ 1953525042 63 - free - (31k)</screen>
+
+ <para>Zowel de slice als de laatste partitie dienen wat vrije ruimte aan
+ het einde van elke schijf te hebben.</para>
+
+ <para>Maak bestandssystemen aan op deze nieuwe partities. Het aantal
+ partities zal variëren, overeenkomend met de partities op de originele
+ schijf, <devicename>ada0</devicename>.</para>
+
+ <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1g</userinput></screen>
+
+ <para>Maak de spiegel opstartbaar door opstartcode in het MBR en bsdlabel
+ te installeren en de actieve slice in te stellen:</para>
+
+ <screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
+&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
+&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
+
+ <para>Pas <filename>/etc/fstab</filename> aan zodat het de nieuwe
+ partities op de spiegel gebruikt. Maak eerst een kopie van dit bestand
+ als <filename>/etc/fstab.orig</filename>.</para>
+
+ <screen>&prompt.root; <userinput>cp /etc/fstab /etc/fstab.orig</userinput></screen>
+
+ <para>Wijzig <filename>/etc/fstab</filename> door
+ <devicename>/dev/ada0</devicename> door
+ <devicename>mirror/gm0</devicename> te vervangen.</para>
+
+ <programlisting># Device Mountpoint FStype Options Dump Pass#
+/dev/mirror/gm0s1a / ufs rw 1 1
+/dev/mirror/gm0s1b none swap sw 0 0
+/dev/mirror/gm0s1d /var ufs rw 2 2
+/dev/mirror/gm0s1e /usr ufs rw 2 2
+/dev/mirror/gm0s1f /data1 ufs rw 2 2
+/dev/mirror/gm0s1g /data2 ufs rw 2 2</programlisting>
+
+ <para>Als de kernelmodule &man.gmirror.8; niet in de kernel is gebouwd,
+ wijzig dan <filename>/boot/loader.conf</filename> om het te
+ laden:</para>
+
+ <programlisting>geom_mirror_load="YES"</programlisting>
+
+ <para>Bestandssystemen van de originele schijf kunnen nu met &man.dump.8;
+ en &man.restore.8; naar de spiegel gekopieerd worden. Merk op dat het
+ maken van een snapshot voor elk bestandssysteem dat met <command>dump
+ -L</command> gedumpt is even kan duren.</para>
+
+ <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/usr</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/data1</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1g /mnt/data2</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && restore -rf -)</userinput></screen>
+
+ <para>Start het systeem opnieuw op vanaf <devicename>ada1</devicename>.
+ Als alles werkt, zal het systeem opstarten vanaf
+ <devicename>mirror/gm0</devicename>, wat nu dezelfde gegevens bevat die
+ <devicename>ada0</devicename> eerder bevatte. Zie de sectie <link
+ linkend="gmirror-troubleshooting">Problemen oplossen</link> als er
+ problemen zijn met het opstarten.</para>
+
+ <para>Op dit moment bestaat de spiegel nog steeds alleen uit de enkele
+ schijf <devicename>ada1</devicename>.</para>
+
+ <para>Nadat er succesvol van <devicename>mirror/gm0</devicename> is
+ opgestart, is de laatste stap het plaatsen van
+ <devicename>ada0</devicename> in de spiegel.</para>
+
+ <important>
+ <para>Als <devicename>ada0</devicename> in de spiegel wordt geplaatst,
+ zal de vorige inhoud worden overschreven door gegevens in de spiegel.
+ Ben er zeker van dat <devicename>mirror/gm0</devicename> dezelfde
+ gegevens bevat als <devicename>ada0</devicename> voordat
+ <devicename>ada0</devicename> aan de spiegel wordt toegevoegd. Als
+ er iets mis is met de gegevens die door &man.dump.8; en
+ &man.restore.8; gekopieerd zijn, draai dan
+ <filename>/etc/fstab</filename> terug om de bestandssystemen op
+ <devicename>ada0</devicename> aan te koppelen, start opnieuw op, en
+ probeer de hele procedure nogmaals.</para>
+ </important>
+
+ <screen>&prompt.root; <userinput>gmirror insert gm0 ada0</userinput>
+GEOM_MIRROR: Device gm0: rebuilding provider ada0</screen>
+
+ <para>De synchronisatie tussen de twee schijven zal onmiddellijk beginnen.
+ &man.gmirror.8; <command>status</command> toont de voortgang.</para>
+
+ <screen>&prompt.root; <userinput>gmirror status</userinput>
+ Name Status Components
+mirror/gm0 DEGRADED ada1 (ACTIVE)
+ ada0 (SYNCHRONIZING, 64%)</screen>
+
+ <para>Na een tijd zal de synchronisatie voltooid zijn.</para>
+
+ <screen>GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished.
+&prompt.root; <userinput>gmirror status</userinput>
+ Name Status Components
+mirror/gm0 COMPLETE ada1 (ACTIVE)
+ ada0 (ACTIVE)</screen>
+
+ <para><devicename>mirror/gm0</devicename> bestaat nu uit de twee schijven
+ <devicename>ada0</devicename> en <devicename>ada1</devicename>, en de
+ inhoud wordt automatisch met elkaar gesynchroniseerd. In het gebruik
+ zal <devicename>mirror/gm0</devicename> zich net zo gedragen als de
+ originele enkele schijf.</para>
</sect2>
- <sect2>
+ <sect2 id="gmirror-troubleshooting">
<title>Problemen oplossen</title>
<sect3>
- <title>Systeem weigert op te starten</title>
-
- <para>Als een systeem opstart in een prompt dat op het volgende
- lijkt:</para>
-
- <programlisting>ffs_mountroot: can't find rootvp
-Root mount failed: 6
-mountroot></programlisting>
-
- <para>Herstart te machine met de aan/uit-schakelaar of met de
- resetknop. Selecteer in het bootmenu optie zes (6).
- Hierdoor komt een systeem in een &man.loader.8; prompt. Laad
- de kernelmodules handmatig:</para>
-
- <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
- juist geladen. Controleer of de relevante regel in
- <filename>/boot/loader.conf</filename> correct is. Als het
- probleem aanhoudt, zet dan de onderstaande regel in het
- bestand met kernelinstellingen en herbouw en installeer de
- kernel.</para>
-
- <programlisting>options GEOM_MIRROR</programlisting>
-
- <para>Hiermee moet het probleem opgelost zijn.</para>
+ <title>Problemen met opstarten</title>
+
+ <sect4>
+ <title>BIOS-instellingen</title>
+
+ <para>Mogelijk is het nodig om de BIOS-instellingen te wijzigen om
+ van één van de nieuwe gespiegelde schijven op te starten. Beide
+ spiegelschijven kunnen gebruikt worden voor het opstarten. Als
+ componenten van een spiegel bevatten ze identieke gegevens.</para>
+ </sect4>
+
+ <sect4>
+ <title>Opstartproblemen</title>
+
+ <para>Als het opstarten met dit bericht stopt, is er iets mis met het
+ spiegelapparaat:</para>
+
+ <screen>Mounting from ufs:/dev/mirror/gm0s1a failed with error 19.
+
+Loader variables:
+ vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a
+ vfs.root.mountfrom.options=rw
+
+Manual root filesystem specification:
+ &lt;fstype&gt;:&lt;device&gt; [options]
+ Mount &lt;device&gt; using filesystem &lt;fstype&gt;
+ and with the specified (optional) option list.
+
+ eg. ufs:/dev/da0s1a
+ zfs:tank
+ cd9660:/dev/acd0 ro
+ (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
+
+ ? List valid disk boot devices
+ . Yield 1 second (for background tasks)
+ &lt;empty line&gt; Abort manual input
+
+mountroot&gt;</screen>
+
+ <para>Het vergeten om de module <filename>geom_mirror</filename> in
+ <filename>/boot/loader.conf</filename> te laden kan dit probleem
+ veroorzaken. Start op vanaf een &os;-9 of nieuwere CD of USB-stick
+ en kies <literal>Shell</literal> op de eerste prompt om dit op te
+ lossen. Laadt daarna de spiegelmodule en en koppel het
+ spiegelapparaat aan:</para>
+
+ <screen>&prompt.root; <userinput>gmirror load</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
+
+ <para>Voeg een regel om de spiegelmodule te laden toe aan
+ <filename>/mnt/boot/loader.conf</filename>:</para>
+
+ <programlisting>geom_mirror_load="YES"</programlisting>
+
+ <para>Sla het bestand op en start opnieuw op.</para>
+
+ <para>Andere problemen die <literal>error 19</literal> veroorzaken
+ zijn lastiger om op te lossen. Typ
+ <literal>ufs:/dev/ada0s1a</literal> in op de prompt. Hoewel het
+ systeem van <devicename>ada0</devicename> zou moeten opstarten,
+ verschijnt er een andere prompt om een shell uit te kiezen omdat
+ <filename>/etc/fstab</filename> onjuist is. Druk op de prompt op
+ de Enter-toets. Draai de wijzigingen tot nu toe terug door
+ <filename>/etc/fstab</filename> terug te draaien, waardoor de
+ bestandssystemen vanaf de originele schijf (
+ <devicename>ada0</devicename>) in plaats vanaf de spiegel worden
+ aangekoppeld. Start het systeem opnieuw op en probeer de procedure
+ nogmaals.</para>
+
+ <screen>Enter full pathname of shell or RETURN for /bin/sh:
+&prompt.root; <userinput>cp /etc/fstab.orig /etc/fstab</userinput>
+&prompt.root; <userinput>reboot</userinput></screen>
+ </sect4>
</sect3>
</sect2>
<sect2>
<title>Herstellen van falende schijven</title>
- <para>Het mooie aan het spiegelen van schijven is dat als een
- schijf faalt, deze vervangen kan worden, aangenomen zonder
- gegevensverlies.</para>
-
- <para>Neem met betrekking tot de vorige
- <acronym>RAID</acronym>1-configuratie aan dat
- <devicename>da1</devicename> het geeft begeven en vervangen moet
- worden. Bepaal, om het te vervangen, welke schijf het heeft
- begeven en schakel het systeem uit. Op dit moment kan de schijf
- worden verwisseld door een nieuwe en kan het systeem weer worden
- opgestart. Nadat het systeem is herstart, kunnen de volgende
- commando's worden gebruikt om de schijf te vervangen:</para>
+ <para>Het mooie aan het spiegelen van schijven is dat een individuele
+ schijf kan falen zonder dat de spiegel gegevens verliest.</para>
+
+ <para><devicename>ada0</devicename> is één van de twee schijven die de
+ spiegel in het vorige voorbeeld vormen. Als
+ <devicename>ada0</devicename> faalt zal de spiegel blijven werken en
+ gegevens leveren van de overgebleven werkende schijf,
+ <devicename>ada1</devicename>.</para>
+
+ <para>Om de kapotte schijf te vervangen wordt de computer uitgezet en de
+ kapotte schijf fysiek vervangen door een nieuwe schijf van gelijke of
+ grotere capaciteit. Fabrikanten passen enigszins willekeurige waarden
+ toe om schijven in gigabytes aan te duiden, de enige manier om er echt
+ zeker van te zijn is om de totale hoeveelheid aan sectors aangegeven
+ door <command>diskinfo -v</command> te vergelijken. Een schijf met een
+ grotere capaciteit dan in de spiegel zal werken, alhoewel de extra
+ ruimte op de nieuwe schijf niet gebruikt zal worden.</para>
+
+ <para>Nadat de computer opnieuw is aangezet, zal de spiegel in een
+ <quote>degraded</quote> toestand met slechts één schijf draaien. De
+ spiegel wordt verteld om schijven die momenteel niet verbonden zijn te
+ vergeten:</para>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
- <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
-
- <para>Gebruik het commando <command>gmirror status</command> om de
- voortgang van het herbouwen te bekijken. Zo eenvoudig is het.</para>
+ <para>Alle oude meta-gegevens zouden <link
+ linkend="GEOM-mirror-metadata">van de vervangende schijf gewist</link>
+ moeten zijn. Daarna wordt de schijf, in dit voorbeeld
+ <devicename>ada4</devicename>, in de spiegel geplaatst:</para>
+
+ <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/ada4</userinput></screen>
+
+ <para>De hersynchronisatie begint wanneer de nieuwe schijf in de spiegel
+ wordt geplaatst. Het kopiëren van gegevens van de spiegel naar een
+ nieuwe schijf kan een tijd duren. De prestaties van de spiegel zullen
+ tijdens het kopiëren sterk verminderd zijn, dus is het het beste om
+ nieuwe schijven in te voegen wanneer de vraag op de computer laag
+ is.</para>
+
+ <para>De voortgang kan met <command>gmirror status</command> gevolgd
+ worden, wat de schijven die gesynchroniseerd en het percentage van de
+ voltooiing laat zien. Tijdens de hersynchronisatie zal de status
+ <computeroutput>DEGRADED</computeroutput> zijn en veranderen in
+ <computeroutput>COMPLETE</computeroutput> wanneer het proces is
+ voltooid.</para>
</sect2>
</sect1>