ISCSI
ISCSI for dummies
Der Server (Target)
Kernelconfig
- Device Drivers →
- [M] CONFIG_TARGET_CORE (Generic Target Core Mod (TCM) and ConfigFS Infrastructure) →
- [M] CONFIG_ISCSI_TARGET (Linux-iSCSI.org iSCSI Target Mode Stack)
- [M] CONFIG_TCM_IBLOCK (TCM/IBLOCK Subsystem Plugin for Linux/BLOCK)
- [M] CONFIG_TCM_FILEIO (TCM/FILEIO Subsystem Plugin for Linux/VFS)
- [M] CONFIG_TCM_PSCSI (TCM/pSCSI Subsystem Plugin for Linux/SCSI)
- [M] CONFIG_TARGET_CORE (Generic Target Core Mod (TCM) and ConfigFS Infrastructure) →
WICHTIG: Diese Punkte müssen als Module gebaut werden.
Einrichten von Targets
Der Server - also das Gerät, welches die "Targets" zur Verfügung stellt, wird über targetcli gesteuert. Dieses Tool könnt ihr über euren Paketmanager beziehen.
Block-Device als Target einrichten:
targetcli starten (Tip: Es kann Tab-Completion):
$ sudo targetcli
In targetcli angekommen erstellt man zuerst einen "Backstore". Ich verwende exemplarisch sda1. Es kann aber auch jedes andere Blockdevice oder Partition sein.
/> cd /backstores/iblock /backstores/iblock> create my_blockdevice /dev/sda1 Generating a wwn serial. Created iblock storage object my_blockdevice using /dev/sda1. />
Anschließend wird das iSCSI-Target initialisiert:
/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.
Das "Portal" repräsentiert einen Netzwerkserver bei iSCSI und muss ebenfalls gestartet/angelegt werden:
/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.
Innerhalb dieses IQNs (dieser kryptische Name) wird nun eine LUN über iSCSI exportiert. Als letztes wird das LUN (der "Backstore") über iSCSI exportiert/verbunden
/iscsi/iqn.20...tpgt1/portals> cd ../luns /iscsi/iqn.20...tpgt1/luns> create /backstores/iblock/my_blockdevice Selected LUN 0. Successfully created LUN 0.
Zu guter letzt kann man die Config persistieren
/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 […]
Der Client (Initiator)
Kernelconfig
- Device Drivers → SCSI device support → SCSI low-level drivers →
- [M] CONFIG_ISCSI_TCP (iSCSI Initiator over TCP/IP)
WICHTIG: Dieser Punkt muss ebenfalls als Modul gebaut werden.