Date: Wed, 3 Feb 2016 19:49:59 +0000 (UTC) From: Bjoern Heidotting <bhd@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48147 - head/de_DE.ISO8859-1/books/handbook/network-servers Message-ID: <201602031949.u13Jnxdl067198@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bhd Date: Wed Feb 3 19:49:59 2016 New Revision: 48147 URL: https://svnweb.freebsd.org/changeset/doc/48147 Log: 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 Modified: head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml Modified: head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml ============================================================================== --- head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml Wed Feb 3 19:44:50 2016 (r48146) +++ head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml Wed Feb 3 19:49:59 2016 (r48147) @@ -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</scree 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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602031949.u13Jnxdl067198>