- Configure Target (Targetcli)
- Configure iSCSI Target (tgt)
- Configure iSCSI Initiator
Configure Storage Server with iSCSI.
Storage server with iSCSI on network is called iSCSI Target, Client Host that connects to iSCSI Target is called iSCSI Initiator.
This example is based on the environment like follows.
+----------------------+ | +----------------------+
| [ iSCSI Target ] |10.0.0.30 | 10.0.0.51| [ iSCSI Initiator ] |
| iscsi.srv.local +----------+----------+ client.srv.local |
| | | |
+----------------------+ +----------------------+
[1] Install administration tool.
root@iscsi:~# apt -y install targetcli-fb
[2] Configure iSCSI Target.
For example, Create an disk-image under the [/var/lib/iscsi_disks] directory and set it as a SCSI device.
# create a directory
root@iscsi:~# mkdir /var/lib/iscsi_disks
# enter the admin console
root@iscsi:~# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> cd backstores/fileio
# create a disk-image with the name [disk01] on [/var/lib/iscsi_disks/disk01.img] with 10G
/backstores/fileio> create disk01 /var/lib/iscsi_disks/disk01.img 10G
Created fileio disk01 with size 10737418240
/backstores/fileio> cd /iscsi
# create a target
# naming rule : [ iqn.(year)-(month).(reverse of domain name):(any name you like) ]
/iscsi> create iqn.2022-10.local.srv:iscsi.target01
Created target iqn.2022-10.local.srv:iscsi.target01.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2022-10.local.srv:iscsi.target01/tpg1/luns
# set LUN
/iscsi/iqn.20...t01/tpg1/luns> create /backstores/fileio/disk01
Created LUN 0.
/iscsi/iqn.20...t01/tpg1/luns> cd ../acls
# set ACL (it's the IQN of an initiator you permit to connect)
/iscsi/iqn.20...t01/tpg1/acls> create iqn.2022-10.local.srv:client.initiator01
Created Node ACL for iqn.2022-04.local.srv:client.initiator01
Created mapped LUN 0.
/iscsi/iqn.20...t01/tpg1/acls> cd iqn.2022-10.local.srv:client.initiator01
# set UserID and Password for authentication
/iscsi/iqn.20...w.initiator01> set auth userid=username
Parameter userid is now 'username'.
/iscsi/iqn.20...w.initiator01> set auth password=password
Parameter password is now 'password'.
/iscsi/iqn.20...w.initiator01> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/rtslib-fb-target/saveconfig.json
# after configuration above, the target enters in listening like follows
root@iscsi:~# ss -napt | grep 3260
LISTEN 0 256 0.0.0.0:3260 0.0.0.0:*
root@iscsi:~# systemctl enable rtslib-fb-targetctl