diff --git a/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
index 86758d807a..56a5a241bb 100644
--- a/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
@@ -1,10 +1,10 @@
 <!--
      The FreeBSD Dutch Documentation Project
 
-     $FreeBSD$
+     $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml,v 1.20 2011/01/29 22:37:20 remko Exp $
 
      %SOURCE%	en_US.ISO8859-1/books/handbook/disks/chapter.sgml
-     %SRCID%	1.302
+     %SRCID%	1.309
 -->
 
 <chapter id="disks">
@@ -261,7 +261,9 @@
       en schijven tot 4&nbsp;TB.  Het formaat van &man.sunlabel.8; is
       beperkt tot 2^32-1 sectoren per partitie en 8 partities per
       schijf, in totaal dus 16&nbsp;TB.  Voor grotere schijven kan
-      &man.gpt.8; worden gebruikt.</para>
+      &man.gpart.8; worden gebruikt om <acronym>GPT</acronym>-partities aan te
+      maken.  <acronym>GPT</acronym> heeft het bijkomende voordeel dat het niet
+      tot 4 slices beperkt is.</para>
 
     <sect2>
       <title>&man.sysinstall.8; gebruiken</title>
@@ -4502,6 +4504,674 @@ Device          1K-blocks     Used    Avail Capacity
       </screen>
     </sect2>
   </sect1>
