MFde: Update the German documentation set.

doc/de_DE.ISO8859-1/books/faq/book.sgml                 1.1056 -> 1.1059  [X]
doc/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml    new translation   [Y]
doc/de_DE.ISO8859-1/books/handbook/mac/chapter.sgml     fixes only

Obtained from:  The FreeBSD German Documentation Project

[X]     Contributed by: Benedict Reuschling (benedict att reuschling dott org)
[Y]     Translated by:  Daniel Seuffert (DS att praxisvermittlung24 dott de) and jkois@
This commit is contained in:
Johann Kois 2009-05-12 12:09:01 +00:00
parent a00fb463cf
commit ca7e79c77f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34263
3 changed files with 954 additions and 67 deletions
de_DE.ISO8859-1/books

View file

@ -3,9 +3,9 @@
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.688 2009/05/11 18:23:53 bcr Exp $
$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.691 2009/05/11 18:58:13 bcr Exp $
basiert auf: 1.1056
basiert auf: 1.1059
-->
@ -33,7 +33,7 @@ $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.688 2009/05/11 18:23:53 bcr Exp $
</collab>
</authorgroup>
<pubdate>$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.688 2009/05/11 18:23:53 bcr Exp $</pubdate>
<pubdate>$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.691 2009/05/11 18:58:13 bcr Exp $</pubdate>
<copyright>
<year>1995</year>
@ -12123,40 +12123,41 @@ hint.sio.7.irq="12"</programlisting>
wird bei dieser Antwort gesetzt sein. Die
Erkennungsroutine ist dann in der Lage, daf&uuml;r zu
sorgen, dass Karten mit Modellnummern (zugeordnet von
Microsoft/Intel) kleiner als X <quote>off-line</quote>
gesetzt werden. Sie pr&uuml;ft dann, ob immer noch Karten
da sind, die auf die Frage antworten. Falls die Antwort
<literal>0</literal> war, sind keine Karten mit IDs
gr&ouml;&szlig;er X vorhanden. Nun pr&uuml;ft die
Erkennungsroutine, ob Karten unterhalb
<literal>X</literal> vorhanden sind. Dann setzt die
&microsoft;/&intel;) kleiner als <literal>X</literal>
<quote>off-line</quote> gesetzt werden. Sie pr&uuml;ft dann, ob
immer noch Karten da sind, die auf die Frage antworten. Falls die
Antwort <literal>0</literal> war, sind keine Karten mit IDs
gr&ouml;&szlig;er <literal>X</literal> vorhanden. Die
Erkennungsroutine wird daraufhin anfragen, ob Karten unterhalb
<literal>X</literal> vorhanden sind. Schlie&szlig;lich setzt die
Erkennungsroutine alle Karten gr&ouml;&szlig;er als
X-(limit/4) off-line und wiederholt die Frage. Wenn diese
<literal>X&nbsp;-&nbsp;(limit&nbsp;/&nbsp;4)</literal> off-line
und wiederholt die Frage. Wenn diese
halbbin&auml;re Suche nach IDs in Folge gen&uuml;gend oft
wiederholt worden ist, wird die Erkennungsroutine
schlie&szlig;lich alle in einem Rechner befindlichen
PnP-Karten identifiziert haben und das mit einer
Iterationszahl sehr viel kleiner als 2^64.</para>
Iterationszahl sehr viel kleiner als
2<superscript>64</superscript>.</para>
<para>Die IDs bestehen aus zwei 32-Bit-Feldern (daher 2^64)
+ acht Bit Pr&uuml;fsumme. Die ersten 32 Bit sind die
Herstellerkennung. Es wurde zwar nicht best&auml;tigt,
aber es wird angenommen, dass unterschiedliche
<para>Die IDs bestehen aus zwei 32-Bit-Feldern (daher
2<superscript>64</superscript>) + acht Bit Pr&uuml;fsumme. Die
ersten 32&nbsp;Bit sind die Herstellerkennung. Es wurde zwar nicht
best&auml;tigt, aber es wird angenommen, dass unterschiedliche
Kartentypen desselben Herstellers unterschiedliche 32-Bit
Herstellerkennungen besitzen k&ouml;nnen. 32 Bit nur
Herstellerkennungen besitzen k&ouml;nnen. 32&nbsp;Bit nur
f&uuml;r eindeutige Hersteller zu ben&ouml;tigen, scheint
etwas &uuml;bertrieben.</para>
<para>Die niedrigen 32 Bit sind eine Seriennummer,
Ethernetadresse - etwas, das die betreffende Karte
einzigartig macht. Die Hersteller d&uuml;rfen niemals
eine zweite Karte mit denselben niedrigen 32 Bit
herstellen, es sei denn, die h&ouml;heren 32 Bit sind
unterschiedlich. Sie k&ouml;nnen also mehrere Karten des
selben Typs im Rechner haben und die gesamten 64 Bit
bleiben stets eindeutig.</para>
<para>Die niedrigen 32&nbsp;Bit sind eine Seriennummer oder etwas
anderes, das die betreffende Karte einzigartig macht. Die
Hersteller d&uuml;rfen niemals eine zweite Karte mit denselben
niedrigen 32&nbsp;Bit herstellen, es sei denn, die h&ouml;heren
32&nbsp;Bit sind unterschiedlich. Sie k&ouml;nnen also mehrere
Karten des selben Typs im Rechner haben und die gesamten
64&nbsp;Bit bleiben stets eindeutig.</para>
<para>Die 32-Bit-Gruppen k&ouml;nnen niemals nur aus Nullen
<para>Die 32&nbsp;Bit-Gruppen k&ouml;nnen niemals nur aus Nullen
bestehen. Das erlaubt es, bei der bin&auml;ren Suche zu
Beginn nur auf von Null verschiedene Bits zu
achten.</para>
@ -12192,13 +12193,13 @@ hint.sio.7.irq="12"</programlisting>
<para>Im obigen Teil wurde sehr viel vereinfacht, aber die
grundlegende Idee sollte klar geworden sein.</para>
<para>Microsoft hat einige der prim&auml;ren
<para>&microsoft; hat einige der prim&auml;ren
Druckerstatusports f&uuml;r PnP &uuml;bernommen, da keine
Karte diese Adressen f&uuml;r die entgegengesetzten
I/O-Zyklen decodiert. Ich habe w&auml;hrend der
fr&uuml;hen &Uuml;berpr&uuml;fungsperiode des
PnP-Vorschlags eine echte IBM Druckerkarte gefunden, die
Schreibzugriffe auf dem Statusport decodiert hat, aber MS
Schreibzugriffe auf dem Statusport decodiert hat, aber &microsoft;
hat nur <quote>tough</quote> gesagt. Also schreiben sie
auf den Druckerstatusport, um Adressen zu setzen, benutzen
zus&auml;tzlich diese Adresse + <literal>0x800</literal>
@ -12215,31 +12216,10 @@ hint.sio.7.irq="12"</programlisting>
</question>
<answer>
<para>&os.current; stellt seit Februar&nbsp;2003
Major-Numbers f&uuml;r Ger&auml;te zur Laufzeit automatisch
bereit. Nach M&ouml;glichkeit sollte diese neue
Funktion benutzt werden, anstatt eine Major-Number
statisch festzulegen. Weitere Hinweise finden Sie in
<filename>src/sys/conf/majors</filename>.</para>
<para>Wenn Sie eine statisch festgelegte Major-Number
ben&ouml;tigen, h&auml;ngt das weitere Verfahren davon ab,
ob Sie den Treiber frei verf&uuml;gbar machen wollen.
Falls dem so ist, senden Sie uns bitte eine Kopie der
Treiber-Sourcen und zus&auml;tzlich die entsprechenden
&Auml;nderungen der Datei <filename>files.i386</filename>,
ein Beispiel f&uuml;r einen Eintrag in der
Konfigurationsdatei und den entsprechenden Code f&uuml;r
&man.MAKEDEV.8;, der die Ger&auml;tedateien f&uuml;r Ihr
Ger&auml;t erzeugt. Falls Sie nicht beabsichtigen,
den Treiber frei verf&uuml;gbar zu machen, oder es
aufgrund von Lizenzbeschr&auml;nkungen nicht k&ouml;nnen,
dann ist die Major-Number 32 f&uuml;r zeichenorientierte
und die Major-Number 8 f&uuml;r blockorientierte
Ger&auml;te speziell f&uuml;r diesen Zweck reserviert. In
jedem Fall w&uuml;rden wir uns freuen, auf der Mailingliste
&a.hackers; etwas &uuml;ber Ihren neuen Treiber zu
h&ouml;ren.</para>
<para>&os; Versionen stellen seit Februar&nbsp;2003
Major-Numbers f&uuml;r Ger&auml;te automatisch zur Laufzeit
bereit (lesen Sie &man.devfs.5;), damit ist das nicht mehr
n&ouml;tig.</para>
</answer>
</qandaentry>
@ -12265,7 +12245,8 @@ hint.sio.7.irq="12"</programlisting>
erzeugen denkbar ung&uuml;nstigste Voraussetzungen
f&uuml;r zuk&uuml;nftige Tiefensuchen. Falls man die
Gesamtzahl der zu erstellenden Verzeichnisse w&uuml;sste,
w&auml;re die L&ouml;sung die, (gesamt / fs_ncg) pro
w&auml;re die L&ouml;sung die,
<literal>(gesamt&nbsp;/&nbsp;fs_ncg)</literal> pro
Zylindergruppe zu erstellen, bevor fortgefahren wird.
Offensichtlich m&uuml;sste man eine Heuristik
erstellen, um die Zahl zu sch&auml;tzen. Sogar die
@ -12279,7 +12260,7 @@ hint.sio.7.irq="12"</programlisting>
Jedenfalls ist mein Schluss, dass dies ein
fruchtbares Gebiet f&uuml;r Experimente ist.</para>
<para>Kirk McKusick, September 1998</para>
<para>&a.mckusick;, September 1998</para>
</answer>
</qandaentry>

