MFen 1.309 -> 1.310
Obtained from: the FreeBSD Dutch Documentation Project
This commit is contained in:
parent
67376da0d1
commit
95ac391eeb
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=38108
1 changed files with 92 additions and 96 deletions
|
@ -1,10 +1,10 @@
|
|||
<!--
|
||||
The FreeBSD Dutch Documentation Project
|
||||
|
||||
$FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml,v 1.20 2011/01/29 22:37:20 remko Exp $
|
||||
$FreeBSD$
|
||||
|
||||
%SOURCE% en_US.ISO8859-1/books/handbook/disks/chapter.sgml
|
||||
%SRCID% 1.309
|
||||
%SRCID% 1.310
|
||||
-->
|
||||
|
||||
<chapter id="disks">
|
||||
|
@ -4621,8 +4621,8 @@ Device 1K-blocks Used Avail Capacity
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Agnostisch qua bestandssysteem, dus het staat toe om elk
|
||||
bestandssysteem dat door &os; wordt ondersteund te gebruiken.</para>
|
||||
<para>Agnostisch qua bestandssysteem, dus het werkt met elk
|
||||
bestandssysteem dat door &os; wordt ondersteund.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -4767,8 +4767,8 @@ Device 1K-blocks Used Avail Capacity
|
|||
<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>
|
||||
<literal>GEOM_GATE</literal> statisch in de kernel te bouwen, door deze
|
||||
regel aan het kernelconfiguratiebestand toe te voegen:</para>
|
||||
|
||||
<programlisting>options GEOM_GATE</programlisting>
|
||||
|
||||
|
@ -4809,8 +4809,8 @@ Device 1K-blocks Used Avail Capacity
|
|||
|
||||
<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>
|
||||
te zijn op beide knooppunten. Het volgende is de eenvoudigste
|
||||
configuratie die mogelijk is:</para>
|
||||
|
||||
<programlisting>resource test {
|
||||
on hasta {
|
||||
|
@ -4834,10 +4834,10 @@ Device 1K-blocks Used Avail Capacity
|
|||
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ële metagegevens op
|
||||
de plaatselijke schijf te plaatsen en het &man.hastd.8;-daemon te
|
||||
<para>Nu de configuratie op beide knooppunten aanwezig is, kan de
|
||||
<acronym>HAST</acronym>-pool aangemaakt worden . Voer deze commando's
|
||||
op beide knooppunten uit om de initië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>
|
||||
|
@ -4852,51 +4852,49 @@ Device 1K-blocks Used Avail Capacity
|
|||
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 (
|
||||
<para>De rol van een HAST-knooppunt (<literal>primair</literal> of
|
||||
<literal>secundair</literal>) wordt uitgekozen door een beheerder of
|
||||
software zoals <application>Heartbeat</application> dat het gereedschap
|
||||
&man.hastctl.8; gebruikt. 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>
|
||||
<para>Voer dit 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>
|
||||
<para>De situatie dat de knooppunten niet met elkaar kunnen
|
||||
communiceren en beide geconfigureerd zijn als primaire knooppunten;
|
||||
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ëren:</para>
|
||||
<para>Verifieer met het gereedschap &man.hastctl.8; het resultaat
|
||||
op elk knooppunt:</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 belangrijke tekst 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 <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
|
||||
<para>De volgende 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
|
||||
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>
|
||||
op het <literal>primaire</literal> knooppunt verschijnt. Het aanmaken
|
||||
van het bestandssysteem kan afhankelijk van de grootte van de harde
|
||||
schijf enkele minuten duren:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>newfs -U /dev/hast/test</userinput>
|
||||
&prompt.root; <userinput>mkdir /hast/test</userinput>
|
||||
|
@ -4905,8 +4903,8 @@ Device 1K-blocks Used Avail Capacity
|
|||
<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>
|
||||
Voeg deze regel toe aan het bestand
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>hastd_enable="YES"</programlisting>
|
||||
|
||||
|
@ -4914,24 +4912,24 @@ Device 1K-blocks Used Avail Capacity
|
|||
<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>
|
||||
bouwen dat resistent is tegen het falen van alle knooppunten. Het
|
||||
scenario is dat een <literal>primair</literal> knooppunt van het
|
||||
cluster faalt. Als dit gebeurt, 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 — <acronym>CARP</acronym>.
|
||||
<acronym>CARP</acronym> staat voor Common Address Redundancy Protocol
|
||||
en maakt het mogelijk dat meerdere hosts in hetzelfde netwerksegment
|
||||
<para>Om dit voor elkaar te krijgen, is er een andere eigenschap die
|
||||
beschikbaar is op &os; dat voorziet in automatische failover van de
|
||||
IP-laag — <acronym>CARP</acronym>.
|
||||
<acronym>CARP</acronym> (Common Address Redundancy Protocol)
|
||||
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
|
||||
in <xref linkend="carp">. Nadat de opzet voltooid is, heeft 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
|
||||
gedeeld IP-adres <replaceable>172.16.0.254</replaceable>. Het
|
||||
primaire <acronym>HAST</acronym>-knooppunt van het
|
||||
cluster moet het meester-<acronym>CARP</acronym>-knooppunt
|
||||
zijn.</para>
|
||||
|
||||
|
@ -4949,12 +4947,13 @@ Device 1K-blocks Used Avail Capacity
|
|||
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>
|
||||
het begaf of weer online kwam. Deze toestandsveranderingen maken het
|
||||
mogelijk om een script te draaien dat automatisch de HAST-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
|
||||
<para>Voeg, om toestandsverandering op de
|
||||
<acronym>CARP</acronym>-interfaces af te vangen, het volgende
|
||||
toe aan het bestand
|
||||
<filename>/etc/devd.conf</filename> op elk knooppunt:</para>
|
||||
|
||||
<programlisting>notify 30 {
|
||||
|
@ -4971,7 +4970,7 @@ notify 30 {
|
|||
action "/usr/local/sbin/carp-hast-switch slave";
|
||||
};</programlisting>
|
||||
|
||||
<para>Draai het volgende commando op beide knooppunten om de nieuwe
|
||||
<para>Herstart &man.devd.8; op beide knooppunten om de nieuwe
|
||||
configuratie te laten gelden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/etc/rc.d/devd restart</userinput></screen>
|
||||
|
@ -4985,7 +4984,7 @@ notify 30 {
|
|||
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>
|
||||
<para>Dit zou een voorbeeld van zo'n script kunnen zijn:</para>
|
||||
|
||||
<programlisting>#!/bin/sh
|
||||
# Origineel script door Freddie Cash <fjwcash@gmail.com>
|
||||
|
@ -5070,7 +5069,7 @@ case "$1" in
|
|||
;;
|
||||
esac</programlisting>
|
||||
|
||||
<para>In een notendop doet het script het volgende wanneer een knooppunt
|
||||
<para>In een notendop neemt het script deze acties wanneer een knooppunt
|
||||
<literal>meester</literal> / <literal>primair</literal> wordt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
@ -5085,7 +5084,7 @@ esac</programlisting>
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>De pools op de juiste plaats aankoppelen.</para>
|
||||
<para>De pools op een juiste plaats aankoppelen.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
@ -5104,18 +5103,17 @@ esac</programlisting>
|
|||
</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>
|
||||
<para>Houd in gedachte dat dit slechts een voorbeeldscript is 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>
|
||||
<para>Voor 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
|
||||
|
@ -5131,40 +5129,38 @@ esac</programlisting>
|
|||
<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
|
||||
moeten werken. 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>
|
||||
<para>Wanneer problemen met <acronym>HAST</acronym> worden verholpen,
|
||||
dient het debug-niveau van &man.hastd.8; verhoogd te 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. Overweeg ook 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><literal>Split-brain</literal> treedt op waneer de knooppunten van
|
||||
het cluster niet met elkaar kunnen communiceren, en beide als primair
|
||||
zijn geconfigureerd. Dit is een gevaarlijke situatie omdat het beide
|
||||
knooppunten in staat stelt om incompatibele veranderingen aan de
|
||||
gegevens te maken. Dit probleem dient handmatig door de
|
||||
systeembeheerder te worden gecorrigeerd.</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>
|
||||
<para>De beheerder moet besluiten welk knooppunt de belangrijkere
|
||||
veranderingen bevat (of ze handmatig samenvoegen) en
|
||||
<acronym>HAST</acronym> een volledige synchronisatie op het knooppunt
|
||||
dat de kapotte gegevens heeft laten uitvoeren. Voer hiervoor deze
|
||||
commando's uit op het knooppunt dat opnieuw gesynchroniseerd moet
|
||||
worden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>hastctl role init <resource></userinput>
|
||||
&prompt.root; <userinput>hastctl create <resource></userinput>
|
||||
|
|
Loading…
Reference in a new issue