From d17c1112238ab50e80aa049c0d071c73362e48d8 Mon Sep 17 00:00:00 2001 From: Bjoern Heidotting Date: Wed, 3 Feb 2016 19:49:59 +0000 Subject: 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 --- .../books/handbook/network-servers/chapter.xml | 363 ++++++++++++++++++++- 1 file changed, 362 insertions(+), 1 deletion(-) (limited to 'de_DE.ISO8859-1/books/handbook/network-servers') 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 --> Netzwerkserver @@ -95,6 +95,11 @@ syslogd, konfiguriert, um Protokolle von anderen Hosts zu akzeptieren. + + + Wissen, wie iSCSI eingerichtet + wird. + Dieses Kapitel setzt folgende Grundkenntnisse voraus: @@ -6432,4 +6437,360 @@ Logging to FILE /var/log/messages verhindern, dass lokale Benutzer darin herumschnüffeln. + + + + + iSCSI Initiator und Target Konfiguration + + iSCSI bietet die Möglichkeit, + Speicherkapazitäten über ein Netzwerk zu teilen. Im Gegensatz + zu NFS, das auf Dateisystemebene arbeitet, + funktioniert iSCSI auf + Blockgerätebene. + + In der iSCSI-Terminologie wird das + System, das den Speicherplatz zur Verfügung stellt, als + Target 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 ZFS formatiert ist, kann + ein zvol erstellt werden, welches dann als + iSCSI-Speicher verwendet werden kann. + + Die Clients, die auf den iSCSI-Speicher + zugreifen, werden Initiator genannt. Ihnen + steht der verfügbare Speicher als rohe, nicht formatierte + Festplatte, die auch als LUN bezeichnet wird, + zur Verfügung. Die Gerätedateien für die Festplatten erscheinen + in /dev/ und müssen separat formatiert und + eingehangen werden. + + Seit 10.0-RELEASE enthält &os; einen nativen, + kernelbasierten iSCSI + Target und Initiator. + Dieser Abschnitt beschreibt, wie ein &os;-System als Target oder + Initiator konfiguriert wird. + + + Ein <acronym>iSCSI</acronym>-Target konfigurieren + + + Ein natives iSCSI-Target wird seit + &os; 10.0-RELEASE unterstützt. Um iSCSI + mit älteren Versionen zu benutzen, installieren Sie ein + Target aus der Ports-Sammlung, beispielsweise + net/istgt. Dieses Kapitel beschreibt + nur das native Target. + + + Um ein iSCSI-Target zu konfigurieren, + erstellen Sie die Konfigurationsdatei + /etc/ctl.conf und fügen Sie eine Zeile + in /etc/rc.conf hinzu, um + sicherzustellen, dass &man.ctld.8; automatisch beim Booten + gestartet wird. Starten Sie dann den Daemon. + + Das folgende Beispiel zeigt eine einfache + /etc/ctl.conf. Eine vollständige + Beschreibung dieser Datei und der verfügbaren Optionen finden + Sie in &man.ctl.conf.5;. + + 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 + } +} + + Der erste Eintrag definiert die Portalgruppe + pg0. Portalgruppen legen fest, auf welchen + Netzwerk-Adressen der &man.ctld.8;-Daemon Verbindungen + entgegennehmen wird. Der Eintrag + discovery-auth-group no-authentication + zeigt an, dass jeder Initiator + iSCSI-Targets suchen darf, ohne sich + authentifizieren zu müssen. Die dritte und vierte Zeilen + konfigurieren &man.ctld.8; so, dass er auf allen + IPv4- (listen 0.0.0.0) + und IPv6-Adressen + (listen [::]) auf dem Standard-Port 3260 + lauscht. + + + Es ist nicht zwingend notwendig eine Portalgruppe zu + definieren, da es bereits eine integrierte Portalgruppe namens + default gibt. In diesem Fall ist der + Unterschied zwischen default und + pg0 der, dass bei + default eine Authentifizierung nötig ist, + während bei pg0 die Suche nach Targets + immer erlaubt ist. + + Der zweite Eintrag definiert ein einzelnes Target. Ein + Target hat zwei mögliche Bedeutungen: eine Maschine die + iSCSI bereitstellt, oder eine Gruppe von + LUNs. Dieses Beispiel verwendet die + letztere Bedeutung, wobei + iqn.2012-06.com.example:target0 der Name + des Targets ist. Dieser Name ist nur für Testzwecke geeignet. + Für den tatsächlichen Gebrauch ändern Sie + com.example auf einen echten, rückwärts + geschriebenen Domainnamen. 2012-06 steht + für das Jahr und den Monat, an dem die Domain erworben + wurde. target0 darf einen beliebigen + Wert haben und in der Konfigurationsdatei darf eine beliebige + Anzahl von Targets definiert werden. + + Der Eintrag + auth-group no-authentication erlaubt es + allen Initiatoren sich mit dem angegebenen Target zu verbinden + und portal-group pg0 macht das Target über + die Portalgruppe pg0 erreichbar. + + Die nächste Sektion definiert die LUN. + Jede LUN wird dem Initiator als separate + Platte präsentiert. Für jedes Target können mehrere + LUNs definiert werden. Jede + LUN wird über eine Nummer identifiziert, + wobei LUN 0 verpflichtend ist. Die Zeile + mit dem Pfad path /data/target0-0 definiert + den absoluten Pfad zu der Datei oder des zvols für die + LUN. Der Pfad muss vorhanden sein, bevor + &man.ctld.8; gestartet wird. Die zweite Zeile ist optional + und gibt die Größe der LUN an. Als + nächstes fügen Sie folgende Zeile in + /etc/rc.conf ein, um &man.ctld.8; + automatisch beim Booten zu starten: + + ctld_enable="YES" + + Um &man.ctld.8; jetzt zu starten, geben Sie dieses + Kommando ein: + + &prompt.root; service ctld start + + Der &man.ctld.8;-Daemon liest beim Start + /etc/ctl.conf. Wenn diese Datei nach dem + Starten des Daemons bearbeitet wird, verwenden Sie folgenden + Befehl, damit die Änderungen sofort wirksam werden: + + &prompt.root; service ctld reload + + + Authentifizierung + + 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: + + 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 + } +} + + Die Sektion auth-group definiert die + Benutzernamen und Passwörter. Um sich mit + iqn.2012-06.com.example:target0 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 + discovery-auth-group auf eine definierte + auth-group anstelle von + no-autentication. + + 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: + + target iqn.2012-06.com.example:target0 { + portal-group pg0 + chap username1 secretsecret + + lun 0 { + path /data/target0-0 + size 4G + } +} + + + + + Einen <acronym>iSCSI</acronym>-Initiator + konfigurieren + + + Der in dieser Sektion beschriebene + iSCSI-Initiator wird seit &os; + 10.0-RELEASE unterstützt. Lesen Sie &man.iscontrol.8;, wenn + Sie den iSCSI-Initiator mit älteren + Versionen benutzen möchten. + + + Um den Initiator zu verwenden, muss zunächst ein + iSCSI-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 /etc/rc.conf + ein: + + iscsid_enable="YES" + + Um &man.iscsid.8; jetzt zu starten, geben Sie dieses + Kommando ein: + + &prompt.root; service iscsid start + + Die Verbindung mit einem Target kann mit, oder ohne eine + Konfigurationsdatei /etc/iscsi.conf + durchgeführt werden. Dieser Abschnitt beschreibt beide + Möglichkeiten. + + + Verbindung zu einem Target herstellen - ohne + Konfigurationsdatei + + Um einen Initiator mit einem Target zu verbinden, geben + Sie die IP-Adresse des Portals und den + Namen des Ziels an: + + &prompt.root; iscsictl -A -p 10.10.10.10 -t iqn.2012-06.com.example:target0 + + Um zu überprüfen, ob die Verbindung gelungen ist, rufen + Sie iscsictl ohne Argumente auf. Die + Ausgabe sollte in etwa wie folgt aussehen: + + Target name Target portal State +iqn.2012-06.com.example:target0 10.10.10.10 Connected: da0 + + In diesem Beispiel wurde die + iSCSI-Sitzung mit der + LUN /dev/da0 + erfolgreich hergestellt. Wenn das Target + iqn.2012-06.com.example:target0 mehr als + nur eine LUN exportiert, werden mehrere + Gerätedateien in der Ausgabe angezeigt: + + Connected: da0 da1 da2. + + 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: + + Target name Target portal State +iqn.2012-06.com.example:target0 10.10.10.10 Waiting for iscsid(8) + + Die folgende Meldung deutet auf ein Netzwerkproblem hin, + zum Beispiel eine falsche IP-Adresse oder + einen falschen Port: + + Target name Target portal State +iqn.2012-06.com.example:target0 10.10.10.11 Connection refused + + Diese Meldung bedeutet, dass der Name des Targets falsch + angegeben wurde: + + Target name Target portal State +iqn.2012-06.com.example:target0 10.10.10.10 Not found + + Diese Meldung bedeutet, dass das Target eine + Authentifizierung erfordert: + + Target name Target portal State +iqn.2012-06.com.example:target0 10.10.10.10 Authentication failed + + Verwenden Sie diese Syntax, um einen + CHAP-Benutzernamen und ein Passwort + anzugeben: + + &prompt.root; iscsictl -A -p 10.10.10.10 -t iqn.2012-06.com.example:target0 -u user -s secretsecret + + + + Verbindung mit einem Target herstellen - mit + Konfigurationsdatei + + Wenn Sie für die Verbindung eine Konfigurationsdatei + verwenden möchten, erstellen Sie + /etc/iscsi.conf mit etwa folgendem + Inhalt: + + t0 { + TargetAddress = 10.10.10.10 + TargetName = iqn.2012-06.com.example:target0 + AuthMethod = CHAP + chapIName = user + chapSecret = secretsecret +} + + t0 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. + TargetAddress und + TargetName müssen angegeben werden, + die restlichen sind optional. In diesen Beispiel wird + der CHAP-Benuztername und das Passwort + angegeben. + + Um sich mit einem bestimmten Target zu verbinden, geben + Sie dessen Namen an: + + &prompt.root; iscsictl -An t0 + + Um sich stattdessen mit allen definierten Targets aus + der Konfigurationsdatei zu verbinden, verwenden Sie: + + &prompt.root; iscsictl -Aa + + Damit sich der Initiator automatisch mit allen Targets + aus /etc/iscsi.conf verbindet, fügen + Sie folgendes in /etc/rc.conf + hinzu: + + iscsictl_enable="YES" +iscsictl_flags="-Aa" + + + + -- cgit v1.2.3