Stor IT Back - Ihr Speicherspezialist

Stor IT Back

iSCSI Software Initiator für Linux


Für Linux wird ebenfalls ein Software Initiator für iSCSI entwickelt. Die ersten Versionen waren im Juni 2005 verfügbar. Neben dem Initiator ist auch ein Target für iSCSI vorhanden.
Ab dem 2.6er Kernel werden Treiber und Daemon im Sourcecode unter GNU General Public License angeboten.
Sowohl der Initiator, wie auch das Target sind meist in den Bibliotheken der Distributionen enthalten. Ansonsten werden zur Kompilierung die Header-Files des genutzten Kernels, sowie einige Tools benötigt.
Damit kann auch für Linux die Welt von iSCSI ohne große Kosten erschlossen werden. Als Schnittstelle können die vorhandenen Netzwerkkarten (Ethernet Gigabit oder Ethernet 10 Gigabit) genutzt werden. Treiber und Deamon übernehmen die Umwandlung der SCSI- in iSCSI-Befehle und die Verpackung in Ethernet-Pakete.

In der /etc/iscsi.conf (je nach Distribution auch in anderen Verzeichnissen) lassen sich sämtlich Einstellungen für den Daemon vornehmen, welches Target soll verwendet werden, spezielle Einstellungen für TCP und iSCSI, sowie Multipath- und Failover-Konfigurationen.

In den meisten kommerziellen Distributionen ist ein fertiger iSCSI-Initiator enthalten. Meist mit einer komfortablen Administrationsoberfläche, die eine manuelle Bearbeitung der Konfiguration überflüssig macht.

Die Produktions-Pakete sind ausgereift und auch für Enterprise-Anwendungen zu empfehlen. Die kurze Zeit für die eventuelle Erstellung der Programme lohnt sich sicherlich.

Die Source-Codes lassen sich unter https://github.com/open-iscsi/open-iscsi oder https://sourceforge.net/projects/linux-iscsi/ downloaden. Dort finden sich auch Anleitungen und man-pages für Programme und Konfiguration.

Als Beispiel erfolgt die Installation des iSCSI-Initiators unter Debian mit
apt-get install open-iscsi
Es werden meist noch andere benötigte Pakete installiert. Nach erfolgreicher Installation befinden sich die Konfigurationsdateien unter /etc/iscsi/. Dies ist der initiatorname.iscsi und iscsid.conf. In der initiatorname.iscsi ist bei der Installation ein Default-Name eingetragen, dieser sollte entsprechend der eigenen Umgebung angepasst werden. Wird zum Beispiel die LUN auf dem iSCSI Storage nur für einen bestimmten Initiator freigegeben, so kann dies unter anderem durch den IQN vorgenommen werden. Weiterhin besteht auch die Möglichkeit, eine Freigabe (bzw. Mapping) nur für eine bestimmte IP-Adresse vorzunehmen.

In der iscsid.conf muss auf jeden Fall der Parameter "node.startup" von "manual" auf "automatic" geändert werden, ansonsten müsste der Initiator immer nach einem Reboot per Hand gestartet werden. Angaben zu CHAP-User und Passwort können hier auch gleich vorgegeben werden.

Das Haupttool für die Commandline-Administrations ist iscsiadm. Es folgt eine kurze Aufstellung der möglichen Parameter:

./iscsiadm --help
iscsiadm -m discoverydb [ -hV ] [ -d debug_level ] [-P printlevel] [ -t type -p ip:port -I ifaceN ... [ -Dl ] ] | [ [ -p ip:port -t type] [ -o operation ] [ -n name ] [ -v value ] [ -lD ] ]

iscsiadm -m discovery [ -hV ] [ -d debug_level ] [-P printlevel] [ -t type -p ip:port -I ifaceN ... [ -l ] ] | [ [ -p ip:port ] [ -l | -D ] ]

iscsiadm -m node [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ -S ] [ [ -T targetname -p ip:port -I ifaceN ] [ -l | -u | -R | -s] ] [ [ -o operation ] [ -n name ] [ -v value ] ]

iscsiadm -m session [ -hV ] [ -d debug_level ] [ -P printlevel] [ -r sessionid | sysfsdir [ -R | -u | -s ] [ -o operation ] [ -n name ] [ -v value ] ]

iscsiadm -m iface [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -I ifacename | -H hostno|MAC ] [ [ -o operation ] [ -n name ] [ -v value ] ] [ -C ping [ -a ip ] [ -b packetsize ] [ -c count ] [ -i interval ] ]

iscsiadm -m fw [ -d debug_level ] [ -l ]

iscsiadm -m host [ -P printlevel ] [ -H hostno|MAC ] [ [ -C chap [ -x chap_tbl_idx ] ] | [ -C flashnode [ -A portal_type ] [ -x flashnode_idx ] ] | [ -C stats ] ] [ [ -o operation ] [ -n name ] [ -v value ] ]

iscsiadm -k priority


Ein wichtiges Kommando ist iscsiadm -m discovery -t sendtargets -p x.y.z.a, welches die Targets auf der IP-Adresse x.y.z.a anzeigt. Es sollte dann ein Target mit dem IQN angezeigt werden.

Ist das Target identifiziert, so kann mit iscsiadm -m node -T iqn --login eine Verbindung mit dem Target aufgebaut werden. Wichtig ist bei einer CHAP Authentifizierung der richtige User und das passende Passwort in der iscsid.conf. Ansonsten wird die Anmeldung mit einem Authentifizierungsfehler abbrechen. Die iqn in dem node Befehl ist das Ergebnis aus dem discovery Aufruf.

Ist zum Beispiel eine Festplatten-LUN auf dem Target freigegeben, so wird dieses als "interne" Festplatte erkannt. Ein neues Device wird eingerichtet und dieses kann dann genutzt werden. So kann zum Beispiel ein Filesystem mit mkfs.ext4 /dev/sdx angelegt werden.


Angebote der Stor IT Back zum Thema

Angebot Dell EMC Unity XT 380
Dell EMC Unity XT 380 Unified Storage
FC / iSCSI und NAS RAID-System

Hybrid oder All Flash / Replikation
inkl. Installation und Einweisung
ab 16.924,00 €
zzgl. MwSt.
Angebot Netapp E2800
NetApp E2800 Fibre Channel / iSCSI / SAS RAID
16/32 Gb FC / 10/25 Gb iSCSI / 12 Gb SAS

mit SAS- / NL-SAS-Festplatten / SSD
Preis
bitte anfragen
Angebot Infortrend EonStor GS Serie
Infortrend EonStor GS Serie
Unified / Object Storage

mit 12/16/24 x SAS Einschüben (Hot Swap)
u.a. GS 3024BR, GS 4016S, GS 1012R/G
Preis
bitte anfragen
 
 
 
 
Download iSCSI Initiator Linux
Zurück zu iSCSI
Übersicht der Angebote
Kontakt zur Stor IT Back
Suche auf der Webseite