aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/handbook/network-servers
diff options
context:
space:
mode:
authorBjoern Heidotting <bhd@FreeBSD.org>2016-02-03 19:49:59 +0000
committerBjoern Heidotting <bhd@FreeBSD.org>2016-02-03 19:49:59 +0000
commitd17c1112238ab50e80aa049c0d071c73362e48d8 (patch)
treef70a86ab5e04ac06748384170fbb9f9fd8acc831 /de_DE.ISO8859-1/books/handbook/network-servers
parenteef7bcc5ba9756fb4908afe49502ee2b829577e3 (diff)
downloaddoc-d17c1112238ab50e80aa049c0d071c73362e48d8.tar.gz
doc-d17c1112238ab50e80aa049c0d071c73362e48d8.zip
Update to r42910:
Add section describing the new iSCSI stack. This section was translated from the latest r47889. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D5170
Notes
Notes: svn path=/head/; revision=48147
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/network-servers')
-rw-r--r--de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml363
1 files changed, 362 insertions, 1 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml b/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml
index 004c73a055..b0f573da32 100644
--- a/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml
+++ b/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml
@@ -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: r42610
+ basiert auf: r42910
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<info><title>Netzwerkserver</title>
@@ -95,6 +95,11 @@
<command>syslogd</command>, konfiguriert, um Protokolle von
anderen Hosts zu akzeptieren.</para>
</listitem>
+
+ <listitem>
+ <para>Wissen, wie <acronym>iSCSI</acronym> eingerichtet
+ wird.</para>
+ </listitem>
</itemizedlist>
<para>Dieses Kapitel setzt folgende Grundkenntnisse voraus:</para>
@@ -6432,4 +6437,360 @@ Logging to FILE /var/log/messages</screen>
verhindern, dass lokale Benutzer darin herumschnüffeln.</para>
</sect2>
</sect1>
+
+ <sect1 xml:id="network-iscsi">
+ <!--
+ <info>
+ <authorgroup>
+ <author>
+ <firstname>Edward Tomasz</firstname>
+ <surname>Napierala</surname>
+ </author>
+ </authorgroup>
+ </info>
+ -->
+
+ <title>iSCSI Initiator und Target Konfiguration</title>
+
+ <para><acronym>iSCSI</acronym> bietet die Möglichkeit,
+ Speicherkapazitäten über ein Netzwerk zu teilen. Im Gegensatz
+ zu <acronym>NFS</acronym>, das auf Dateisystemebene arbeitet,
+ funktioniert <acronym>iSCSI</acronym> auf
+ Blockgerätebene.</para>
+
+ <para>In der <acronym>iSCSI</acronym>-Terminologie wird das
+ System, das den Speicherplatz zur Verfügung stellt, als
+ <emphasis>Target</emphasis> bezeichnet. Der Speicherplatz
+ selbst kann aus einer physischen Festplatte bestehen, oder auch
+ aus einem Bereich, der mehrere Festplatten, oder nur Teile einer
+ Festplatte, repräsentiert. Wenn beispielsweise die
+ Festplatte(n) mit <acronym>ZFS</acronym> formatiert ist, kann
+ ein <acronym>zvol</acronym> erstellt werden, welches dann als
+ <acronym>iSCSI</acronym>-Speicher verwendet werden kann.</para>
+
+ <para>Die Clients, die auf den <acronym>iSCSI</acronym>-Speicher
+ zugreifen, werden <emphasis>Initiator</emphasis> genannt. Ihnen
+ steht der verfügbare Speicher als rohe, nicht formatierte
+ Festplatte, die auch als <acronym>LUN</acronym> bezeichnet wird,
+ zur Verfügung. Die Gerätedateien für die Festplatten erscheinen
+ in <filename>/dev/</filename> und müssen separat formatiert und
+ eingehangen werden.</para>
+
+ <para>Seit 10.0-RELEASE enthält &os; einen nativen,
+ kernelbasierten <acronym>iSCSI</acronym>
+ <emphasis>Target</emphasis> und <emphasis>Initiator</emphasis>.
+ Dieser Abschnitt beschreibt, wie ein &os;-System als Target oder
+ Initiator konfiguriert wird.</para>
+
+ <sect2 xml:id="network-iscsi-target">
+ <title>Ein <acronym>iSCSI</acronym>-Target konfigurieren</title>
+
+ <note>
+ <para>Ein natives <acronym>iSCSI</acronym>-Target wird seit
+ &os; 10.0-RELEASE unterstützt. Um <acronym>iSCSI</acronym>
+ mit älteren Versionen zu benutzen, installieren Sie ein
+ Target aus der Ports-Sammlung, beispielsweise
+ <package>net/istgt</package>. Dieses Kapitel beschreibt
+ nur das native Target.</para>
+ </note>
+
+ <para>Um ein <acronym>iSCSI</acronym>-Target zu konfigurieren,
+ erstellen Sie die Konfigurationsdatei
+ <filename>/etc/ctl.conf</filename> und fügen Sie eine Zeile
+ in <filename>/etc/rc.conf</filename> hinzu, um
+ sicherzustellen, dass &man.ctld.8; automatisch beim Booten
+ gestartet wird. Starten Sie dann den Daemon.</para>
+
+ <para>Das folgende Beispiel zeigt eine einfache
+ <filename>/etc/ctl.conf</filename>. Eine vollständige
+ Beschreibung dieser Datei und der verfügbaren Optionen finden
+ Sie in &man.ctl.conf.5;.</para>
+
+ <programlisting>portal-group pg0 {
+ discovery-auth-group no-authentication
+ listen 0.0.0.0
+ listen [::]
+}
+
+target iqn.2012-06.com.example:target0 {
+ auth-group no-authentication
+ portal-group pg0
+
+ lun 0 {
+ path /data/target0-0
+ size 4G
+ }
+}</programlisting>
+
+ <para>Der erste Eintrag definiert die Portalgruppe
+ <literal>pg0</literal>. Portalgruppen legen fest, auf welchen
+ Netzwerk-Adressen der &man.ctld.8;-Daemon Verbindungen
+ entgegennehmen wird. Der Eintrag
+ <literal>discovery-auth-group no-authentication</literal>
+ zeigt an, dass jeder Initiator
+ <acronym>iSCSI</acronym>-Targets suchen darf, ohne sich
+ authentifizieren zu müssen. Die dritte und vierte Zeilen
+ konfigurieren &man.ctld.8; so, dass er auf allen
+ <acronym>IPv4</acronym>- (<literal>listen 0.0.0.0</literal>)
+ und <acronym>IPv6</acronym>-Adressen
+ (<literal>listen [::]</literal>) auf dem Standard-Port 3260
+ lauscht.</para>
+
+
+ <para>Es ist nicht zwingend notwendig eine Portalgruppe zu
+ definieren, da es bereits eine integrierte Portalgruppe namens
+ <literal>default</literal> gibt. In diesem Fall ist der
+ Unterschied zwischen <literal>default</literal> und
+ <literal>pg0</literal> der, dass bei
+ <literal>default</literal> eine Authentifizierung nötig ist,
+ während bei <literal>pg0</literal> die Suche nach Targets
+ immer erlaubt ist.</para>
+
+ <para>Der zweite Eintrag definiert ein einzelnes Target. Ein
+ Target hat zwei mögliche Bedeutungen: eine Maschine die
+ <acronym>iSCSI</acronym> bereitstellt, oder eine Gruppe von
+ <acronym>LUN</acronym>s. Dieses Beispiel verwendet die
+ letztere Bedeutung, wobei
+ <literal>iqn.2012-06.com.example:target0</literal> der Name
+ des Targets ist. Dieser Name ist nur für Testzwecke geeignet.
+ Für den tatsächlichen Gebrauch ändern Sie
+ <literal>com.example</literal> auf einen echten, rückwärts
+ geschriebenen Domainnamen. <literal>2012-06</literal> steht
+ für das Jahr und den Monat, an dem die Domain erworben
+ wurde. <literal>target0</literal> darf einen beliebigen
+ Wert haben und in der Konfigurationsdatei darf eine beliebige
+ Anzahl von Targets definiert werden.</para>
+
+ <para>Der Eintrag
+ <literal>auth-group no-authentication</literal> erlaubt es
+ allen Initiatoren sich mit dem angegebenen Target zu verbinden
+ und <literal>portal-group pg0</literal> macht das Target über
+ die Portalgruppe <literal>pg0</literal> erreichbar.</para>
+
+ <para>Die nächste Sektion definiert die <acronym>LUN</acronym>.
+ Jede <acronym>LUN</acronym> wird dem Initiator als separate
+ Platte präsentiert. Für jedes Target können mehrere
+ <acronym>LUN</acronym>s definiert werden. Jede
+ <acronym>LUN</acronym> wird über eine Nummer identifiziert,
+ wobei <acronym>LUN</acronym> 0 verpflichtend ist. Die Zeile
+ mit dem Pfad <literal>path /data/target0-0</literal> definiert
+ den absoluten Pfad zu der Datei oder des zvols für die
+ <acronym>LUN</acronym>. Der Pfad muss vorhanden sein, bevor
+ &man.ctld.8; gestartet wird. Die zweite Zeile ist optional
+ und gibt die Größe der <acronym>LUN</acronym> an. Als
+ nächstes fügen Sie folgende Zeile in
+ <filename>/etc/rc.conf</filename> ein, um &man.ctld.8;
+ automatisch beim Booten zu starten:</para>
+
+ <programlisting>ctld_enable="YES"</programlisting>
+
+ <para>Um &man.ctld.8; jetzt zu starten, geben Sie dieses
+ Kommando ein:</para>
+
+ <screen>&prompt.root; <userinput>service ctld start</userinput></screen>
+
+ <para>Der &man.ctld.8;-Daemon liest beim Start
+ <filename>/etc/ctl.conf</filename>. Wenn diese Datei nach dem
+ Starten des Daemons bearbeitet wird, verwenden Sie folgenden
+ Befehl, damit die Änderungen sofort wirksam werden:</para>
+
+ <screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
+
+ <sect3>
+ <title>Authentifizierung</title>
+
+ <para>Die vorherigen Beispiele sind grundsätzlich unsicher, da
+ keine Authentifizierung verwendet wird und jedermann vollen
+ Zugriff auf alle Targets hat. Um für den Zugriff auf die
+ Targets einen Benutzernamen und ein Passwort vorauszusetzen,
+ ändern Sie die Konfigurationsdatei wie folgt:</para>
+
+ <programlisting>auth-group ag0 {
+ chap username1 secretsecret
+ chap username2 anothersecret
+}
+
+portal-group pg0 {
+ discovery-auth-group no-authentication
+ listen 0.0.0.0
+ listen [::]
+}
+
+target iqn.2012-06.com.example:target0 {
+ auth-group ag0
+ portal-group pg0
+ lun 0 {
+ path /data/target0-0
+ size 4G
+ }
+}</programlisting>
+
+ <para>Die Sektion <literal>auth-group</literal> definiert die
+ Benutzernamen und Passwörter. Um sich mit
+ <literal>iqn.2012-06.com.example:target0</literal> zu
+ verbinden, muss ein Initiator zuerst einen Benutzernamen
+ und ein Passwort angeben. Eine Suche nach Targets wird
+ jedoch immer noch ohne Authentifizierung gestattet. Um
+ eine Authentifizierung zu erfordern, setzen Sie
+ <literal>discovery-auth-group</literal> auf eine definierte
+ <literal>auth-group</literal> anstelle von
+ <literal>no-autentication</literal>.</para>
+
+ <para>In der Regel wird für jeden Initiator ein einzelnes
+ Target exportiert. In diesem Beispiel wird der Benutzername
+ und das Passwort direkt im Target-Eintrag festgelegt:</para>
+
+ <programlisting>target iqn.2012-06.com.example:target0 {
+ portal-group pg0
+ chap username1 secretsecret
+
+ lun 0 {
+ path /data/target0-0
+ size 4G
+ }
+}</programlisting>
+ </sect3>
+ </sect2>
+
+ <sect2 xml:id="network-iscsi-initiator">
+ <title>Einen <acronym>iSCSI</acronym>-Initiator
+ konfigurieren</title>
+
+ <note>
+ <para>Der in dieser Sektion beschriebene
+ <acronym>iSCSI</acronym>-Initiator wird seit &os;
+ 10.0-RELEASE unterstützt. Lesen Sie &man.iscontrol.8;, wenn
+ Sie den <acronym>iSCSI</acronym>-Initiator mit älteren
+ Versionen benutzen möchten.</para>
+ </note>
+
+ <para>Um den Initiator zu verwenden, muss zunächst ein
+ <acronym>iSCSI</acronym>-Daemon gestartet sein. Der
+ Daemon des Initiators benötigt keine Konfigurationsdatei. Um
+ den Daemon automatisch beim Booten zu starten, fügen Sie
+ folgende Zeile in <filename>/etc/rc.conf</filename>
+ ein:</para>
+
+ <programlisting>iscsid_enable="YES"</programlisting>
+
+ <para>Um &man.iscsid.8; jetzt zu starten, geben Sie dieses
+ Kommando ein:</para>
+
+ <screen>&prompt.root; <userinput>service iscsid start</userinput></screen>
+
+ <para>Die Verbindung mit einem Target kann mit, oder ohne eine
+ Konfigurationsdatei <filename>/etc/iscsi.conf</filename>
+ durchgeführt werden. Dieser Abschnitt beschreibt beide
+ Möglichkeiten.</para>
+
+ <sect3>
+ <title>Verbindung zu einem Target herstellen - ohne
+ Konfigurationsdatei</title>
+
+ <para>Um einen Initiator mit einem Target zu verbinden, geben
+ Sie die <acronym>IP</acronym>-Adresse des Portals und den
+ Namen des Ziels an:</para>
+
+ <screen>&prompt.root; <userinput>iscsictl -A -p <replaceable>10.10.10.10</replaceable> -t <replaceable>iqn.2012-06.com.example:target0</replaceable></userinput></screen>
+
+ <para>Um zu überprüfen, ob die Verbindung gelungen ist, rufen
+ Sie <command>iscsictl</command> ohne Argumente auf. Die
+ Ausgabe sollte in etwa wie folgt aussehen:</para>
+
+ <programlisting>Target name Target portal State
+iqn.2012-06.com.example:target0 10.10.10.10 Connected: da0</programlisting>
+
+ <para>In diesem Beispiel wurde die
+ <acronym>iSCSI</acronym>-Sitzung mit der
+ <acronym>LUN</acronym> <filename>/dev/da0</filename>
+ erfolgreich hergestellt. Wenn das Target
+ <literal>iqn.2012-06.com.example:target0</literal> mehr als
+ nur eine <acronym>LUN</acronym> exportiert, werden mehrere
+ Gerätedateien in der Ausgabe angezeigt:</para>
+
+ <screen>Connected: da0 da1 da2.</screen>
+
+ <para>Alle Fehler werden auf die Ausgabe und in die
+ Systemprotokolle geschrieben. Diese Meldung deutet
+ beispielsweise darauf hin, dass der &man.iscsid.8;-Daemon
+ nicht ausgeführt wird:</para>
+
+ <programlisting>Target name Target portal State
+iqn.2012-06.com.example:target0 10.10.10.10 Waiting for iscsid(8)</programlisting>
+
+ <para>Die folgende Meldung deutet auf ein Netzwerkproblem hin,
+ zum Beispiel eine falsche <acronym>IP</acronym>-Adresse oder
+ einen falschen Port:</para>
+
+ <programlisting>Target name Target portal State
+iqn.2012-06.com.example:target0 10.10.10.11 Connection refused</programlisting>
+
+ <para>Diese Meldung bedeutet, dass der Name des Targets falsch
+ angegeben wurde:</para>
+
+ <programlisting>Target name Target portal State
+iqn.2012-06.com.example:target0 10.10.10.10 Not found</programlisting>
+
+ <para>Diese Meldung bedeutet, dass das Target eine
+ Authentifizierung erfordert:</para>
+
+ <programlisting>Target name Target portal State
+iqn.2012-06.com.example:target0 10.10.10.10 Authentication failed</programlisting>
+
+ <para>Verwenden Sie diese Syntax, um einen
+ <acronym>CHAP</acronym>-Benutzernamen und ein Passwort
+ anzugeben:</para>
+
+ <screen>&prompt.root; <userinput>iscsictl -A -p <replaceable>10.10.10.10</replaceable> -t <replaceable>iqn.2012-06.com.example:target0</replaceable> -u <replaceable>user</replaceable> -s <replaceable>secretsecret</replaceable></userinput></screen>
+ </sect3>
+
+ <sect3>
+ <title>Verbindung mit einem Target herstellen - mit
+ Konfigurationsdatei</title>
+
+ <para>Wenn Sie für die Verbindung eine Konfigurationsdatei
+ verwenden möchten, erstellen Sie
+ <filename>/etc/iscsi.conf</filename> mit etwa folgendem
+ Inhalt:</para>
+
+ <programlisting>t0 {
+ TargetAddress = 10.10.10.10
+ TargetName = iqn.2012-06.com.example:target0
+ AuthMethod = CHAP
+ chapIName = user
+ chapSecret = secretsecret
+}</programlisting>
+
+ <para><literal>t0</literal> gibt den Namen der Sektion in der
+ Konfigurationsdatei an. Diser Name wird vom Initiator
+ benutzt, um zu bestimmen, welche Konfiguration verwendet
+ werden soll. Die anderen Einträge legen die Parameter fest,
+ die während der Verbindung verwendet werden.
+ <literal>TargetAddress</literal> und
+ <literal>TargetName</literal> müssen angegeben werden,
+ die restlichen sind optional. In diesen Beispiel wird
+ der <acronym>CHAP</acronym>-Benuztername und das Passwort
+ angegeben.</para>
+
+ <para>Um sich mit einem bestimmten Target zu verbinden, geben
+ Sie dessen Namen an:</para>
+
+ <screen>&prompt.root; <userinput>iscsictl -An <replaceable>t0</replaceable></userinput></screen>
+
+ <para>Um sich stattdessen mit allen definierten Targets aus
+ der Konfigurationsdatei zu verbinden, verwenden Sie:</para>
+
+ <screen>&prompt.root; <userinput>iscsictl -Aa</userinput></screen>
+
+ <para>Damit sich der Initiator automatisch mit allen Targets
+ aus <filename>/etc/iscsi.conf</filename> verbindet, fügen
+ Sie folgendes in <filename>/etc/rc.conf</filename>
+ hinzu:</para>
+
+ <programlisting>iscsictl_enable="YES"
+iscsictl_flags="-Aa"</programlisting>
+
+ </sect3>
+ </sect2>
+ </sect1>
</chapter>