MFen: 1.37->1.44

Obtained from:	The FreeBSD German Documentation Project
This commit is contained in:
Udo Erdelhoff 2002-03-13 00:41:30 +00:00
parent 873c933aec
commit 00864932dc
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=12440

View file

@ -2,9 +2,9 @@
The FreeBSD Documentation Project
The FreeBSD German Documentation Project
Original version 1.37 (ohne SoftUpdates aus 1.33 + 1.34)
Original version 1.44
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/config/chapter.sgml,v 1.9 2002/01/27 16:52:12 mheinen Exp $
$FreeBSDde: de-docproj/books/handbook/config/chapter.sgml,v 1.15 2002/03/04 16:44:25 mheinen Exp $
-->
<chapter id="config-tuning">
@ -93,10 +93,8 @@
(<xref linkend="cutting-edge">)
-->
und wissen, wie Sie einen
Kernel konfigurieren und kompilieren.</para>
<!--
(<xref linkend="kernelconfig">)
-->
Kernel konfigurieren und kompilieren (<xref
linkend="kernelconfig">) .</para>
</listitem>
</itemizedlist>
</sect1>
@ -891,7 +889,7 @@ kern.maxfiles: 2088 -> 5000</screen>
Wir entschieden uns daher f&uuml;r die sichere Variante
und stellten den Schreib-Zwischenspeicher ab. Leider war
damit auch ein gro&szlig;er Leistungsverlust verbunden, so
da&szlig; wir klein beigeben mu&szlig;ten und die Variable
da&szlig; wir die Variable
nach dem Release wieder aktiviert haben. Sie sollten den
Wert der Variable <varname>hw.ata.wc</varname> auf Ihrem
System &uuml;berpr&uuml;fen. Wenn der Schreib-Zwischenspeicher
@ -917,7 +915,7 @@ kern.maxfiles: 2088 -> 5000</screen>
werden wie folgt ein- und ausgeschaltet:</para>
<screen>&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystem</screen>
&prompt.root; tunefs -n disable /filesystem</screen>
<para>Ein eingh&auml;ngtes Dateisystem kann nicht mit &man.tunefs.8;
modifiziert werden. Soft Updates werden am besten im Single-User
@ -951,7 +949,7 @@ kern.maxfiles: 2088 -> 5000</screen>
<para>Es gibt zwei klassische Herangehensweisen, wie
man die Metadaten des Dateisystems (also Daten
&uuml;ber Dateien, wie i-node Bereiche oder Verzeichniseintr&auml;ge)
&uuml;ber Dateien, wie inode Bereiche oder Verzeichniseintr&auml;ge)
aktualisiert auf die Platte zur&uuml;ckschreibt:</para>
<para>Das historisch &uuml;bliche Verfahren waren synchrone
@ -962,15 +960,15 @@ kern.maxfiles: 2088 -> 5000</screen>
<emphasis>Inhalt</emphasis> der Dateien wurde im
<quote>Buffer Cache</quote> zwischengespeichert und
asynchron irgendwann sp&auml;ter auf die Platte geschrieben.
Der Vorteil dieser Implementierung ist, da&szlig; sie sehr
Der Vorteil dieser Implementierung ist, da&szlig; sie
sicher funktioniert. Wenn w&auml;hrend eines Updates ein
Ausfall erfolgt, haben die Metadaten immer einen
konsistenten Zustand. Eine Datei ist entweder komplett
angelegt oder gar nicht. Wenn die Datenbl&ouml;cke der
Datei den Weg aus dem <quote>Buffer Cache</quote> noch nicht
auf die Platte gefunden haben, dann kann &man.fsck.8; dies
feststellen und das Dateisystem reparieren (die
Dateil&auml;nge wird dann auf 0 gesetzt). Au&szlig;erdem
angelegt oder gar nicht. Wenn die Datenbl&ouml;cke einer
Datei im Fall eines Absturzes noch nicht den Weg aus dem
<quote>Buffer Cache</quote> auf die Platte gefunden haben,
kann &man.fsck.8; das Dateisystem reparieren, indem es die
Dateil&auml;nge einfach auf 0 setzt. Au&szlig;erdem
ist die Implementierung einfach und &uuml;berschaubar. Der
Nachteil ist, da&szlig; &Auml;nderungen der Metadaten sehr
langsam vor sich gehen. Ein <command>rm -r</command>
@ -998,7 +996,7 @@ kern.maxfiles: 2088 -> 5000</screen>
anschlie&szlig;end in einem unbestimmten Zustand. Niemand
kann genau sagen, was noch geschrieben worden ist und was
nicht mehr; die Datenbl&ouml;cke einer Datei k&ouml;nnen
schon auf der Platte stehen, w&auml;hrend die i-node Tabelle
schon auf der Platte stehen, w&auml;hrend die inode Tabelle
oder das zugeh&ouml;rige Verzeichnis nicht mehr aktualisiert
worden ist. Man kann praktisch kein <command>fsck</command>
mehr implementieren, das diesen Zustand
@ -1041,8 +1039,8 @@ kern.maxfiles: 2088 -> 5000</screen>
wieder zur Verf&uuml;gung steht.
</para>
<para>Die L&ouml;sung von Kirk McKusick (dem Sch&ouml;pfer von
Berkeley FFS) waren <emphasis>Soft Updates</emphasis>: die
<para>Die L&ouml;sung von Kirk McKusick, dem Sch&ouml;pfer von
Berkeley FFS, waren <emphasis>Soft Updates</emphasis>: die
notwendigen Updates der Metadaten werden im Speicher
gehalten und dann sortiert auf die Platte geschrieben
(<quote>ordered metadata updates</quote>). Dadurch hat man
@ -1056,14 +1054,14 @@ kern.maxfiles: 2088 -> 5000</screen>
die Platte geschrieben wird (die dazugeh&ouml;rigen
Datenbl&ouml;cke werden nat&uuml;rlich auch so sortiert,
da&szlig; sie nicht vor ihren Metadaten auf der Platte
sind). Im Crashfall hat man ein implizites <quote>log
rewind</quote>: alle Operationen, die noch nicht den Weg auf
sind). Im Fall eines Absturzes hat man ein implizites <quote>log
rewind</quote>: alle Operationen, die noch nicht den Weg auf
die Platte gefunden haben, sehen danach so aus, als
h&auml;tten sie nie stattgefunden. Man hat so also den
konsistenten Zustand von ca. 30 -- 60 Sekunden fr&uuml;her
konsistenten Zustand von ca. 30 bis 60 Sekunden fr&uuml;her
sichergestellt. Der verwendete Algorithmus garantiert
dabei, da&szlig; alle tats&auml;chlich benutzten Ressourcen
auch in den entsprechenden Bitmaps (Block- und i-node
auch in den entsprechenden Bitmaps (Block- und inode
Tabellen) als belegt markiert sind. Der einzige Fehler, der
auftreten kann, ist, da&szlig; Ressourcen noch als
<quote>belegt</quote> markiert sind, die tats&auml;chlich
@ -1085,7 +1083,7 @@ kern.maxfiles: 2088 -> 5000</screen>
Dateisysteme gestartet, die dies ben&ouml;tigen, um
m&ouml;glicherweise irrt&uuml;mlich belegte Resourcen
freizugeben. (Dateisysteme ohne <emphasis>Soft
Updates</emphasis> ben&ouml;tigen nat&uuml;rlich immer noch
Updates</emphasis> ben&ouml;tigen nat&uuml;rlich immer noch
den &uuml;blichen (Vordergrund-)<command>fsck</command>,
bevor sie eingebunden werden k&ouml;nnen.)</para>
@ -1097,9 +1095,9 @@ kern.maxfiles: 2088 -> 5000</screen>
einer erh&ouml;hten Fehlerwahrscheinlichkeit in einem
bez&uuml;glich Datenverlust hoch sensiblen Bereich) und ein
erh&ouml;hter Speicherverbrauch entgegen. Au&szlig;erdem
mu&szlig; man sich an einige <quote>Eigenheiten</quote>
mu&szlig; man sich an einige Eigenheiten
gew&ouml;hnen: Nach einem Absturz ist ein etwas &auml;lterer
Stand auf der Platte - statt einer leeren, aber bereits
Stand auf der Platte &mdash; statt einer leeren, aber bereits
angelegten Datei (wie nach einem herk&ouml;mmlichen
<command>fsck</command> Lauf) ist auf einem Dateisystem mit
<emphasis>Soft Updates</emphasis> keine Spur der
@ -1112,7 +1110,6 @@ kern.maxfiles: 2088 -> 5000</screen>
bereiten, wenn gro&szlig;e Datenmengen in einem Dateisystem
ersetzt werden, das nicht gen&uuml;gend Platz hat, um alle
Dateien zweimal unterzubringen.</para>
</sect3>
</sect2>
</sect1>
@ -1230,52 +1227,58 @@ kern.maxfiles: 2088 -> 5000</screen>
<para>Sie k&ouml;nnen eine Datei festgelegter Gr&ouml;&szlig;e als
Swap-Bereich nutzen. Im folgenden Beispiel werden wir eine 64 MB
gro&szlig;e Datei mit dem Namen <filename>/usr/swap0</filename>
benutzen. Sie k&ouml;nnen sich nat&uuml;rlich einen beliebigen Namen
f&uuml;r den Swap-Bereich aussuchen.</para>
benutzen, Sie k&ouml;nnen nat&uuml;rlich einen beliebigen Namen
f&uuml;r den Swap-Bereich benutzen.</para>
<para>Zuerst stellen Sie bitte sicher, da&szlig; Ihr Kernel den
vnode-Treiber enth&auml;lt. In neueren Versionen von
<filename>GENERIC</filename> ist dieser <emphasis>nicht</emphasis>
enthalten.</para>
<example>
<title>Erstellen einer Swap-Datei</title>
<programlisting>pseudo-device vn 1 #Vnode driver (turns a file into a device)</programlisting>
<orderedlist>
<listitem>
<para>Zuerst stellen Sie bitte sicher, da&szlig; Ihr Kernel den
vnode-Treiber enth&auml;lt. In neueren Versionen von
<filename>GENERIC</filename> ist dieser
<emphasis>nicht</emphasis> enthalten.</para>
<orderedlist>
<listitem>
<para>Erstellen Sie das vn-Ger&auml;t:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>sh MAKEDEV vn0</userinput></screen>
</listitem>
<programlisting>pseudo-device vn 1 #Vnode driver (turns a file into a device)</programlisting>
</listitem>
<listitem>
<para>Legen Sie die Swap-Datei <filename>/usr/swap0</filename>
an:</para>
<listitem>
<para>Erstellen Sie das vn-Ger&auml;t:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV vn0</userinput></screen>
</listitem>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput></screen>
</listitem>
<listitem>
<para>Legen Sie die Swap-Datei <filename>/usr/swap0</filename>
an:</para>
<listitem>
<para>Setzen Sie die richtigen Berechtigungen f&uuml;r
<filename>/usr/swap0</filename>:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput></screen>
</listitem>
<screen>&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput></screen>
</listitem>
<listitem>
<para>Setzen Sie die richtigen Berechtigungen f&uuml;r
<filename>/usr/swap0</filename>:</para>
<listitem>
<para>Aktivieren Sie die Swap-Datei in
<filename>/etc/rc.conf</filename>:</para>
<screen>&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput></screen>
</listitem>
<programlisting>swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.</programlisting>
</listitem>
<listitem>
<para>Aktivieren Sie die Swap-Datei in
<filename>/etc/rc.conf</filename>:</para>
<listitem>
<para>F&uuml;hren Sie einen Reboot durch:</para>
</listitem>
</orderedlist>
<programlisting>swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.</programlisting>
</listitem>
<para>Um die Swap-Datei direkt zu aktivieren, setzen Sie das folgende
Kommando ab:</para>
<listitem>
<para>Um die Swap-Datei zu aktivieren, f&uuml;hren Sie
entweder einen Reboot durch oder geben das folgende Kommando
ein:</para>
<screen>&prompt.root; <userinput>vnconfig -e /dev/vn0b /usr/swap0 swap</userinput></screen>
<screen>&prompt.root; <userinput>vnconfig -e /dev/vn0b /usr/swap0 swap</userinput></screen>
</listitem>
</orderedlist>
</example>
</sect2>
</sect1>
</chapter>