Configuring iSCSI Share on Linux
iSCSI Directory Introduction
/backstores/block is the location where local shared devices are stored.
/iscsi/<target>/tpg1/luns stores the shared resource devices that have been added to the target.
/iscsi/<target>/tpg1/acls is used to store the names of the clients that have access to the shared storage resources.
/iscsi/<target>/tpg1/portals is used to specify the listening IP address and port that the client can access.
iSCSI Target
Install targetcli package.
RHEL 7 Fedora 42
mkdir /var/lib/iscsi_disksyum -y install targetcli systemctl enable target --now firewall-cmd --add-service=iscsi-target --permanent firewall-cmd --reload targetcli
sudo mkdir /var/lib/iscsi_diskssudo dnf -y install targetclisudo systemctl enable target --nowsudo firewall-cmd --add-service=iscsi-target --permanentsudo firewall-cmd --reloadsudo targetcli
Create a fileio disk image.
/> /backstores/fileio create disk01 /var/lib/iscsi_disks/disk01.img 20G
Create Target.
Set LUN.
/> /iscsi/iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61/tpg1/luns create /backstores/fileio/disk01
Add the Initiator IQN to ACLs.
/> /iscsi/iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61/tpg1/acls create iqn.1988-12.com.oracle:76176a2a9c9 /> /iscsi/iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61/tpg1/acls create iqn.1988-12.com.oracle:4a97f56359c
The Initiator IQN in /etc/iscsi/initiatorname.iscsi file.
(Option) Enable authentication.
/> /iscsi/iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61/tpg1 set attribute authentication=1 /> /iscsi/iqn.2003-01.org.linux-iscsi.fedora.x8664:sn.bc159853bc27/tpg1/acls/iqn.1994-05.com.redhat:f59e329faae set auth userid=admin /> /iscsi/iqn.2003-01.org.linux-iscsi.fedora.x8664:sn.bc159853bc27/tpg1/acls/iqn.1994-05.com.redhat:f59e329faae set auth password=password
Save and exit.
Restart target service.
iSCSI Initiator
Install iscsi-initiator-utils package.
RHEL 7
yum -y install iscsi-initiator-utils systemctl enable --now iscsid.service
Set IQN.
sed -i 's/#//' /etc/iscsi/initiatorname.iscsi
(Option) Set authentication.
cat >> /etc/iscsi/iscsid.conf <<EOF # Added by sakura node.session.auth.authmethod = CHAP node.session.auth.username = admin node.session.auth.password = password EOF
Discovery target.
iscsiadm -m discovery -t st -p 192.168.184.129:3260 iscsiadm -m node -o show
Login to target.
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61 -p 192.168.184.129:3260 --login
Show attached device.
~]# lsscsi -s [0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda 64.4GB [3:0:0:0] cd /dvd NECVMWar VMware SATA CD00 1.00 /dev/sr0 12.1GB [33:0:0:0] disk LIO-ORG disk01 4.0 /dev/sdb 21.4GB ~]# fdisk -l /dev/sdb Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 8388608 byte
Logout from target.
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.rhel-7.x8664:sn.f732029a5d61 -u rm -rf /var/lib/iscsi/nodes/*rm -rf /var/lib/iscsi/send_targets/*
Troubleshooting
Issue: ISCSI_ERR_TCP_CONN_CLOSE
Mar 5 10:19:27 rac2 iscsid: iscsid: Kernel reported iSCSI connection 1:0 error (1020 - ISCSI_ERR_TCP_CONN_CLOSE: TCP connection closed) state (3) Mar 5 10:19:27 rac2 iscsid: iscsid: re-opening session 1 (reopen_cnt 0) Mar 5 10:19:27 rac2 iscsid: iscsid: disconnecting conn 0x559d5f864e90, fd 6 Mar 5 10:19:29 rac2 iscsid: iscsid: Poll was woken by an alarm Mar 5 10:19:29 rac2 iscsid: iscsid: re-opening session 1 (reopen_cnt 0) Mar 5 10:19:29 rac2 iscsid: iscsid: connecting to 192.168.184.10:3260 Mar 5 10:19:29 rac2 iscsid: iscsid: connected local port 61474 to 192.168.184.10:3260 Mar 5 10:19:29 rac2 iscsid: iscsid: login response status 0000 Mar 5 10:19:29 rac2 iscsid: iscsid: deleting a scheduled/waiting thread! Mar 5 10:19:29 rac2 iscsid: iscsid: connection1:0 is operational after recovery (1 attempts) Mar 5 10:19:31 rac2 kernel: connection1:0: detected conn error (1020)
Initiator IQN conflict.
Apr 24 00:24:27 pacemaker02 iscsid: iscsid: conn 0 login rejected: initiator failed authorization with target Apr 24 00:24:25 pacemaker02 iscsid: iscsid: Kernel reported iSCSI connection 1:0 error (1020 - ISCSI_ERR_TCP_CONN_CLOSE: TCP connection closed) state (1) Apr 24 00:24:25 pacemaker02 iscsid: iscsid: conn 0 login rejected: initiator failed authorization with target
After changing the IQN, it is impossible to connect to the target.
~]# iscsiadm -m session -P 3 iSCSI Transport Class version 2.0-870 version 6.2.0.874-17 Target: iqn.2003-01.org.linux-iscsi.fedora.x8664:sn.668e529b388c (non-flash) Current Portal: 192.168.184.10:3260,1 Persistent Portal: 192.168.184.10:3260,1 ********** Interface: ********** Iface Name: default Iface Transport: tcp Iface Initiatorname: iqn.2003-01.org.linux-iscsi.fedora.x8664:sn.668e529b388c:xsk Iface IPaddress: <empty> Iface HWaddress: <empty> Iface Netdev: <empty> SID: 1 iSCSI Connection State: TRANSPORT WAIT iSCSI Session State: FREE Internal iscsid Session State: REOPEN ********* Timeouts: ********* Recovery Timeout: 120 Target Reset Timeout: 30 LUN Reset Timeout: 30 Abort Timeout: 15 ***** CHAP: ***** username: <empty> password: ******** username_in: <empty> password_in: ******** ************************ Negotiated iSCSI params: ************************ HeaderDigest: None DataDigest: None MaxRecvDataSegmentLength: 262144 MaxXmitDataSegmentLength: 262144 FirstBurstLength: 65536 MaxBurstLength: 262144 ImmediateData: Yes InitialR2T: Yes MaxOutstandingR2T: 1 ************************ Attached SCSI devices: ************************ Host Number: 34 State: running
The Iface Initiatorname not update, reboot iSCSI initiator server.