Fedora 41
Sponsored Link

iSCSI : Configure Target (tgt)2024/11/01

 
Configure Storage Server with iSCSI.
This is the example of configuring iSCSI Target with scsi-target-utils. (tgt)
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  ] |
|     dlp.srv.world    +----------+----------+   node01.srv.world   |
|                      |                     |                      |
+----------------------+                     +----------------------+

[1] Install administration tools.
[root@dlp ~]#
dnf -y install scsi-target-utils
[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 disk image

[root@dlp ~]#
mkdir /var/lib/iscsi_disks

[root@dlp ~]#
dd if=/dev/zero of=/var/lib/iscsi_disks/disk01.img count=0 bs=1 seek=10G
[root@dlp ~]#
vi /etc/tgt/conf.d/target01.conf
# create new
# if you set some devices, add <target>-</target> and set the same way with follows
# naming rule : [ iqn.(year)-(month).(reverse of domain name):(any name you like) ]

<target iqn.2024-11.world.srv:dlp.target01>
    # provided device as a iSCSI target
    backing-store /var/lib/iscsi_disks/disk01.img
    # iSCSI Initiator's IQN you allow to connect
    initiator-name iqn.2024-11.world.srv:node01.initiator
    # authentication info ( set anyone you like for "username", "password" )
    incominguser username password
</target> 
[3] If SELinux is enabled, change SELinux Context.
[root@dlp ~]#
dnf -y install policycoreutils-python-utils
[root@dlp ~]#
chcon -R -t tgtd_var_lib_t /var/lib/iscsi_disks

[root@dlp ~]#
semanage fcontext -a -t tgtd_var_lib_t /var/lib/iscsi_disks

[4] If Firewalld is running, allow iSCSI Target service.
[root@dlp ~]#
firewall-cmd --add-service=iscsi-target

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[5] Start tgtd and verify status.
[root@dlp ~]#
systemctl enable --now tgtd

# show status

[root@dlp ~]#
tgtadm --mode target --op show

Target 1: iqn.2024-11.world.srv:dlp.target01
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /var/lib/iscsi_disks/disk01.img
            Backing store flags:
    Account information:
        username
    ACL information:
        ALL
        iqn.2024-11.world.srv:node01.initiator
Matched Content