+
+  <sect1 id="disks-hast">
+    <sect1info>
+      <authorgroup>
+	<author>
+	  <firstname>Daniel</firstname>
+	  <surname>Gerzo</surname>
+	  <contrib>Bijgedragen door </contrib>
+	</author>
+      </authorgroup>
+      <authorgroup>
+	<author>
+	  <firstname>Freddie</firstname>
+	  <surname>Cash</surname>
+	  <contrib>Met informatie van </contrib>
+	</author>
+	<author>
+	  <firstname>Pawel Jakub</firstname>
+	  <surname>Dawidek</surname>
+	</author>
+	<author>
+	  <firstname>Michael W.</firstname>
+	  <surname>Lucas</surname>
+	</author>
+	<author>
+	  <firstname>Viktor</firstname>
+	  <surname>Petersson</surname>
+	</author>
+      </authorgroup>
+      <!-- Datum van schrijven: 26 februari 2011 -->
+    </sect1info>
+
+    <title>Highly Available Storage (HAST)</title>
+
+    <indexterm>
+      <primary>HAST</primary>
+
+      <secondary>hoge beschikbaarheid</secondary>
+    </indexterm>
+
+    <sect2>
+      <title>Overzicht</title>
+
+      <para>Hoge beschikbaarheid is een van de hoofdzaken in serieuze zakelijke
+	toepassingen en hoog beschikbare opslag is een sleutelonderdeel in zulke
+	omgevingen.  Hoog beschikbare opslag, of <acronym>HAST<remark
+	  role="acronym">Highly Available STorage</remark></acronym>, werd
+	ontwikkeld door &a.pjd; als een raamwerk dat transparante opslag van
+	dezelfde gegevens toestaat over fysiek gescheiden machines die verbonden
+	zijn door een TCP/IP-netwerk.  <acronym>HAST</acronym> kan gezien worden
+	als een netwerkgebaseerde RAID1 (spiegel) en is vergelijkbaar met het
+	DRBD&reg; opslagsysteem bekend van het GNU/&linux; platform.  In
+	combinatie met andere eigenschappen voor hoge beschikbaarheid van &os;
+	zoals <acronym>CARP</acronym> maakt <acronym>HAST</acronym> het mogelijk
+	om een opslagcluster met hoge beschikbaarheid te bouwen dat resistent is
+	tegen falende hardware.</para>
+
+      <para>Na het lezen van deze sectie weet u:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Wat <acronym>HAST</acronym> is, hoe het werkt en welke
+	    mogelijkheden het biedt.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Hoe <acronym>HAST</acronym> op &os; te op te zetten en te
+	    gebruiken.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Hoe <acronym>CARP</acronym> en &man.devd.8; te integreren om een
+	    robuust opslagsysteem te bouwen.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Voor het lezen van deze sectie dient u:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>De beginselen van &unix; en &os; te begrijpen (<xref
+	    linkend="basics">).</para>
+	</listitem>
+
+	<listitem>
+	  <para>Te weten hoe de netwerkinterfaces en andere kerndeelsystemen van
+	    &os; in te stellen (<xref linkend="config-tuning">).</para>
+	</listitem>
+
+	<listitem>
+	  <para>Netwerken op &os; goed te begrijpen (<xref
+	    linkend="network-communication">).</para>
+	</listitem>
+
+	<listitem>
+	  <para>&os;&nbsp;8.1-RELEASE of nieuwer te gebruiken.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Het <acronym>HAST</acronym>-project werd gesponsord door The &os;
+	Foundation met ondersteuning van <ulink url="http://www.omc.net/">
+	  OMCnet Internet Service GmbH</ulink> en <ulink
+	  url="http://www.transip.nl/">TransIP BV</ulink>.</para>
+    </sect2>
+
+    <sect2>
+      <title>Eigenschappen van HAST</title>
+
+      <para>De belangrijkste eigenschappen van <acronym>HAST</acronym> zijn:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Het kan gebruikt worden om I/O-fouten op lokale harde schijven
+	    te maskeren.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Agnostisch qua bestandssysteem, dus het staat toe om elk
+	    bestandssysteem dat door &os; wordt ondersteund te gebruiken.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Effici&euml;nte en snelle hersynchronisatie, alleen de blokken
+	    die zijn veranderd toen een knooppunt uitstond worden
+	    gesynchroniseerd.</para>
+	</listitem>
+
+	<!--
+	<listitem>
+	  <para>Het heeft verschillende synchronisatiemodi die een snelle
+	    failover mogelijk maken.</para>
+	</listitem>
+	-->
+
+	<listitem>
+	  <para>Het kan gebruikt worden in reeds uitgerolde omgevingen om
+	    aanvullende redundantie toe te voegen.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Samen met <acronym>CARP</acronym>,
+	    <application>Heartbeat</application> of andere gereedschappen kan
+	    het worden gebruikt om een robuust en duurzaam opslagsysteem te
+	    bouwen.</para>
+	</listitem>
+      </itemizedlist>
+    </sect2>
+
+    <sect2>
+      <title>Werking van HAST</title>
+
+      <para>Omdat <acronym>HAST</acronym> synchrone replicatie op blokniveau
+	van elk opslagmedium naar verscheidene machines biedt, heeft het
+	tenminste twee knooppunten (fysieke machines) nodig &mdash; het
+	<literal>primaire</literal> (ook bekend als <literal>meester</literal>)
+	knooppunt en het <literal>secundaire</literal> (<literal>slaaf</literal>
+	) knooppunt.  Tezamen worden deze twee machines een cluster genoemd.</para>
+
+      <note>
+	<para>HAST is momenteel beperkt tot een totaal van twee
+	  clusterknooppunten.</para>
+      </note>
+
+      <para>Aangezien <acronym>HAST</acronym> in een primaire-secundaire
+	configuratie werkt, kan er op elk moment slechts &eacute;&eacute;n van
+	de clusterknooppunten actief zijn.  Het <literal>primaire</literal>
+	knooppunt, ookwel <literal>actief</literal>, is degene die alle
+	I/O-verzoeken aan apparaten die door <acronym>HAST</acronym> worden
+	beheerd afhandelt.  Het <literal>secundaire</literal> knooppunt wordt
+	dan automatisch gesynchroniseerd vanuit het <literal>primaire</literal>
+	knooppunt.</para>
+
+      <para>De fysieke componenten van het <acronym>HAST</acronym>-systeem
+	zijn:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>lokale schijf (op primair knooppunt)</para>
+	</listitem>
+
+	<listitem>
+	  <para>schijf op verre machine (secundair knooppunt)</para>
+	</listitem>
+      </itemizedlist>
+
+      <para><acronym>HAST</acronym> werkt synchroon op blokniveau, wat het
+	transparant maakt voor bestandssystemen en toepassingen.
+	<acronym>HAST</acronym> biedt reguliere GEOM-aanbieders aan in <filename
+	  class="directory">/dev/hast/</filename> voor zowel andere
+	gereedschappen als toepassingen, er is dus geen verschil tussen het
+	gebruik van apparaten die door <acronym>HAST</acronym> worden geleverd
+	en rauwe schijven, partities, etc.</para>
+
+      <para>Elke bewerking met betrekking tot schrijven, verwijderen of spoelen
+	wordt naar de plaatselijke schijf en over TCP/IP naar de verre schijf
+	gestuurd.  Elke leesbewerking wordt gedaan door de plaatselijke schijf,
+	tenzij de plaatselijke schijf niet actueel is of er een I/O-fout
+	optreed.  In zulke gevallen wordt de leesbewerking naar het secundaire
+	knooppunt gestuurd.</para>
+
+      <sect3>
+	<title>Synchronisatie- en replicatiemodi</title>
+
+	<para><acronym>HAST</acronym> probeert om een snel herstel van fouten
+	  te leveren.  Om deze reden is het heel belangrijk om de
+	  synchronisatietijd te verkorten nadat een knooppunt is hersteld van
+	  een uitval.  Om een snelle synchronisatie te leveren, beheert
+	  <acronym>HAST</acronym> op de schijf een bitmap van gebruikte extents
+	  en synchroniseert het die alleen tijdens een reguliere synchronisatie
+	  (met uitzondering van de initi&euml;e synchronisatie).</para>
+
+	<para>Er zijn vele manieren om synchronisatie af te handelen.
+	  <acronym>HAST</acronym> implementeert meerdere replicatiemodi om
+	  verschillende synchronisatiemethodes af te handelen:</para>
+
+	<itemizedlist>
+	  <listitem>
+	    <para><emphasis>memsync</emphasis>: rapporteer een schrijfbewerking
+	      als voltooid wanneer de plaatselijke schrijfbewerking klaar is en
+	      wanneer het verre knooppunt de gegevensaankomst bevestigt, maar
+	      voordat het de gegevens daadwerkelijk heeft opgeslagen.  De
+	      gegevens op het verre knooppunt zullen meteen na het versturen van
+	      de bevestiging worden opgeslagen.  Deze modus is bedoeld om
+	      latency te verminderen en nog steeds een zeer goede
+	      betrouwbaarheid te bieden.  De replicatiemodus
+	      <emphasis>memsync</emphasis> is momenteel niet
+	      ge&iuml;mplementeerd.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para><emphasis>fullsync</emphasis>: rapporteer een schrijfbewerking
+	      als voltooid wanneer zowel de plaatselijke en de verre
+	      schrijfbewerking voltooid zijn.  Dit is de veiligste en traagste
+	      replicatiemodus.  Dit is de standaardmodus.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para><emphasis>async</emphasis>: rapporteer de schrijfbewerking als
+	      voltooid wanneer de plaatselijke schrijfbewerking klaar is.  Dit
+	      is de snelste en gevaarlijkste replicatiemodus.  Het dient
+	      gebruikt te worden wanneer er naar een ver knooppunt wordt
+	      gerepliceerd en de latency te hoog is voor andere modi.  De
+	      replicatiemodus <emphasis>async</emphasis> is momenteel niet
+	      ge&iuml;mplementeerd.</para>
+	</itemizedlist>
+
+	<warning>
+	  <para>Momenteel wordt alleen de replicatiemodus
+	    <emphasis>fullsync</emphasis> ondersteund.</para>
+	</warning>
+      </sect3>
+    </sect2>
+
+    <sect2>
+      <title>HAST-configuratie</title>
+
+      <para><acronym>HAST</acronym> heeft ondersteuning voor
+	<literal>GEOM_GATE</literal> nodig om te kunnen functioneren.  De kernel
+	<literal>GENERIC</literal> bevat standaard <emphasis>geen</emphasis>
+	<literal>GEOM_GATE</literal>, de laadbare module
+	<filename>geom_gate.ko</filename> is echter beschikbaar in de
+	standaardinstallatie van &os;.  Zorg ervoor dat deze module beschikbaar
+	is voor afgeslankte systemen.  Het is ook mogelijk om ondersteuning voor
+	<literal>GEOM_GATE</literal> statisch in de kernel te bouwen, door de
+	volgende regel aan het kernelconfiguratiebestand toe te voegen:</para>
+
+      <programlisting>options	GEOM_GATE</programlisting>
+
+      <para>Het <acronym>HAST</acronym>-raamwerk bestaat vanuit het
+	besturingssysteem gezien uit verschillende delen:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>het daemon &man.hastd.8; dat verantwoordelijk is voor de
+	    gegevenssynchronisatie,</para>
+	</listitem>
+
+	<listitem>
+	  <para>het beheerprogramma &man.hastctl.8; voor de gebruikers,</para>
+	</listitem>
+
+	<listitem>
+	  <para>het configuratiebestand &man.hast.conf.5;.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Het volgende voorbeeld beschrijft hoe twee knooppunten in een
+	<literal>meester</literal>-<literal>slaaf</literal> /
+	<literal>primaire</literal>-<literal>secundaire</literal> opstelling te
+	configureren door <acronym>HAST</acronym> te gebruiken om de gegevens
+	tussen de twee te repliceren.  De knooppunten worden
+	<literal><replaceable>hasta</replaceable></literal> met IP-adres
+	<replaceable>172.16.0.1</replaceable> en
+	<literal><replaceable>hastb</replaceable></literal> met IP-adres
+	<replaceable>172.16.0.2</replaceable> genoemd.  Beide knooppunten hebben
+	een toegewijde harde schijf
+	<devicename>/dev/<replaceable>ad6</replaceable></devicename> van
+	dezelfde grootte om met <acronym>HAST</acronym> te werken.  De
+	<acronym>HAST</acronym>-pool (soms ook een hulpbron genoemd, i.e. de
+	GEOM-aanbieder in <filename class="directory">/dev/hast/</filename>)
+	wordt <filename><replaceable>test</replaceable></filename>
+	genoemd.</para>
+
+      <para>Het bestand <filename>/etc/hast.conf</filename> regelt de
+	configuratie van <acronym>HAST</acronym>.  Dit bestand dient hetzelfde
+	te zijn op beide knooppunten.  Het volgende is de simpelst mogelijke
+	configuratie:</para>
+
+      <programlisting>resource test {
+	on hasta {
+		local /dev/ad6
+		remote 172.16.0.2
+	}
+	on hastb {
+		local /dev/ad6
+		remote 172.16.0.1
+	}
+}</programlisting>
+
+      <para>Raadpleeg voor geavanceerdere configuraties de handleidingpagina
+	&man.hast.conf.5;.</para>
+
+      <tip>
+	<para>Het is ook mogelijk om hostnamen in de regels met
+	  <literal>remote</literal> te gebruiken.  Zorg er in dat geval voor dat
+	  deze hosts vindbaar zijn, bijvoorbeeld doordat ze zijn gedefinieerd in
+	  het bestand <filename>/etc/hosts</filename> of anders in het
+	  plaatselijke <acronym>DNS</acronym>.</para>
+      </tip>
+
+      <para>Nu de configuratie op beide knooppunten aanwezig is, is het mogelijk
+	om de <acronym>HAST</acronym>-pool aan te maken.  Voer de volgende
+	commando's op beide knooppunten uit om de initi&euml;le metagegevens op
+	de plaatselijke schijf te plaatsen en het &man.hastd.8;-daemon te
+	starten:</para>
+
+      <screen>&prompt.root; <userinput>hastctl create test</userinput>
+&prompt.root; <userinput>/etc/rc.d/hastd onestart</userinput>
+</screen>
+
+      <note>
+	<para>Het is <emphasis>niet</emphasis> mogelijk om GEOM-aanbieders met
+	  een bestaand bestandssysteem te gebruiken (i.e. een bestaande opslag
+	  omzetten naar een door <acronym>HAST</acronym> beheerde pool), omdat
+	  deze procedure wat metagegevens op de aanbieder moet opslaan en er
+	  daarvoor niet genoeg beschikbare ruimte is.</para>
+      </note>
+
+      <para>HAST is niet verantwoordelijk voor het kiezen van de rol van een
+	knooppunt (<literal>primair</literal> of <literal>secundair</literal>).
+	De rol van een knooppunt dient door een beheerder of andere software
+	zoals <application>Heartbeat</application> gebruikmakend van
+	&man.hastctl.8; te worden geconfigureerd.  Voer het volgende commando
+	uit op het primaire knooppunt (
+	<literal><replaceable>hasta</replaceable></literal>):</para>
+
+      <screen>&prompt.root; <userinput>hastctl role primary test</userinput></screen>
+
+      <para>Voer het volgende, soortgelijke, commando uit op het secundaire
+	knooppunt (<literal><replaceable>hastb</replaceable></literal>):</para>
+
+      <screen>&prompt.root; <userinput>hastctl role secondary test</userinput></screen>
+
+      <caution>
+	<para>Het kan gebeuren dat beide knooppunten niet met elkaar kunnen
+	  communiceren en beiden geconfigureerd zijn als primaire knooppunten;
+	  het gevolg van deze situatie wordt <literal>split-brain</literal>
+	  genoemd.  Volg de stappen zoals beschreven in <xref
+	    linkend="disks-hast-sb"> om deze situatie op te lossen.</para>
+      </caution>
+
+      <para>Het is mogelijk om met het gereedschap &man.hastctl.8; het resultaat
+	op elk knooppunt te verifi&euml;ren:</para>
+
+      <screen>&prompt.root; <userinput>hastctl status test</userinput></screen>
+
+      <para>Het belangrijke gedeelte van de uitvoer is de regel met
+	<literal>status</literal> dat voor alle knooppunten
+	<literal>complete</literal> dient te bevatten.  Als het
+	<literal>degraded</literal> bevat, is er iets verkeerd gegaan.  Op dat
+	moment is de synchronisatie tussen de knooppunten al begonnen.  De
+	synchronisatie is compleet wanneer het commando
+	<command>hastctl status</command> 0 bytes aan <literal>dirty</literal>
+	extents rapporteert.</para>
+
+      <para>De laatste stap is het aanmaken van een bestandssysteem op de
+	GEOM-aanbieder
+	<devicename>/dev/hast/<replaceable>test</replaceable></devicename> en
+	het aan te koppelen.  Dit moet op het <literal>primaire</literal>
+	knooppunt gebeuren (aangezien
+	<filename>/dev/hast/<replaceable>test</replaceable></filename> alleen
+	op het <literal>primaire</literal> knooppunt verschijnt), en het enkele
+	minuten kan duren afhankelijk van de grootte van de harde schijf:</para>
+
+      <screen>&prompt.root; <userinput>newfs -U /dev/hast/test</userinput>
+&prompt.root; <userinput>mkdir /hast/test</userinput>
+&prompt.root; <userinput>mount /dev/hast/test /hast/test</userinput></screen>
+
+      <para>Wanneer het <acronym>HAST</acronym>-raamwerk correct is
+	geconfigureerd, betreft de laatste stap het ervoor zorgen dat
+	<acronym>HAST</acronym> automatisch tijdens het opstarten wordt gestart.
+	De volgende regel dient aan het bestand
+	<filename>/etc/rc.conf</filename> te worden toegevoegd:</para>
+
+      <programlisting>hastd_enable="YES"</programlisting>
+
+      <sect3>
+	<title>Failover-configuratie</title>
+
+	<para>Het doel van dit voorbeeld is om een robuust opslagsysteem te
+	  bouwen dat resistent is tegen het falen van alle knooppunten.  De
+	  hoofdtaak is het oplossen van een scenario waarin een
+	  <literal>primair</literal> knooppunt van het cluster faalt.  Mocht dit
+	  gebeuren, dan neemt het <literal>secundaire</literal> knooppunt het
+	  feilloos over, controleert en koppelt het het bestandssysteem aan, en
+	  gaat het verder zonder dat er een bit aan gegevens ontbreekt.</para>
+
+	<para>Om deze taak voor elkaar te krijgen, is het nodig om een andere
+	  eigenschap te gebruiken die beschikbaar is op &os; en dat voorziet in
+	  automatische failover van de IP-laag &mdash; <acronym>CARP</acronym>.
+	  <acronym>CARP</acronym> staat voor Common Address Redundancy Protocol
+	  en maakt het mogelijk dat meerdere hosts in hetzelfde netwerksegment
+	  een IP-adres delen.  Stel <acronym>CARP</acronym> in op beide
+	  knooppunten van het cluster volgens de documentatie die beschikbaar is
+	  in <xref linkend="carp">.  Nadat deze taak voltooid is, zou elk
+	  knooppunt een eigen interface <devicename>carp0</devicename> met een
+	  gedeeld IP-adres <replaceable>172.16.0.254</replaceable> moeten
+	  hebben.  Het primaire <acronym>HAST</acronym>-knooppunt van het
+	  cluster moet het meester-<acronym>CARP</acronym>-knooppunt
+	  zijn.</para>
+
+	<para>De <acronym>HAST</acronym>-pool die in de vorige sectie is gemaakt
+	  is nu klaar om ge&euml;xporteerd te worden naar de andere hosts op het
+	  netwerk.  Dit kan gedaan worden door het te exporteren over
+	  <acronym>NFS</acronym>, <application>Samba</application>, etc., door
+	  gebruik te maken van het gedeelde IP-adres
+	  <replaceable>172.16.0.254</replaceable>.  Het enige overgebleven
+	  probleem is een automatische failover in het geval dat het primaire
+	  knooppunt het begeeft.</para>
+
+	<para>Als een <acronym>CARP</acronym>-interface aan- of uitgaat,
+	  genereert &os; een &man.devd.8;-gebeurtenis, wat het mogelijk maakt om
+	  toestandsveranderingen op de <acronym>CARP</acronym>-interfaces in de
+	  gaten te houden.  Een toestandsverandering op het
+	  <acronym>CARP</acronym>-interface geeft aan dat een van de knooppunten
+	  het begaf of weer online kwam.  In zulke gevallen is het mogelijk om
+	  een script te draaien dat automatisch de failover afhandelt.</para>
+
+	<para>Om de toestandsverandering op de
+	  <acronym>CARP</acronym>-interfaces af te vangen, dient de volgende
+	  configuratie te worden toegevoegd aan het bestand
+	  <filename>/etc/devd.conf</filename> op elk knooppunt:</para>
+
+	<programlisting>notify 30 {
+	match "system" "IFNET";
+	match "subsystem" "carp0";
+	match "type" "LINK_UP";
+	action "/usr/local/sbin/carp-hast-switch master";
+};
+
+notify 30 {
+	match "system" "IFNET";
+	match "subsystem" "carp0";
+	match "type" "LINK_DOWN";
+	action "/usr/local/sbin/carp-hast-switch slave";
+};</programlisting>
+
+	<para>Draai het volgende commando op beide knooppunten om de nieuwe
+	  configuratie te laten gelden:</para>
+
+	<screen>&prompt.root; <userinput>/etc/rc.d/devd restart</userinput></screen>
+
+	<para>Als het interface <devicename>carp0</devicename> aan of uit gaat
+	  (i.e. de toestand van het interface verandert), genereert het systeem
+	  een notificatie wat het subsysteem &man.devd.8; in staat stelt om een
+	  willekeurig script te draaien, in dit geval
+	  <filename>/usr/local/sbin/carp-hast-switch</filename>.  Dit is het
+	  script dat de automatische failover afhandelt.  Raadpleeg de
+	  handleidingpagina &man.devd.conf.5; voor verdere uitleg over de
+	  bovenstaande configuratie van &man.devd.8;.</para>
+
+	<para>Het volgende zou een voorbeeld van zo'n script kunnen zijn:</para>
+
+	<programlisting>#!/bin/sh
+# Origineel script door Freddie Cash &lt;fjwcash@gmail.com&gt;
+# Gewijzigd door Michael W. Lucas &lt;mwlucas@BlackHelicopters.org&gt;
+# en Viktor Petersson &lt;vpetersson@wireload.net&gt;
+
+# De namen van de HAST-hulpbronnen, zoals vermeld in /etc/hast.conf
+resources="test"
+
+# vertraging voor het aankoppelen van de HAST-hulpbron na het worden van meester
+# doe een gok
+delay=3
+
+# logging
+log="local0.debug"
+name="carp-hast"
+
+# einde van gebruiker-instelbare dingen
+
+case "$1" in
+	master)
+		logger -p $log -t $name "Omschakelen naar primaire aanbieder voor ${resources}."
+		sleep ${delay}
+
+		# Wacht totdat de "hastd secondary" processen zijn gestopt
+		for disk in ${resources}; do
+			while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do
+				sleep 1
+			done
+
+			# Verwissel de rol voor elke schijf
+			hastctl role primary ${disk}
+			if [ $? -ne 0 ]; then
+				logger -p $log -t $name "Omschakelen van rol naar primair voor hulpbron ${disk} mislukt."
+				exit 1
+			fi
+		done
+
+		# Wacht totdat de apparaten /dev/hast/* verschijnen
+		for disk in ${resources}; do
+			for I in $( jot 60 ); do
+				[ -c "/dev/hast/${disk}" ] && break
+				sleep 0.5
+			done
+
+			if [ ! -c "/dev/hast/${disk}" ]; then
+				logger -p $log -t $name "GEOM-aanbieder /dev/hast/${disk} is niet verschenen."
+				exit 1
+			fi
+		done
+
+		logger -p $log -t $name "Rollen van HAST-hulpbronnen ${resources} omgeschakeld naar primair."
+
+
+		logger -p $log -t $name "Schijven aankoppelen."
+		for disk in ${resources}; do
+			mkdir -p /hast/${disk}
+			fsck -p -y -t ufs /dev/hast/${disk}
+			mount /dev/hast/${disk} /hast/${disk}
+		done
+
+	;;
+
+	slave)
+		logger -p $log -t $name "Omschakelen naar secundaire aanbieder voor ${resources}."
+
+		# Schakel de rollen van de HAST-hulpbronnen om
+		for disk in ${resources}; do
+			if ! mount | grep -q "^/dev/hast/${disk} on "
+			then
+			else
+				umount -f /hast/${disk}
+			fi
+			sleep $delay
+			hastctl role secondary ${disk} 2>&1
+			if [ $? -ne 0 ]; then
+				logger -p $log -t $name "Omschakelen van rol naar secundair voor hulpbron ${disk} mislukt."
+				exit 1
+			fi
+			logger -p $log -t $name "Rol van hulpbron ${disk} omgeschakeld naar secundair."
+		done
+	;;
+esac</programlisting>
+
+	<para>In een notendop doet het script het volgende wanneer een knooppunt
+	  <literal>meester</literal> / <literal>primair</literal> wordt:</para>
+
+	<itemizedlist>
+	  <listitem>
+	    <para>De <acronym>HAST</acronym>-pools opwaarderen naar primair op
+	      een gegeven knooppunt.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para>Het bestandssysteem onder de <acronym>HAST</acronym>-pool
+	      controleren.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para>De pools op de juiste plaats aankoppelen.</para>
+	  </listitem>
+	</itemizedlist>
+
+	<para>Wanneer een knooppunt <literal>backup</literal> /
+	  <literal>secundair</literal> wordt:</para>
+
+	<itemizedlist>
+	  <listitem>
+	    <para>De <acronym>HAST</acronym>-pools afkoppelen.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para>De <acronym>HAST</acronym>-pools degraderen naar
+	      secundair.</para>
+	  </listitem>
+	</itemizedlist>
+
+	<caution>
+	  <para>Houd in gedachte dat dit slechts een voorbeeldscript is dat
+	    dienst doet om aan te tonen dat alles werkt.  Het behandeld niet
+	    alle mogelijke situaties en kan op elke manier worden uitgebreid of
+	    veranderd, het kan bijvoorbeeld benodigde diensten starten en
+	    stoppen.</para>
+	</caution>
+
+	<tip>
+	  <para>Voor het doel van dit voorbeeld hebben we een standaard
+	    UFS-bestandssysteem gebruikt.  Om de tijd die nodig is voor herstel
+	    te verkorten, kan een bestandssysteem met UFS-journalling of ZFS
+	    worden gebruikt.</para>
+	</tip>
+
+	<para>Meer gedetailleerde informatie met aanvullende voorbeelden kunnen
+	  gevonden worden op de <ulink
+	    url="http://wiki.FreeBSD.org/HAST">HAST Wiki</ulink>-pagina.</para>
+      </sect3>
+    </sect2>
+
+    <sect2>
+      <title>Problemen oplossen</title>
+
+      <sect3>
+	<title>Algemene tips om problemen op te lossen</title>
+
+	<para><acronym>HAST</acronym> zou over het algemeen zonder problemen
+	  moeten werken, maar net als met elk ander software-product zijn er
+	  momenten waarop het anders werkt dan het zou moeten.  De oorzaken van
+	  de problemen kunnen verschillen, maar de vuistregel is om ervoor te
+	  zorgen dat de klokken zijn gesynchroniseerd op alle knooppunten in het
+	  cluster.</para>
+
+	<para>Het debug-niveau van &man.hastd.8; dient verhoogd te worden
+	  wanneer problemen met <acronym>HAST</acronym> worden verholpen.  Dit
+	  kan gedaan worden door het daemon &man.hastd.8; met het argument
+	  <literal>-d</literal> op te starten.  Merk op dat dit argument
+	  meerdere malen kan worden opgegeven om het debug-niveau nog verder op
+	  te hogen.  Op deze manier kan veel nuttige informatie worden vergaard.
+	  Het is ook de moeite te overwegen om het argument
+	  <literal>-F</literal> te gebruiken, dat het daemon &man.hastd.8; in de
+	  voorgrond zal starten.</para>
+      </sect3>
+
+      <sect3 id="disks-hast-sb">
+	<title>Herstellen van de Split-brain-conditie</title>
+
+	<para>Het gevolg van de situatie waarin beide knooppunten van het
+	  cluster niet met elkaar kunnen communiceren en beide als primaire
+	  knooppunten zijn ingesteld wordt <literal>split-brain</literal>
+	  genoemd.  Dit is een gevaarlijke situatie omdat het beide knooppunten
+	  in staat stelt om incompatibele veranderingen aan de gegevens te
+	  maken.  Deze situatie dient handmatig door de systeembeheerder te
+	  worden afgehandeld.</para>
+
+	<para>Om deze situatie op te lossen moet de beheerder besluiten welk
+	  knooppunt de belangrijkere veranderingen bevat (of ze handmatig
+	  samenvoegen) en <acronym>HAST</acronym> de volledige synchronisatie
+	  op het knooppunt dat de kapotte gegevens heeft laten uitvoeren.  Voer
+	  hiervoor de volgende commando's uit op het knooppunt dat opnieuw
+	  gesynchroniseerd moet worden:</para>
+
+	<screen>&prompt.root; <userinput>hastctl role init &lt;resource&gt;</userinput>
+&prompt.root; <userinput>hastctl create &lt;resource&gt;</userinput>
+&prompt.root; <userinput>hastctl role secondary &lt;resource&gt;</userinput></screen>
+      </sect3>
+    </sect2>
+  </sect1>
 </chapter>
 
 <!--