ISCSI: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
4.226 Bytes hinzugefügt ,  3. November 2015
keine Bearbeitungszusammenfassung
(Die Seite wurde neu angelegt: „===ISCSI for dummies=== ====Der Server (Target)==== =====Kernelconfig===== * Device Drivers → ** [M] CONFIG_TARGET_CORE (Generic Target Core Mod (TCM) and C…“)
 
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
*** [M] CONFIG_TCM_PSCSI (TCM/pSCSI Subsystem Plugin for Linux/SCSI)
WICHTIG: Diese Punkte <u>müssen</u> als Module gebaut werden.
 
CONFIG_TCM_IBLOCK wird benötigt, wenn man Block-Devices freigeben möchte<br>
CONFIG_TCM_FILEIO für Dateien<br>
CONFIG_TCM_PSCSI für "echte" SCSI-Geräte (z.B. CD-Laufwerk)<br>
 
=====Einrichten von Targets=====
Dieses Tool könnt ihr über euren Paketmanager beziehen.
 
'''Generell:'''
Entsprechend dem Gerät, welches ihr als Target einrichten wollt, muss das Modul geladen werden.
target_core_file, target_core_iblock oder target_core_pscsi.<br>
Der Backstore muss natürlich entsprechend im richtigen Ordner angelegt werden.
 
iblock in /backstores/iblock<br>
pscsi in /backstore/pscsi<br>
usw…
 
'''Block-Device als Target einrichten:'''
 
''targetcli'' starten (Tip: Es kann Tab-Completion):
<pre>
$ sudo targetcli
test
</pre>
 
In ''targetcli'' angekommen erstellt man zuerst einen "Backstore". Ich verwende exemplarisch sda1. Es kann aber auch jedes andere Blockdevice oder Partition sein.
<pre>
/> cd /backstores/iblock
/backstores/iblock> create my_blockdevice /dev/sda1
Generating a wwn serial.
Created iblock storage object my_blockdevice using /dev/sda1.
/>
</pre>
 
Anschließend wird das iSCSI-Target initialisiert:
<pre>
/backstores/iblock> cd /iscsi
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42.
Selected TPG Tag 1.
Successfully created TPG 1.
</pre>
 
Das "Portal" repräsentiert einen Netzwerkserver bei iSCSI und muss ebenfalls gestartet/angelegt werden:
<pre>
/iscsi> cd iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42/tpgt1/portals
/iscsi/iqn.20...tpgt1/portals> create
Using default IP port 3260
Automatically selected IP address 10.42.0.193.
Successfully created network portal 10.42.0.193:3260.
</pre>
 
Innerhalb dieses IQNs (dieser kryptische Name) wird nun eine LUN über iSCSI exportiert.
Als letztes wird das LUN (der "Backstore") über iSCSI exportiert/verbunden
<pre>
/iscsi/iqn.20...tpgt1/portals> cd ../luns
/iscsi/iqn.20...tpgt1/luns> create /backstores/iblock/my_blockdevice
Selected LUN 0.
Successfully created LUN 0.
</pre>
 
Damit es leichter wird, kann man noch den Demo-Mode anschalten. Dieser deaktiviert das Password und erlaubt RW-Zugriff auf euer Target. Also VORSICHTIG sein.
<pre>
/iscsi/iqn.20...42/tpgt1/luns> cd ..
/iscsi/iqn.20...382cc42/tpgt1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1
Parameter demo_mode_write_protect is now '0'.
Parameter authentication is now '0'.
Parameter generate_node_acls is now '1'.
Parameter cache_dynamic_acls is now '1'.
</pre>
 
Zu guter letzt kann man die Config persistieren
<pre>
/iscsi/iqn.20...tpgt1/luns> cd /
/> saveconfig
WARNING: Saving sulfur current configuration to disk will overwrite your boot settings.
The current target configuration will become the default boot config.
Are you sure? Type 'yes': yes
[…]
/> exit
</pre>
 
** [M] CONFIG_ISCSI_TCP (iSCSI Initiator over TCP/IP)
WICHTIG: Dieser Punkt muss ebenfalls als Modul gebaut werden.
 
=====Target mit dem Client verbinden=====
Auf dem Client wird open-iscsi verwendet, um Targets zu verbinden. Dies kann ebenfalls über den Paketmanager installiert werden.
 
Zuerst muss der iscsid gestartet werden:
<pre>
root@workstation ~ # /etc/init.d/iscsid start
* Checking Open-iSCSI configuration ... [ ok ]
* Starting iscsid ... [ ok ]
* Setting up iSCSI targets ...
iscsiadm: No records found
</pre>
 
Dann kann der Server nach Targets "abgesucht" werden
<pre>
root@workstation ~ # iscsiadm -m discovery -t sendtargets -p 10.42.0.193:3260
10.42.0.193:3260,1 iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42
</pre>
 
Dabei sollte der IQN des Targets zurückgegeben werden. Diesen verwendet man anschließend um sich zu verbinden:
<pre>
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42 -p 10.42.0.193:3260 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42, portal: 10.42.0.193,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.sulfur.x8664:sn.46326382cc42, portal: 10.42.0.193,3260] successful.
</pre>
 
Nun ist das Gerät als vollwertiges Block-Device unter eurem Client verfügbar. lsblk zeigt das neue Device auch:
<pre>
root@workstation ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[…]
sdc 8:32 0 100M 0 disk
</pre>
 
====Mehr Doku====
Mehr Doku gibts [http://linux-iscsi.org/wiki/ISCSI hier] und [http://www.linux-iscsi.org/Doc/LIO%20Admin%20Manual.pdf hier].
 
 
[[Category:Anleitungen]]
33

Bearbeitungen

Navigationsmenü