Ein iSCSI-Initiator, auch Client genannt, kann zur Verbindung zu einem beliebigen iSCSI-Ziel verwendet werden. Dies ist nicht auf die oben erläuterte iSCSI-Ziellösung beschränkt. Die Konfiguration des iSCSI-Initiators umfasst zwei wesentliche Schritte: das Erkennen verfügbarer iSCSI-Ziele und das Einrichten einer iSCSI-Sitzung. Beides kann mit YaST ausgeführt werden.
Die Konfiguration ist in drei Registerkarten gegliedert. Über die Registerkarte iSNS
-Server für die Verwendung mit dem Verzeichnis festzulegen. Der Standardport für iSNS
ist 3205
. Der Karteireiter gibt einen Überblick über die aktuell verbundenen iSCSI-Ziele. Wie der Karteireiter bietet er eine Option für das Hinzufügen neuer Ziele zum System. ist die Registerkarte, mit der begonnen wird. Sie bietet die Möglichkeit, iSCSI-Ziele im Netzwerk zu ermitteln.
Wählen Sie
, um das entsprechende Dialogfeld zu öffnen.Geben Sie die IP-Adresse ein und ändern Sie den Port, falls erforderlich.
Fügen Sie bei Bedarf die
oder Authentifizierung hinzu.Starten Sie die Ermittlung, indem Sie auf
klicken.Verwenden Sie nach einer erfolgreichen Ermittlung
, um das Ziel zu aktivieren. Sie werden aufgefordert, Authentifizierungsinformationen für die Verwendung des ausgewählten iSCSI-Ziels einzugeben. beendet die Konfiguration. Wenn alles korrekt ausgeführt wurde, wird das Ziel nun in angezeigt.Das virtuelle iSCSI-Gerät ist nun verfügbar. Finden Sie das tatsächliche Gerät mit lsscsi:
lsscsi [1:0:0:0] disk IET VIRTUAL-DISK 0 /dev/sda
Sowohl die Ermittlung als auch die Konfiguration von iSCSI-Verbindungen erfordert ein laufendes iscsid. Beim ersten Ausführen der Ermittlung wird die interne Datenbank des iSCSI-Initiators im Verzeichnis /var/lib/open-iscsi
angelegt.
Wenn Ihre Ermittlung durch ein Passwort geschützt ist, geben Sie die Authentifizierungsinformation für iscsid an. Da die interne Datenbank bei der ersten Ermittlung nicht existiert, kann sie zu diesem Zeitpunkt nicht benutzt werden. Stattdessen muss die Konfigurationsdatei /etc/iscsid.conf
so bearbeitet werden, dass die Information geliefert wird. Um Ihre Passwortinformation für die Ermittlung anzugeben, fügen Sie die folgenden Zeilen an das Ende von /etc/iscsid.conf
:
discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = <username> discovery.sendtargets.auth.password = <password>
Die Ermittlung speichert alle empfangenen Werte in einer internen dauerhaften Datenbank. Zusätzlich zeigt sie alle ermittelten Ziele an. Führen Sie diese Ermittlung aus mit iscsiadm -m discovery --type=st --portal=<targetip>
. Die Ausgabe sollte wie folgt aussehen:
149.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
Um die verfügbaren Ziele auf einem iSNS
-Server zu ermitteln, verwenden Sie das Kommando iscsiadm --mode discovery --type isns --portal <Ziel-IP>
Für jedes Ziel, das auf dem iSCSI-Ziel definiert ist, wird eine Zeile angezeigt. Weitere Informationen zu den gespeicherten Daten erhalten Sie in Abschnitt 12.2.4, „Die iSCSI-Client-Datenbanken“.
Die Spezialoption --login
von iscsiadm erstellt alle erforderlichen Geräte:
iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --login
Die neu generierten Geräte werden in der Ausgabe von lsscsi aufgeführt und per "mount" (Einhängen) kann auf sie zugegriffen werden.
Der LVM-Start wird von udev unterstützt, damit LVM-Volume-Gruppen automatisch über udev aktiviert werden, sobald alle erforderlichen physischen Volumes erkannt wurden.
Die automatische LVM-Zusammenstellung in udev verwendet das udev-Hilfeprogramm Sammlung. Dieses Programm nimmt als erstes Argument eine abstrakte zu überprüfende ID
an, gefolgt von einer Liste von Komponenten-IDs. Sobald dieses Programm mit den einzelnen Komponenten-IDs als erstes Argument aufgerufen wurde, gibt es 0 zurück.
Somit werden für die automatische Zusammenstellung die UUIDs der physischen Volumes für die vorhandene Volume-Gruppe als Argumentliste für Sammlung registriert. udev (oder vielmehr vol_id) kann die UUID des physischen Volumes auf einem Gerät erkennen, wodurch diese als das erste Argument an Sammlung weitergeleitet werden kann.
Sobald Sammlung mit allen UUIDs der physischen Volumes aufgerufen wurde (d.h., udev hat Ereignisse für alle Komponentengeräte erhalten), wird die nächste Regel ausgelöst, wodurch nur vgchange -a y <vgname>
aufgerufen wird, und die Volume-Gruppe wird aktiviert.
Verwenden Sie das Skript /usr/share/doc/packages/lvm2/lvm-vg-to-udev-rules.sh
. Es nimmt als Argument die Volume-Gruppe an, die Sie automatisch starten möchten. Dieses Skript generiert die erforderlichen udex-Regeln. Starten Sie nun iSCSI neu, um die Volume-Gruppen zu aktivieren. Wenn das Array beim Booten automatisch gestartet werden soll, müssen Sie die iSCSI-Komponentengeräte auf Automatisch
umschalten, damit sich der Initiator während des Boot-Vorgangs automatisch beim Ziel anmeldet.
Alle vom iSCSI-Initiator ermittelten Informationen werden in zwei Datenbankdateien gespeichert, die sich in /var/lib/open-iscsi
befinden. Es gibt eine Datenbank für die Ermittlung von Zielen und eine für die ermittelten Knoten. Beim Zugriff auf eine Datenbank müssen Sie zuerst wählen, ob Sie Ihre Daten aus der Ermittlungs- oder der Knoten-Datenbank beziehen möchten. Das erledigen Sie mit den Parametern -m discovery
und -m node
von iscsiadm. Wenn Sie iscsiadm mit nur einem dieser Parameter verwenden, erhalten Sie eine Übersicht über die gespeicherten Datensätze:
iscsiadm -m discovery 149.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
Der Zielname in diesem Beispiel lautet iqn.2006-02.com.example.iserv:systems
. Dieser Name ist für alle Aktionen erforderlich, die sich auf diese speziellen Daten beziehen. Um den Inhalt des Datensatzes mit der ID iqn.2006-02.com.example.iserv:systems
zu untersuchen, verwenden Sie das folgende Kommando:
iscsiadm -m node --targetname iqn.2006-02.com.example.iserv:systems node.name = iqn.2006-02.com.example.iserv:systems node.transport_name = tcp node.tpgt = 1 node.active_conn = 1 node.startup = manual node.session.initial_cmdsn = 0 node.session.reopen_max = 32 node.session.auth.authmethod = CHAP node.session.auth.username = joe node.session.auth.password = ******** node.session.auth.username_in = <empty> node.session.auth.password_in = <empty> node.session.timeo.replacement_timeout = 0 node.session.err_timeo.abort_timeout = 10 node.session.err_timeo.reset_timeout = 30 node.session.iscsi.InitialR2T = No node.session.iscsi.ImmediateData = Yes ....
Um den Wert einer dieser Variablen zu bearbeiten, verwenden Sie den Befehl iscsiadm mit der Option update
. Wenn iscsid sich beispielsweise bei seiner Initialisierung beim iSCSI-Ziel anmelden soll, setzen Sie die Variable node.startup
auf den Wert automatic
:
iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --op=update --name=node.startup --value=automatic
Entfernen Sie veraltete Datensätze mit der Operation delete
. Wenn das Ziel iqn.2006-02.com.example.iserv:systems
kein gültiger Datensatz mehr ist, löschen Sie diesen Datensatz mit dem Kommando iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --op=delete
. Verwenden Sie diese Option mit Vorsicht, denn der Datensatz wird gelöscht, ohne dass Sie aufgefordert werden, das Löschen zu bestätigen.
Um eine Liste aller gefundenen Ziele anzuzeigen, führen Sie das Kommando iscsiadm -m node aus.
Das iSCSI-Protokoll ist schon mehrere Jahre verfügbar. Es gibt viele Reviews und zusätzliche Dokumentation, die iSCSI mit SAN-Lösungen vergleicht, Leistungs-Benchmarks testet oder einfach Hardwarelösungen beschreibt. Wichtige Seiten für weitere Information zu open-iscsi:
http://www.open-iscsi.org/
http://www.open-iscsi.org/cgi-bin/wiki.pl
http://www.novell.com/coolsolutions/appnote/15394.html
Es steht auch einige Online-Dokumentation zur Verfügung. Siehe die r von iscsiadm, iscsid, ietd.conf
und ietd sowie die Beispiel-Konfigurationsdatei /etc/iscsid.conf
.