Update to r44430:

Editorial review of NFS chapter.
Divide config section into server stuff and client stuff.
This commit is contained in:
Bjoern Heidotting 2016-05-29 15:12:01 +00:00
parent b2d5692a43
commit 2251c99bbb
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48874

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
basiert auf: r44427
basiert auf: r44430
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<!--
@ -502,18 +502,29 @@ server-program-arguments</programlisting>
</sect1>
<sect1 xml:id="network-nfs">
<!--
<info>
<title>Network File System (<acronym>NFS</acronym>)</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Reorganisiert und erweitert von </contrib></author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Reorganisiert und erweitert von </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Bill</firstname><surname>Swingle</surname></personname><contrib>Geschrieben von </contrib></author>
<author>
<personname>
<firstname>Bill</firstname>
<surname>Swingle</surname>
</personname>
<contrib>Geschrieben von </contrib>
</author>
</authorgroup>
</info>
-->
<title>Network File System (<acronym>NFS</acronym>)</title>
<indexterm><primary>NFS</primary></indexterm>
@ -535,9 +546,20 @@ server-program-arguments</programlisting>
</listitem>
<listitem>
<para>Die Heimatverzeichnisse der Benutzer werden an einem
zentralen Ort gespeichert und den Benutzern über das
Netzwerk zur Verfügung gestellt.</para>
<para>Verschiedene Clients können auf ein gemeinsames
Verzeichnis <filename>/usr/ports/distfiles</filename>
zugreifen. Die gemeinsame Nutzung dieses Verzeichnisses
ermöglicht einen schnellen Zugriff auf die Quelldateien,
ohne sie auf jede Maschine zu kopieren zu müssen.</para>
</listitem>
<listitem>
<para>In größeren Netzwerken ist es praktisch, einen
zentralen <acronym>NFS</acronym>-Server einzurichten, auf
dem die Heimatverzeichnisse der Benutzer gespeichert
werden. Dadurch steht den Benutzern immer das gleiche
Heimatverzeichnis zur Verfügung, unabhängig davon, an
welchem Client im Netzwerk sie sich anmelden.</para>
</listitem>
<listitem>
@ -556,7 +578,7 @@ server-program-arguments</programlisting>
</listitem>
</itemizedlist>
<para><acronym>NFS</acronym> besteht aus zwei Hauptteilen: Einem
<para><acronym>NFS</acronym> besteht aus einem
Server und einem oder mehreren Clients. Der Client greift
über das Netzwerk auf die Daten zu, die auf dem Server
gespeichert sind. Damit dies korrekt funktioniert, müssen
@ -612,14 +634,14 @@ server-program-arguments</programlisting>
<entry><application>mountd</application></entry>
<entry>Der <acronym>NFS</acronym>-Mount-Daemon. Er
bearbeitet die Anfragen, die &man.nfsd.8; an ihn
weitergibt.</entry>
bearbeitet die Anfragen von
<command>nfsd</command>.</entry>
</row>
<row>
<entry><application>rpcbind</application></entry>
<entry> Der Portmapper-Daemon. Durch ihn erkennen die
<entry>Der Portmapper-Daemon. Durch ihn erkennen die
<acronym>NFS</acronym>-Clients, welchen Port der
<acronym>NFS</acronym>-Server verwendet.</entry>
</row>
@ -632,50 +654,36 @@ server-program-arguments</programlisting>
verbessern.</para>
<sect2 xml:id="network-configuring-nfs">
<title><acronym>NFS</acronym> einrichten</title>
<title>Konfiguration des Servers</title>
<indexterm>
<primary>NFS</primary>
<secondary>einrichten</secondary>
</indexterm>
<para><acronym>NFS</acronym> lässt sich leicht
aktivieren. Die nötigen Prozesse werden durch das
Hinzufügen der folgenden Optionen in
<filename>/etc/rc.conf</filename> bei jedem Systemstart
ausgeführt:</para>
<programlisting>rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"</programlisting>
<para><application>mountd</application> läuft automatisch,
wenn der <acronym>NFS</acronym>-Server aktiviert ist.</para>
<para>Um den Client zu aktivieren, muss folgende Option in
<filename>/etc/rc.conf</filename> gesetzt werden:</para>
<programlisting>nfs_client_enable="YES"</programlisting>
<para><filename>/etc/exports</filename> legt fest, welche
Dateisysteme <acronym>NFS</acronym> exportieren soll. Jede
Zeile in <filename>/etc/exports</filename> beschreibt ein zu
<para>Die Dateisysteme, die der <acronym>NFS</acronym>-Server
exportieren soll, werden in <filename>/etc/exports</filename>
festgelegt. Jede Zeile in dieser Datei beschreibt ein zu
exportierendes Dateisystem, Clients, die darauf
Zugriff haben sowie alle Zugriffsoptionen. Es gibt viele
verschiedene Optionen, allerdings werden hier nur wenige von
ihnen erwähnt. Eine vollständige Liste der Optionen finden
Sie in &man.exports.5;.</para>
Zugriff haben sowie alle Zugriffsoptionen. Die Optionen
eines auf einen anderen Rechner exportierten Dateisystems
müssen alle in einer Zeile stehen. Wird in einer Zeile kein
Rechner festgelegt, dürfen alle Clients im Netzwerk das
exportierte Dateisystem einhängen.</para>
<indexterm>
<primary>NFS</primary>
<secondary>Export von Dateisystemen</secondary>
</indexterm>
<para>Die folgenden Beispiele geben Anhaltspunkte zum
Exportieren von Dateisystemen, obwohl diese Einstellungen
natürlich von der Arbeitsumgebung und der
Netzwerkkonfiguration abhängen.</para>
<para>Wie Dateisysteme exportiert werden, ist in der folgenden
<filename>/etc/exports</filename> zu sehen. Diese Beispiele
müssen natürlich an die Arbeitsumgebung und die
Netzwerkkonfiguration angepasst werden. Es existieren viele
verschiedene Optionen, allerdings werden hier nur wenige von
ihnen erwähnt. Eine vollständige Liste der Optionen findne
Sie in &man.exports.5;.</para>
<para>Dieses Beispiel exportiert <filename>/cdrom</filename> für
drei Clients, <replaceable>alpha</replaceable>,
<replaceable>bravo</replaceable> und
@ -686,15 +694,17 @@ mountd_flags="-r"</programlisting>
<para>Die Option <option>-ro</option> kennzeichnet das
exportierte Dateisystem als schreibgeschützt. Dadurch sind
Clients nicht in der Lage, das exportierte Dateisystem zu
verändern.</para>
verändern. Dieses Beispiel geht davon aus, dass die Hostnamen
entweder über <acronym>DNS</acronym> oder über
<filename>/etc/hosts</filename> aufgelöst werden können.
Lesen Sie &man.hosts.5; falls das Netzwerk über keinen
<acronym>DNS</acronym>-Server verfügt.</para>
<para>Das nächste Beispiel exportiert <filename>/home</filename>
auf drei durch <acronym>IP</acronym>-Adressen bestimmte
Clients. Diese Einstellung kann für Netzwerke ohne
<acronym>DNS</acronym>-Server nützlich sein. Optional können
interne Rechnernamen auch in <filename>/etc/hosts</filename>
konfiguriert werden. Benötigen Sie hierzu weitere
Informationen, lesen Sie bitte &man.hosts.5;. Die Option
<acronym>DNS</acronym>-Server und
<filename>/etc/hosts</filename> nützlich sein. Die Option
<option>-alldirs</option> ermöglicht es, auch
Unterverzeichnisse als Mountpunkte festzulegen. Dies bedeutet
aber nicht, dass alle Unterverzeichnisse eingehängt werden,
@ -703,7 +713,7 @@ mountd_flags="-r"</programlisting>
<programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting>
<para>Die nächste Zeile exportiert <filename>/a</filename>,
<para>Das nächste Beispiel exportiert <filename>/a</filename>,
damit Clients von verschiedenen Domänen auf das Dateisystem
zugreifen können. Die Option <option>-maproot=root</option>
erlaubt es dem Benutzer <systemitem
@ -718,38 +728,23 @@ mountd_flags="-r"</programlisting>
<programlisting>/a -maproot=root host.example.com box.example.org</programlisting>
<para>Damit ein Client auf ein exportiertes Dateisystem
zugreifen kann, muss er in <filename>/etc/exports</filename>
eingetragen sein.</para>
<para>Jede Zeile in <filename>/etc/exports</filename> entspricht
der Exportinformation für ein Dateisystem auf einem oder
mehreren Clients. Ein entfernter Rechner kann für jedes
Dateisystem nur einmal definiert werden. Nehmen wir an, dass
<filename>/usr</filename> ein gesondertes Dateisystem ist.
Dann wären folgende Zeilen in
<filename>/etc/exports</filename> ungültig:</para>
<para>Ein Client kann für jedes Dateisystem nur einmal definiert
werden. Wenn beispielsweise <filename>/usr</filename> ein
gesondertes Dateisystem ist, dann wären die folgenden Einträge
falsch, da in beiden Einträgen der gleiche Rechner angegeben
wird:</para>
<programlisting>#Nicht erlaubt, wenn /usr ein einziges Dateisystem ist
/usr/src client
/usr/ports client</programlisting>
<para>Das Dateisystem <filename>/usr</filename> wird hier zweimal
auf den selben Rechner (<systemitem>client</systemitem>)
exportiert. Dies ist aber nicht zulässig. Der korrekte
Eintrag sieht daher so aus:</para>
<para>Das richtige Format für eine solche Situation ist:</para>
<programlisting>/usr/src /usr/ports client</programlisting>
<para>Die Eigenschaften eines auf einen anderen Rechner
exportierten Dateisystems müssen alle in einer Zeile
stehen. Wird in einer Zeile kein Rechner festgelegt, dürfen
alle Clients im Netzwerk das exportierte Dateisystem
einhängen.</para>
<para>Eine gültige Exportliste, in der
<filename>/usr</filename> und <filename>/exports</filename>
lokale Dateisysteme sind, sieht so aus:</para>
<para>Das Folgende ist ein Beispiel für eine gültige
Exportliste, in der <filename>/usr</filename> und
<filename>/exports</filename> lokale Dateisysteme sind:</para>
<programlisting># Export src and ports to client01 and client02, but only
# client01 has root privileges on it
@ -760,6 +755,19 @@ mountd_flags="-r"</programlisting>
/exports -alldirs -maproot=root client01 client02
/exports/obj -ro</programlisting>
<para>Damit die vom <acronym>NFS</acronym>-Server benötigen
Prozesse beim Booten gestartet werden, fügen Sie folgende
Optionen in <filename>/etc/rc.conf</filename> hinzu:</para>
<programlisting>rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"</programlisting>
<para>Der Server kann jetzt mit diesem Kommando gestartet
werden:</para>
<screen>&prompt.root; <userinput>service nfsd start</userinput></screen>
<para>Wenn der <acronym>NFS</acronym>-Server startet, wird
auch <application>mountd</application> automatisch gestartet.
Allerdings liest <application>mountd</application>
@ -770,29 +778,25 @@ mountd_flags="-r"</programlisting>
Datei neu einzulesen:</para>
<screen>&prompt.root; <userinput>service mountd reload</userinput></screen>
</sect2>
<para>Lesen Sie bitte <xref linkend="configtuning-rcd"/>
des Handbuchs für Informationen zum Einsatz der
rc-Skripte.</para>
<sect2>
<title>Konfiguration des Clients</title>
<para>Die <acronym>NFS</acronym>-Dienste können nun auf dem
Server als <systemitem class="username">root</systemitem>
gestartet werden:</para>
<para>Um den <acronym>NFS</acronym>-Client zu aktivieren, setzen
Sie folgende Option in <filename>/etc/rc.conf</filename> auf
jedem Client:</para>
<screen>&prompt.root; <userinput>service nfsd start</userinput></screen>
<para>Auf dem <acronym>NFS</acronym>-Client:</para>
<screen>&prompt.root; <userinput>service nfsclient restart</userinput></screen>
<programlisting>nfs_client_enable="YES"</programlisting>
<para>Der Client ist nun in der Lage, ein entferntes Dateisystem
einzuhängen. In diesen Beispielen ist der Name des Servers
<systemitem>server</systemitem> und der Name des Clients
<systemitem>client</systemitem>. Für Testzwecke oder zum
temporären einhängen eines entfernten Dateisystems, führen Sie
auf dem Rechner <systemitem>client</systemitem> den Befehl
<command>mount</command>als
<systemitem class="username">root</systemitem> aus:</para>
<systemitem>client</systemitem>. Fügen Sie folgenden Befehl
aus, um das Verzeichnis <filename>/home</filename> vom
<systemitem>server</systemitem> auf dem
<systemitem>client</systemitem> ins Verzeichnis
<filename>/mnt</filename> einzuhängen:</para>
<indexterm>
<primary>NFS</primary>
@ -837,65 +841,35 @@ rpc_statd_enable="YES"</programlisting>
<acronym>NFS</acronym>-Clients und dem
<acronym>NFS</acronym>-Server benötigt werden, können Sie den
<acronym>NFS</acronym>-Client durch die Übergabe der
Option <option>-L</option> an &man.mount.nfs.8; zu einer
lokalen Sperrung von Dateien zwingen. Weitere Details finden
Sie in &man.mount.nfs.8;.</para>
</sect2>
<sect2>
<title>Praktische Anwendungen</title>
<para><acronym>NFS</acronym> ist in vielen Situationen
nützlich. Einige Anwendungsbereiche finden Sie in der
folgenden Liste:</para>
<indexterm>
<primary>NFS</primary>
<secondary>Anwendungsbeispiele</secondary>
</indexterm>
<itemizedlist>
<listitem>
<para>Mehrere Maschinen können sich ein
<acronym>CD-ROM</acronym>-Laufwerk oder andere Medien
teilen. Dies ist praktisch, um Programme von einem
einzelnen Standort aus auf mehreren Rechnern zu
installieren.</para>
</listitem>
<listitem>
<para>In größeren Netzwerken ist es praktisch, einen
zentralen <acronym>NFS</acronym>-Server einzurichten, auf
dem die Heimatverzeichnisse der Benutzer gespeichert
werden. Dadurch steht den Benutzern immer das gleiche
Heimatverzeichnis zur Verfügung, unabhängig davon, an
welchem Client im Netzwerk sie sich anmelden.</para>
</listitem>
<listitem>
<para>Verschiedene Clients können auf ein gemeinsames
Verzeichnis <filename>/usr/ports/distfiles</filename>
zugreifen. Die gemeinsame Nutzung dieses Verzeichnisses
ermöglicht einen schnellen Zugriff auf die Quelldateien,
ohne sie auf jede Maschine zu kopieren zu müssen.</para>
</listitem>
</itemizedlist>
Option <option>-L</option> an <application>mount</application>
zu einer lokalen Sperrung von Dateien zwingen. Weitere
Details finden Sie in &man.mount.nfs.8;.</para>
</sect2>
<sect2 xml:id="network-amd">
<!--
<info>
<title>Automatisches Einhängen mit &man.amd.8;</title>
<authorgroup>
<author><personname><firstname>Wylie</firstname><surname>Stilwell</surname></personname><contrib>Beigetragen von </contrib></author>
<author>
<personname>
<firstname>Wylie</firstname>
<surname>Stilwell</surname>
</personname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Überarbeitet von </contrib></author>
<author>
<personname>
<firstname>Chern</firstname>
<surname>Lee</surname>
</personname>
<contrib>Überarbeitet von </contrib>
</author>
</authorgroup>
</info>
-->
<title><application>amd</application></title>
<indexterm><primary>amd</primary></indexterm>
<indexterm><primary>Automatic Mounter Daemon</primary></indexterm>
@ -905,36 +879,36 @@ rpc_statd_enable="YES"</programlisting>
wenn auf eine Datei oder ein Verzeichnis in diesem Dateisystem
zugegriffen wird. Dateisysteme, die über einen gewissen
Zeitraum inaktiv sind, werden von <application>amd</application>
automatisch abgehängt.
<application>amd</application> ist eine Alternative zum
dauerhaften Einhängen von Dateisystemen in
<filename>/etc/fstab</filename>.</para>
automatisch abgehängt.</para>
<para>In der Voreinstellung stellt <application>amd</application>
die Verzeichnisse <filename>/host</filename> und
<filename>/net</filename> als NFS-Server bereit. Wenn auf eine
<para>Dieser Damon ist eine Alternative zum dauerhaften
Einhängen von Dateisystemen in
<filename>/etc/fstab</filename>. In der Voreinstellung stellt
<application>amd</application> die Verzeichnisse
<filename>/host</filename> und <filename>/net</filename> als
<acronym>NFS</acronym>-Server bereit. Wenn auf eine
Datei in diesen Verzeichnissen zugegriffen wird, sucht
<application>amd</application> den entsprechenden Mountpunkt
und hängt das Dateisystem automatisch ein.
<filename>/net</filename> wird zum Einhängen von
exportierten Dateisystemen von einer <acronym>IP</acronym>-Adresse verwendet,
während <filename>/host</filename> zum Einhängen
von exportierten Dateisystemen eines durch seinen Namen
festgelegten Rechners dient.</para>
<para>Ein Zugriff auf eine Datei in
exportierten Dateisystemen von einer
<acronym>IP</acronym>-Adresse verwendet, während
<filename>/host</filename> zum Einhängen von exportierten
Dateisystemen eines durch seinen Namen festgelegten Rechners
dient. Ein Zugriff auf eine Datei in
<filename>/host/foobar/usr</filename> würde
<application>amd</application> veranlassen,
das von <systemitem>foobar</systemitem> exportierte Dateisystem
<filename>/usr</filename> einzuhängen.</para>
das von <systemitem>foobar</systemitem> exportierte
Dateisystem <filename>/usr</filename> einzuhängen.</para>
<example>
<title>Ein exportiertes Dateisystem mit
<application>amd</application> in den Verzeichnisbaum
einhängen</title>
<para><command>showmount -e</command> zeigt die exportierten
Dateisysteme des <acronym>NFS</acronym>-Servers
<para><command>showmount -e</command> zeigt in diesem Beispiel
die exportierten Dateisysteme des
<acronym>NFS</acronym>-Servers
<systemitem>foobar</systemitem> an:</para>
<screen>&prompt.user; <userinput>showmount -e foobar</userinput>
@ -954,9 +928,9 @@ Exports list on foobar:
automatisch den gewünschten Export in den Verzeichnisbaum
einhängen.</para>
<para><application>amd</application> kann durch folgende Zeile
in <filename>/etc/rc.conf</filename> automatisch gestartet
werden:</para>
<para>Um <application>amd</application> beim Booten zu
aktivieren, fügen Sie folgende Zeile in
<filename>/etc/rc.conf</filename> ein:</para>
<programlisting>amd_enable="YES"</programlisting>
@ -965,7 +939,6 @@ Exports list on foobar:
<screen>&prompt.root; <userinput>service amd start</userinput></screen>
<para>Individuelle Optionen können über die Umgebungsvariable
<varname>amd_flags</varname> an <application>amd</application>
übergeben werden. In der Voreinstellung ist
@ -973,11 +946,11 @@ Exports list on foobar:
<programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting>
<para><filename>/etc/amd.map</filename> legt die Standardoptionen
fest, mit denen exportierte Dateisysteme in den Verzeichnisbaum
eingehängt werden. <filename>/etc/amd.conf</filename>
hingegen legt einige der erweiterten Optionen von
<application>amd</application> fest.</para>
<para>Die Standardoptionen, mit denen exportierte Dateisysteme
in den Verzeichnisbaum eingehängt werden, werden in
<filename>/etc/amd.map</filename> festgelegt. Einige der
erweiterten Optionen von <application>amd</application>
werden in <filename>/etc/amd.conf</filename> definiert.</para>
<para>Weitere Informationen finden Sie in &man.amd.8; und
&man.amd.conf.5;.</para>