View file

@ -3,21 +3,927 @@
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/geom/chapter.sgml,v 1.1 2005/08/15 19:21:38 jkois Exp $
basiert auf:
$FreeBSDde: de-docproj/books/handbook/geom/chapter.sgml,v 1.15 2009/05/12 08:18:51 jkois Exp $
basiert auf: 1.48
-->
<chapter id="geom">
<chapter id="GEOM">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Geschrieben von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Daniel</firstname>
<surname>Seuffert</surname>
<contrib>&Uuml;bersetzt von </contrib>
</author>
<author>
<firstname>Johann</firstname>
<surname>Kois</surname>
</author>
</authorgroup>
</chapterinfo>
<title>GEOM - Modular Disk Transformation Framework
(noch nicht &uuml;bersetzt)</title>
<title>GEOM: Modulares Framework zur
Plattentransformation</title>
<para>Dieses Kapitel ist noch nicht &uuml;bersetzt.
Lesen Sie bitte <ulink
url="&url.books.handbook.en;/geom.html">
das Original in englischer Sprache</ulink>. Wenn Sie helfen
wollen, dieses Kapitel zu &uuml;bersetzen, senden Sie bitte
eine E-Mail an die Mailingliste &a.de.translators;.</para>
<sect1 id="GEOM-synopsis">
<title>&Uuml;bersicht</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>GEOM Disk Framework</primary>
<see>GEOM</see>
</indexterm>
<para>Dieses Kapitel behandelt den Einsatz von Laufwerken mit
dem GEOM-Framework in &os;. Dies beinhaltet auch die wichtigen
<acronym role="Redundant Array of Inexpensive
Disks">RAID</acronym>-&Uuml;berwachungswerkzeuge, welche das
Framework zur Konfiguration nutzen. Dieses Kapitel enth&auml;lt
keine tiefsch&uuml;rfenden Betrachtungen, wie GEOM I/O nutzt
oder steuert, sein zugrundeliegendes Subsystem oder den
Quelltext von GEOM. Diese Information wird durch die
&man.geom.4;-Manualpage und seine zahlreichen <quote>SEE ALSO</quote>-Verweise
bereitgestellt. Dieses Kapitel ist auch kein ausf&uuml;hrlicher
F&uuml;hrer f&uuml;r
<acronym>RAID</acronym>-Konfigurationen. Nur durch GEOM
unterst&uuml;tzte <acronym>RAID</acronym>-Klassen werden
er&ouml;rtert.</para>
<para>Nach Lesen dieses Kapitels werden Sie folgendes
wissen:</para>
<itemizedlist>
<listitem>
<para>Welche Art von
<acronym>RAID</acronym>-Unterst&uuml;tzung durch GEOM
verf&uuml;gbar ist.</para>
</listitem>
<listitem>
<para>Wie man die Basis-Dienstprogramme nutzt, um
verschiedene <acronym>RAID</acronym>-Stufen zu
konfigurieren, zu manipulieren und zu warten.</para>
</listitem>
<listitem>
<para>Wie man mittels GEOM spiegelt, striped,
verschl&uuml;sselt und entfernte Laufwerke verbindet.</para>
</listitem>
<listitem>
<para>Wie man an Laufwerken, welche an das GEOM-Framework
angeschlossen sind, Fehler behebt.</para>
</listitem>
</itemizedlist>
<para>Bevor Sie dieses Kapitel lesen, sollten Sie:</para>
<itemizedlist>
<listitem>
<para>Verstehen, wie &os; Laufwerke behandelt
(<xref linkend="disks">).</para>
</listitem>
<listitem>
<para>Wissen wie man einen neuen &os;-Kernel installiert
und konfiguriert (<xref linkend="kernelconfig">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<title>Einf&uuml;hrung in GEOM</title>
<para>GEOM erlaubt den Zugriff und die Kontrolle von Klassen
&mdash; Master Boot Records, <acronym>BSD</acronym>-Label usw.
&mdash; durch die Nutzung von Datentr&auml;gern (Providern) oder
den besonderen Dateien in <filename
role="directory">/dev</filename>. Verschiedene Software
<acronym>RAID</acronym>-Konfigurationen unterst&uuml;tzend, wird
GEOM Ihnen transparenten Zugriff auf das Betriebssystem und
System-Dienstprogramme gew&auml;hren.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Geschrieben von </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - Striping</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Striping</primary>
</indexterm>
<para>Striping (stripe = Streifen) ist eine Methode, um
verschiedene Laufwerke in einem einzigen Datentr&auml;ger
zusammenzufassen. In vielen F&auml;llen wird dies durch die
Nutzung von Hardware-Controllern bewerkstelligt. Das
GEOM-Subsystem unterst&uuml;tzt
Software-<acronym>RAID</acronym>0 (welches auch als Striping
bekannt ist).</para>
<para>In einem <acronym>RAID</acronym>0-System werden die Daten
in einzelne Bl&ouml;cke aufgeteilt, welche &uuml;ber alle
angeschlossenen Laufwerke in einem Datenfeld (Array) geschrieben
werden. Anstatt darauf warten zu m&uuml;ssen, dass 256K auf
ein einzelnes Laufwerk geschrieben werden, kann ein
<acronym>RAID</acronym>0-System gleichzeitig 64K auf jedes von 4
Laufwerken schreiben mit entsprechend besserer I/O-Leistung.
Dieser Durchsatz kann durch die Verwendung mehrerer
Controller noch zus&auml;tzlich gesteigert werden.</para>
<para>Jedes Laufwerk in einem <acronym>RAID</acronym>0-Stripe
muss die gleiche Gr&ouml;&szlig;e haben, da
I/O-Anforderungen f&uuml;r das Lesen und Schreiben
abwechselnd auf mehrere Laufwerke parallel erfolgen.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Erzeugen eines Stripe von unformatierten
ATA-Platten</title>
<step>
<para>Laden Sie das
<filename>geom_stripe.ko</filename>-Modul:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step>
<para>Stellen Sie sicher, dass ein geeigneter Mount-Punkt
existiert. Falls dieser Datentr&auml;ger eine Root-Partition
werden soll, dann nutzen Sie zeitweise einen anderen
Mount-Punkt, beispielsweise <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step>
<para>Bestimmen Sie die Ger&auml;tenamen derjenigen Platten,
welche gestriped werden sollen, und erzeugen Sie ein neues
Stripe-Ger&auml;t. Das folgende Beispiel verwendet zwei
unbenutzte und unpartitionierte
<acronym>ATA</acronym>-Platten, die gestriped werden sollen.
Lauten die Ger&auml;tenamen <filename>/dev/ad2</filename>
und <filename>/dev/ad3</filename>, so verwenden Sie folgenden
Befehl:</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput>
Metadata value stored on /dev/ad2.
Metadata value stored on /dev/ad3.
Done.</screen>
</step>
<step>
<para>Schreiben Sie einen Standard-Label (auch als
Partitions-Tabelle bekannt) auf den neuen Datentr&auml;ger
und installieren Sie den normalen Bootstrap-Code:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step>
<para>Dieser Prozess sollte zwei weitere Ger&auml;te im
Verzeichnis <filename
class="directory">/dev/stripe</filename> (zus&auml;tzlich zum
Ger&auml;t <devicename>st0</devicename>) erzeugt haben. Diese
schliessen <devicename>st0a</devicename> und
<devicename>st0c</devicename> ein. Nun kann ein Dateisystem
auf dem Ger&auml;t <devicename>st0a</devicename> mit dem
<command>newfs</command>-Dienstprogramm erzeugt
werden:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Viele Zahlen rauschen nun &uuml;ber Ihren Bildschirm
und nach ein paar Sekunden wird der Prozess abgeschlossen
sein. Der Datentr&auml;ger wurde erzeugt und kann in den
Verzeichnisbaum eingeh&auml;ngt werden.</para>
</step>
</procedure>
<para>Um das erzeugte Stripe manuell zu mounten:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>Um das erzeugte Dateisystem automatisch w&auml;hrend des
Startvorgangs zu mounten, m&uuml;ssen Sie die
Datentr&auml;gerinformation in die Datei
<filename>/etc/fstab</filename> schreiben. Dazu legen Sie einen
permanenten Mountpunkt namens
<filename class="directory">stripe</filename> an:</para>
<screen>&prompt.root; <userinput>mkdir /stripe</userinput>
&prompt.root; <userinput>echo "/dev/stripe/st0a /stripe ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>Das <filename>geom_stripe.ko</filename>-Modul muss
ebenfalls automatisch beim Systemstart geladen werden (durch
die Aufnahme der folgenden Zeile in die Datei
<filename>/boot/loader.conf</filename>):</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<title>RAID1 - Spiegelung</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Disk Mirroring</primary>
</indexterm>
<para>Spiegelung (Mirroring) ist eine Technik, welche von vielen
Firmen und Heimnutzern eingesetzt wird, um Daten ohne
Unterbrechung zu sichern. Wenn ein Spiegel existiert, dann
bedeutet dies einfach nur, dass PlatteB die PlatteA
dupliziert. Oder PlatteC+D duplizieren PlatteA+A. Der
wichtigste Aspekt ist, dass Daten einer Platte oder
Partition dupliziert werden, unabh&auml;ngig von der
Konfiguration der Platte. Dadurch kann sp&auml;ter diese
Information leichter wiederhergestellt, ohne
Zugriffsunterbrechung gesichert oder sogar physisch in einem
Datentresor gelagert werden.</para>
<para>Stellen Sie zu Beginn sicher, dass ihr System zwei
Platten mit identischer Gr&ouml;&szlig;e aufweist. In dieser
&Uuml;bung gehen wir davon aus, dass es direkt
zug&auml;ngliche (&man.da.4;) <acronym>SCSI</acronym>-Platten
sind.</para>
<sect2>
<title>Die prim&auml;re Platte spiegeln</title>
<para>Angenommen, &os; wurde auf der ersten Platte
<devicename>da0</devicename> installiert, dann sollte
&man.gmirror.8; angewiesen werden, seine prim&auml;ren Daten
auf dieser Platte zu speichern.</para>
<para>Bevor Sie den Spiegel aufbauen, sollten Sie die maximale
Protokollierung aktivieren und den Zugang zum Ger&auml;t
gestatten. Dazu setzen Sie die &man.sysctl.8;-Option
<varname>kern.geom.debugflags</varname> auf den folgenden
Wert:</para>
<screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
<para>Nun k&ouml;nnen Sie den Spiegel aufbauen. Beginnen Sie den
Prozess, indem Sie die Metadaten-Informationen auf das Ger&auml;t
der prim&auml;ren Platte speichern. Konkret erzeugen Sie dabei
das Ger&auml;t
<filename class="devicefile">/dev/mirror/gm</filename>, indem Sie
den folgenden Befehl ausf&uuml;hren:</para>
<warning>
<para>Die Spiegelung der Bootplatte kann zu Datenverlust
f&uuml;hren, wenn Sie Daten im letzten Sektor der Platte
gespeichert haben. Dieses Risiko l&auml;sst sich minimieren,
wenn Sie den Spiegel unmittelbar nach der Installation von
&os; aufsetzen.</para>
</warning>
<screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
<para>Ihr System sollte wie folgt antworten:</para>
<screen>Metadata value stored on /dev/da0.
Done.</screen>
<para>Initialisieren Sie GEOM. Dadurch wird das Kernelmodul
<filename>/boot/kernel/geom_mirror.ko</filename> geladen:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>Wenn dieser Befehl erfolgreich ausgef&uuml;hrt wurde, wird
die Ger&auml;tedatei <devicename>gm0</devicename> im
Verzeichnis <filename class="directory">/dev/mirror</filename>
erzeugt.<para>
</note>
<para>Stellen Sie sicher, dass das Kernelmodul
<filename>geom_mirror.ko</filename> beim Systemstart automatisch
geladen wird:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>Bearbeiten Sie die Datei <filename>/etc/fstab</filename>
und ersetzen Sie alle Verweise auf die alte Ger&auml;tedatei
<devicename>da0</devicename> durch die neue Ger&auml;tedatei
<devicename>gm0</devicename> des Plattenspiegels. Um die Datei
<filename>/etc/fstab</filename> bearbeiten zu k&ouml;nnen,
m&uuml;ssen Sie als Benutzer <username>root</username> am
System angemeldet sein.</para>
<note>
<para>Sollte &man.vi.1; ihr bevorzugter Texteditor sein,
kouml;nnen Sie diese &Auml;nderungen ganz einfach wie
folgt durchf&uuml;hren:</para>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<para>Bevor Sie die Datei bearbeiten, sollten Sie ein Backup
anlegen. Haben Sie die Datei mit &man.vi.1; ge&ouml;ffnet,
k&ouml;nnen Sie durch die Eingabe von
<userinput>:w /etc/fstab.bak</userinput> eine Sicherungskopie
der Datei anlegen. Danach ersetzen Sie alle alten Referenzen
auf <devicename>da0</devicename> durch
<devicename>gm0</devicename>, indem Sie
<userinput>:%s/da/mirror\/gm/g</userinput> eingeben.<para>
</note>
<para>Die ge&auml;nderte <filename>fstab</filename> sollte nun
&auml;nhlich wie im folgenden Beispiel aussehen. Es spielt
dabei keine Rolle, ob Sie <acronym>SCSI</acronym>- oder
<acronym>ATA</acronym>-Platten verwenden. Das
<acronym>RAID</acronym>-Ger&auml;t hei&szlig;t in jedem Fall
<devicename>gm</devicename>.</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>F&uuml;hren Sie einen Systemneustart durch:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Wenn das System gestartet wird, sollten Sie nun nur noch
<devicename>gm0</devicename>-Ger&auml;te anstatt der bisherigen
<devicename>da0</devicename>-Ger&auml;te sehen. Nachdem das
System vollst&auml;ndig initialisiert wurde, k&ouml;nnen Sie
die neue Konfiguration testen, indem Sie den Befehl
<command>mount</command> ausf&uuml;hren:</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>Hier ist alles in Ordnung. Alle Werte sehen aus wie
erwartet. Um die Synchronisierung zu beginnen, integrieren
Sie nun die Platte <devicename>da1</devicename> in den
Spiegel, indem Sie den folgenden Befehl eingeben:</para>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>W&auml;hrend die Platten gespiegelt werden, k&ouml;nnen
Sie den Fortschritt durch die Eingabe des folgenden Befehls
&uuml;berpr&uuml;fen:</para>
<screen>&prompt.root; <userinput>gmirror status</userinput></screen>
<para>Nachdem die Plattenspiegelung erfolgreich abgeschlossen
wurde (und alle Daten synchronisiert wurden), sollte Sie
eine Ausgabe &auml;hlich der folgenden erhalten, wenn Sie
den Befehl erneut ausf&uuml;hren:</para>
<screen> Name Status Components
mirror/gm0 COMPLETE da0
da1</screen>
<para>Sollten Probleme aufgetreten oder sollte die
Synchronisierung noch nicht abgeschlossen sein, w&auml;re
der Status <literal>DEGRADED</literal> anstatt
<literal>COMPLETE</literal>.</para>
</sect2>
<sect2>
<title>Fehlerbehebung</title>
<sect3>
<title>Das System weigert sich zu starten</title>
<para>Falls das System startet und eine Eingabeaufforderung
&auml;hnlich der folgenden erscheint:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Starten Sie den Rechner neu mit der Power- oder
Resettaste. W&auml;hlen Sie im Startmen&uuml; Option sechs
(6). Dadurch erscheint eine Eingabeaufforderung f&uuml;r
&man.loader.8;. Laden Sie nun das Kernelmodul
h&auml;ndisch:</para>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>Falls dies funktioniert, wurde das Modul (aus welchen
Gr&uuml;nden auch immer) nicht richtig geladen. Pr&uuml;fen
Sie, ob Ihr Eintrag in der Datei
<filename>/boot/loader.conf</filename> korrekt ist. Sollte
das Problem weiterhin bestehen, nehmen Sie die Zeile</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>in die Konfigurationsdatei des Kernels auf und f&uuml;hren
Sie einen Rebuild und eine erneute Installation durch. Dies
sollte das Problem beseitigen.</para>
</sect3>
</sect2>
<sect2>
<title>Wiederherstellung des Systems nach einem
Plattenausfall</title>
<para>Das Sch&ouml;ne an der Plattenspiegelung ist, dass eine
kaputte Platte ersetzt werden kann, ohne dass Sie dabei
Daten verlieren.</para>
<para>Basierend auf der vorhin besprochenen
<acronym>RAID</acronym>1-Konfiguration, nehmen wir nun an, dass
die Platte <devicename>da1</devicename> ausgefallen ist und daher
ersetzt werden muss. Um dies zu tun, m&uuml;ssen Sie
feststellen, welche Platte ausgefallen ist und das System
herunterfahren. Nun k&ouml;nnen Sie die kaputte Platte gegen
eine neue Platte austaushen und das System wieder starten.
Nachdem der Systemstart abgeschlossen ist, verwenden Sie die
folgenden Befehle, um die Plattenspiegelung wieder zu
reaktivieren:</para>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Der Befehl <command>gmirror</command> <option>status</option>
erlaubt es Ihnen, den Fortschritt bei der Wiederherstellung der
Plattenspiegelung zu beobachten. Das ist alles, was Sie tun
m&uuml;ssen.</para>
</sect2>
</sect1>
<sect1 id="geom-ggate">
<title>GEOM Gate Netzwerkger&auml;te</title>
<para>GEOM unterst&uuml;tzt die Verwendung entfernter Ger&auml;te
wie Festplatten, CD-ROMs, Dateien usw. mittels Nutzung
der Gate-Dienstprogramme. Dies ist vergleichbar mit
<acronym>NFS</acronym>.</para>
<para>Zu Beginn muss eine Exportdatei erzeugt werden. Diese
Datei legt fest, wer Zugriff auf die exportierten Ressourcen
hat und welche Zugriffstechniken angeboten werden. Um zum
Beispiel den vierten Slice auf der ersten
<acronym>SCSI</acronym>-Platte zu exportieren, ist die
folgende Datei <filename>/etc/gg.exports</filename>
mehr als ausreichend:</para>
<programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>
<para>Sie wird allen Hosts innerhalb des privaten Netzwerkes
den Zugriff auf das Dateisystem auf der Partition
<devicename>da0s4d</devicename> erlauben.</para>
<para>Um dieses Ger&auml;t zu exportieren, stellen Sie bitte
sicher, dass es momentan nicht gemounted ist und
starten Sie den &man.ggated.8; Server-Daemon:</para>
<screen>&prompt.root; <userinput>ggated</userinput></screen>
<para>Um nun <command>mount</command> auf der Client-Maschine
auszuf&uuml;hren, geben Sie bitte die folgenden Befehle
ein:</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>Von nun an kann auf das Ger&auml;t &uuml;ber den Mount-Punkt
<filename class="directory">/mnt</filename> zugegriffen
werden.</para>
<note>
<para>Es sollte darauf hingewiesen werden, dass dies
scheitern wird, falls das Ger&auml;t momentan entweder
auf dem Server oder irgendeiner anderen Maschine
gemountet ist.</para>
</note>
<para>Wenn das Ger&auml;t nicht l&auml;nger gebraucht wird,
dann kann es mit dem Befehl &man.umount.8;
ausgeh&auml;ngt werden (genauso wie jedes andere Laufwerk
auch).</para>
</sect1>
<sect1 id="geom-glabel">
<title>Das Labeln von Laufwerken</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Disk Labels</primary>
</indexterm>
<para>W&auml;hrend der Initialisierung des Systems legt der
&os;-Kernel f&uuml;r jedes gefundene Ger&auml;t Knotenpunkte
an. Diese Methode f&uuml;r die &Uuml;berpr&uuml;fung auf
vorhandene Ger&auml;te wirft einige Fragen auf. Was passiert
beispielsweise, wenn ein neues
<acronym>USB</acronym>-Laufwerk hinzugef&uuml;gt wird?
Es ist sehr wahrscheinlich, dass ein
Flash-Speicher-Ger&auml;t den Ger&auml;tenamen
<devicename>da0</devicename> erh&auml;lt, w&auml;hrend
gleichzeitig das bisherige <devicename>da0</devicename>
zu <devicename>da1</devicename> wird. Dies verursacht
Probleme beim Einh&auml;ngen von Dateisystemen, wenn diese
in der <filename>/etc/fstab</filename> aufgef&uuml;hrt
sind und schlussendlich mag das auch dazu f&uuml;hren,
dass das System nicht mehr startet.</para>
<para>Eine L&ouml;sung f&uuml;r dieses Problem ist das
Aneinanderketten der <acronym>SCSI</acronym>-Ger&auml;te,
damit ein neues Ger&auml;t, welches der
<acronym>SCSI</acronym>-Karte hinzugef&uuml;gt wird,
unbenutzte Ger&auml;tenummern erh&auml;lt. Aber was
geschieht, wenn ein <acronym>USB</acronym>-Ger&auml;t
m&ouml;glicherweise die prim&auml;re
<acronym>SCSI</acronym>-Platte ersetzt? Dies kann
passieren, weil <acronym>USB</acronym>-Ger&auml;te
normalerweise vor der <acronym>SCSI</acronym>-Karte
gepr&uuml;ft werden. Eine L&ouml;sung ist das
Hinzuf&uuml;gen dieser Ger&auml;te, nachdem das System
gestartet ist. Eine andere L&ouml;sung k&ouml;nnte sein,
nur ein einzelnes <acronym>ATA</acronym>-Laufwerk zu
nutzen und die <acronym>SCSI</acronym>-Ger&auml;te niemals
in der <filename>/etc/fstab</filename> aufzuf&uuml;hren.</para>
<para>Es gibt allerdings eine bessere L&ouml;sung. Durch
Verwendung des <command>glabel</command>-Dienstprogramms
kann ein Administrator oder Benutzer seine Laufwerke mit
Labeln versehen und diese in der <filename>/etc/fstab</filename>
nutzen. Da <command>glabel</command> seine Label im letzten
Sektor jedes vorhandenen Datentr&auml;gers speichert, wird
das Label persistent bleiben (auch &uuml;ber Neustarts hinweg).
Durch Nutzung dieses Labels als Ger&auml;t kann das
Dateisystem immer gemountet sein, unabh&auml;ngig davon,
durch welchen Ger&auml;te-Knotenpunkt auf ihn zugegriffen
wird.</para>
<note>
<para>Der Label muss permanent (dauerhaft) sein.
Man kann das Dienstprogramm <command>glabel</command>
nutzen, um sowohl transiniente als auch permanente Label
zu erzeugen. Aber nur permanente (persistente) Label
bleiben konsistent &uuml;ber Neustarts hinweg. Lesen
Sie die &man.glabel.8;-Manualpage f&uuml;r weitere
unterschiede zwischen den Label-Typen.</para>
</note>
<sect2>
<title>Label-Typen und Beispiele</title>
<para>Es gibt zwei Arten von Labeln: generische Label und
Dateisystem-Label. Label k&ouml;nnen dauerhaft (permanent)
oder tempor&auml;r sein. Permanente Label k&ouml;nnen mit
&man.tunefs.8; oder &man.newfs.8; in einem speziellen
spezielles Verzeichnis in <filename
class="directory">/dev</filename> erzeugt werden, welches
entsprechend der Dateisystem-Art benannt wird.
<acronym>UFS</acronym>2-Dateisystem-Label werden zum
Beispiel im Verzeichnis
<filename class="directory">/dev/ufs</filename>
angelegt. Permanente Label k&ouml;nnen au&szlig;erdem durch
den Befehl <command>glabel label</command> erzeugt werden.
Diese Label sind dann allerdings nicht dateisystemspezisch
und werden im Unterverzeichnis <filename
class="directory">/dev/label</filename> erzeugt.</para>
<para>Ein tempor&auml;res Label verschwindet mit dem
n&auml;chsten Systemstart. Diese Label werden im
Verzeichnis <filename class="directory">/dev/label</filename>
erzeugt und sind ideal f&uuml;r Testzwecke. Ein tempor&auml;res
Label kann durch den Befehl <command>glabel create</command>
erzeugt werden. Weitere Informationen finden sich in der
Manualpage &man.glabel.8;.</para>
<!-- XXXTR: How do you create a file system label without running newfs
or when there is no newfs (e.g.: cd9660)? -->
<para>Um ein permanentes Label auf einem
<acronym>UFS</acronym>2-Dateisystem ohne
L&ouml;schung von Daten zu erzeugen, kann man folgenden
Befehl verwenden:</para>
<screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen>
<warning>
<para>Wenn das Dateisystem voll ist, kann dies zu
Datenkorruption f&uuml;hren; aber egal wie, falls das
Dateisystem voll ist, sollte das Hauptziel die
Entfernung ungen&uuml;tzter Dateien und nicht das
Hinzuf&uuml;gen von Labeln sein.</para>
</warning>
<para>Ein Label sollte nun in
<filename class="directory">/dev/ufs</filename> vorhanden
sein, der zu <filename>/etc/fstab</filename>
hinzugef&uuml;gt wird:</para>
<programlisting>/dev/ufs/home /home ufs rw 2 2</programlisting>
<note>
<para>Das Dateisystem darf nicht gemountet sein beim
Versuch, <command>tunefs</command> auszuf&uuml;hren.</para>
</note>
<para>Nun kann das Dateisystem wie &uuml;blich gemountet
werden:</para>
<screen>&prompt.root; <userinput>mount /home</userinput></screen>
<para>Von nun an kann der Ger&auml;te-Knotenpunkt sich ohne
negative Effekte auf das System &auml;ndern, solange das
Kernelmodul <filename>geom_label.ko</filename> beim
Systemstart mittels <filename>/boot/loader.conf</filename>
geladen wird oder die
<literal>GEOM_LABEL</literal>-Kernel-Option aktiv ist.</para>
<para>Dateisysteme k&ouml;nnen auch mit einem Standard-Label
erzeugt werden (mittels des Flags <option>-L</option> in
<command>newfs</command>). Lesen Sie bitte die Manualpage
von &man.newfs.8; f&uuml;r weitere Informationen.</para>
<para>Der folgende Befehl kann genutzt werden, um das Label
zu beseitigen:</para>
<screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>
<para>Das folgende Beispiel zeigt Ihnen, wie Sie Label f&uuml;r
die Partitionen einer Bootplatte erzeugen.</para>
<example>
<title>Die Partitionen einer Bootplatte labeln</title>
<para>Durch das Erstellen von permanenten Labeln f&uuml;r die
Partitionen einer Bootplatte sollte das System selbst dann noch
normal starten k&ouml;nnen, wenn Sie die Platte an einen
anderen Controller anschlie&szlig;en oder in ein anderes
System installieren. In diesem Beispiel nehmen wir an, dass
nur eine einzige <acronym>ATA</acronym>-Platte verwendet wird,
die Ihr System derzeit als <devicename>ad0</devicename>
erkennt. Weiters nehmen wir an, dass Sie das
Standard-Partionierungsschema von &os; vewendet haben und Ihre
Platte daher die Dateisysteme
<filename class="directory">/</filename>,
<filename class="directory">/var</filename>,
<filename class="directory">/usr</filename> sowie
<filename class="directory">/tmp</filename> aufweist.
Zus&auml;tzlich wurde eine Swap-Partition angelegt.</para>
<para>Starten Sie das System neu. Am &man.loader.8;-Prompt
dr&uuml;cken Sie die Taste <keycap>4</keycap>, um in den
Single-User-Modus zu gelangen. Dort f&uuml;hren Sie die
folgenden Befehle aus:</para>
<screen>&prompt.root; <userinput>glabel label rootfs /dev/ad0s1a</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
&prompt.root; <userinput>glabel label var /dev/ad0s1d</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
&prompt.root; <userinput>glabel label usr /dev/ad0s1f</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
&prompt.root; <userinput>glabel label tmp /dev/ad0s1e</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
&prompt.root; <userinput>glabel label swap /dev/ad0s1b</userinput>
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
&prompt.root; <userinput>exit</userinput></screen>
<para>Das System startet daraufhin in den Multi-User-Modus.
Nachdem der Startvorgang abgeschlossen ist, editieren Sie die
Datei <filename>/etc/fstab</filename> und ersetzen die
konventionellen Ger&auml;tedateien durch die entsprechenden
Label. Ihre modifizierte <filename>/etc/fstab</filename>
sollte nun &auml;hnlich der folgenden Ausgabe aussehen:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/label/swap none swap sw 0 0
/dev/label/rootfs / ufs rw 1 1
/dev/label/tmp /tmp ufs rw 2 2
/dev/label/usr /usr ufs rw 2 2
/dev/label/var /var ufs rw 2 2</programlisting>
<para>Starten Sie Ihr System neu. Traten keine Probleme auf,
wird das System normal hochfahren und Sie erhalten die folgende
Ausgabe, wenn Sie den Befehl <command>mount</command>
ausf&uuml;hren:</para>
<screen>&prompt.root; <userinput>mount</userinput>
/dev/label/rootfs on / (ufs, local)
devfs on /dev (devfs, local)
/dev/label/tmp on /tmp (ufs, local, soft-updates)
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)</screen>
</example>
<para>Beginnend mit &os;&nbsp;7.2, unterst&uuml;tzt
&man.glabel.8; einen neuen Labeltyp f&uuml;r
<acronym>UFS</acronym>-Dateisysteme. Dieser basiert auf der
eindeutigen Dateisystem-ID <literal>ufsid</literal>.
Derartige Label finden sich im Verzeichnis
<filename class="directory">/dev/ufsid</filename> und werden
w&auml;hrend des Systemstarts automatisch erzeugt. Es ist
m&ouml;glich, diese <literal>ufsid</literal>-Label zum
automatischen Einh&auml;ngen von Partitionen in der Datei
<filename>/etc/fstab</filename> einzusetzen. Verwenden Sie
den Befehl <command>glabel status</command>, um eine Liste
aller Dateisysteme und ihrer <literal>ufsid</literal>-Label
zu erhalten:</para>
<screen>&prompt.user; <userinput>glabel status</userinput>
Name Status Components
ufsid/486b6fc38d330916 N/A ad4s1d
ufsid/486b6fc16926168e N/A ad4s1f</screen>
<para>In diesem Beispiel repr&auml;sentiert
<devicename>ad4s1d</devicename> das
<filename class="directory">/var</filename>-Dateisystem,
w&auml;hrend <devicename>ad4s1f</devicename> dem
<filename class="directory">/usr</filename>-Dateisystem
entspricht. Wenn Sie die angegebenen
<literal>ufsid</literal>-Werte verwenden, k&ouml;nnen
diese Dateisysteme durch die folgenden Eintr&auml;ge in
der Datei <filename>/etc/fstab</filename> gemountet
werden:</para>
<programlisting>/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2
/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2</programlisting>
<para>Jede Partition, die ein <literal>ufsid</literal>-Label
aufweist, kann auf diese Art gemountet werden. Dies hat
den Vorteil, dass Sie keine permanenten Label mehr anlegen
m&uuml;ssen, wobei sich die Platten nach wie vor &uuml;ber
ger&auml;teunabh&auml;ngige Namen ansprechen und mounten
lassen.</para>
</sect2>
</sect1>
<sect1 id="geom-gjournal">
<title>UFS Journaling in GEOM</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Journaling</primary>
</indexterm>
<para>Mit &os;&nbsp;7.0 wurde eine lang erwartete Funktion,
das <acronym>UFS</acronym>-Journaling, implementiert. Diese
Funktion wird &uuml;ber das
<acronym>GEOM</acronym>-Subsystem realisiert und kann
&uuml;ber das Werkzeug &man.gjournal.8; eingerichtet
werden.</para>
<para>Was ist Journaling? Bei Journaling wird ein Protokoll
&uuml;ber alle Dateisystemtransaktionen angelegt, inklusive
aller Ver&auml;nderungen, aus denen ein kompletter
Schreibvorgang besteht, bevor diese &Auml;nderungen (Metadaten
sowie tats&auml;chliche Schreibvorg&auml;nge) physikalisch auf
der Festplatte ausgef&uuml;hrt werden. Dieses Protokoll kann
sp&auml;ter erneut aufgerufen werden, um diese Vorg&auml;nge
zu wiederholen (beispielsweise um Systeminkonstistenzen zu
vermeiden.</para>
<para>Diese Technik bietet eine weitere M&ouml;glichkeit,
sich vor Datenverlust und Dateisystem-Inkonsistenzen zu
sch&uuml;tzen. Im Gegensatz zu Soft Updates (die
Metadaten-Aktualisierungen verfolgen und erzwingen) und
Snapshots (die ein Image eines Dateisystems darstellen) wird
bei Journaling ein tats&auml;chliches Protokoll in einem
speziell daf&uuml;r bereitgestellten Bereich der Festplatte
(oder manchmal sogar auf einer separaten Platte)
gespeichert.</para>
<para>Im Gegensatz zu anderen Journaling-Dateisystemen arbeitet
die <command>gjournal</command>-Methode blockbasiert und wurde
nicht als Teil des Dateisystems implementiert, sondern als
<acronym>GEOM</acronym>-Erweiterung.</para>
<para>Um die <command>gjournal</command>-Unterst&uuml;tzung zu
aktivieren, muss der &os;-Kernel die folgende Option enthalten
(was auf 7.X-Systemen bereits in der Voreinstellung der Fall
ist):</para>
<programlisting>options UFS_GJOURNAL</programlisting>
<para>Um eine Volume mit Journalunterst&uuml;tzung beim Systemstart
automatisch zu mounten, muss das Kernelmodul
<filename>geom_journal.ko</filename> ebenfalls automatisch geladen
werden (durch einen entsprechenden Eintrag in der Datei
<filename>/boot/loader.conf</filename>):</para>
<programlisting>geom_journal_load="YES"</programlisting>
<para>Alternativ k&ouml;nnen Sie auch einen angepassten Kernel
bauen, der diese Funktionalit&auml;t enth&auml;lt, indem Sie die
folgende Zeile in Ihrer Kernelkonfigurationsdatei
aufnehmen:</para>
<programlisting>options GEOM_JOURNAL</programlisting>
<para>Das Anlegen eines neuen Journals auf einem freien Dateisystem
erfolgt durch die folgenden Schritte (im Folgenden wird
angenommen, dass es sich bei <devicename>da4</devicename> um
eine neue <acronym>SCSI</acronym>-Platte handelt):</para>
<screen>&prompt.root; <userinput>gjournal label /dev/da4</userinput>
&prompt.root; <userinput>gjournal load</userinput></screen>
<para>Danach sollten die Ger&auml;tedateien
<devicename>/dev/da4</devicename> sowie
<devicename>/dev/da4.journal</devicename> vorhanden sein. Nun
k&ouml;nnen Sie auf diesem Ger&auml;t ein Dateisystem
anlegen:</para>
<screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>
<para>Dieser Befehl erzeugt ein
<acronym>UFS</acronym>2-Dateisystem, f&uuml;r das Journaling
aktiviert wurde.</para>
<para>Danach h&auml;ngen Sie das neue Dateisystem mit
<command>mount</command> in Ihren Verzeichnisbaum ein:</para>
<screen>&prompt.root; <userinput>mount /dev/da4.journal <replaceable>/mnt</replaceable></userinput></screen>
<note>
<para>Falls auf Ihrem System mehrere Slices angelegt sind
(beispielsweise <devicename>ad4s1</devicename> sowie
<devicename>ad4s2</devicename>), wird
<command>gjournal</command> f&uuml;r jedes Slice ein
Journal anlegen (also <devicename>ad4s1.journal</devicename>
sowie <devicename>ad4s2.journal</devicename>). Wird der
Befehl zweimal ausgef&uuml;hrt, werden auch f&uuml;r jedes
Slice zwei <quote>Journale</quote> angelegt.</para>
</note>
<para>Unter bestimmten Umst&auml;nden ist es sinnvoll, das Journal
auf eine externe Platte auszulagern. In einem solchen Fall
geben Sie die Ger&auml;tedatei der Platte nach dem Ger&auml;t
an, f&uuml;r das Sie Journaling aktivieren wollen.
Theoretisch ist es auch m&ouml;glich, Journaling auf bereits
existierenden Dateisystemen durch das Werkzeug
<command>tunefs</command> zu aktivieren. Machen Sie aber
in jedem Fall ein Backup Ihrer Daten, bevor Sie versuchen,
ein existierendes Dateisystem zu &auml;ndern.
<command>gjournal</command> wird zwar den Vorgang abbrechen,
wenn es das Journal nicht erzeugen kann, allerdings sch&uuml;tzt
Sie dies nicht vor Datenverlust durch einen fehlerhaften Einsatz
von <command>tunefs</command>.</para>
<para>Es ist m&ouml;glich, Journale auch f&uuml;r die Bootplatte
eines &os;-System zu verwenden. Lesen Sie bitte den Artikel
<ulink
url="&url.articles.gjournal-desktop.en;/article.html">
Implementing UFS Journaling on a Desktop PC</ulink>, wenn Sie
an einer derartigen Konfiguration interessiert sind.</para>
</sect1>
</chapter>
<!--

View file

@ -3,7 +3,7 @@
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/mac/chapter.sgml,v 1.3 2004/08/22 17:13:30 mheinen Exp $
$FreeBSDde: de-docproj/books/handbook/mac/chapter.sgml,v 1.6 2009/05/12 11:04:48 jkois Exp $
basiert auf:
-->