Configuring and Managing iSCSI Storage
iSCSI (Internet Small Computer Systems Interface) is a storage networking protocol
that transmits SCSI commands over IP networks, allowing Linux systems to access
remote block storage as if it were a local physical hard drive.
iSCSI runs over existing Ethernet infrastructure and does not require costly dedicated storage hardware.
This makes it a cost-effective solution to consolidate storage. It also delivers
high-performance, low-latency block-level access, ideal for virtualized environments
and enterprise databases. On SUSE Linux, iSCSI uses the kernel-level LIO target
(targetcli) on the storage server and the Open-iSCSI initiator
(iscsiadm) on the client.
- REQUIREMENTS
Linux fundamentals: Understanding basic Linux commands, file permissions, directory structures and use of the command line.
Networking fundamentals: Understanding how IP addresses and subnets work, as iSCSI relies on your local network to find the storage. It also helps to know that iSCSI uses TCP Port 3260 to communicate.
Storage fundamentals: Understanding the difference between file-level storage (like a folder on Google Drive) and block-level storage (like a raw, unformatted hard drive), as iSCSI is strictly block-level.
1 What is iSCSI and how does it work? #
iSCSI is a networking protocol that enables the transmission of SCSI commands over standard IP networks. It enables a host system (the initiator) to access remote block-level storage on a server (the target) using standard Ethernet cables and switches. The client operating system formats and manages the assigned remote disk space—known as a Logical Unit Number (LUN)—using native file systems like Btrfs, XFS or ext4.
By wrapping storage-level data blocks into standard TCP/IP packets, it bridges the gap between local storage performance and network flexibility, using existing Ethernet infrastructure like switches and cables rather than expensive, specialized hardware. In an iSCSI setup, the initiator connects to a target to claim a portion of disk space known as a LUN (Logical Unit Number), which the client can then format and manage with its own native file system. Note that LU (Logical Unit) is the data container or virtual disk and LUN (Logical Unit Number) is the numerical address of the container. Linux iSCSI provides iSCSI initiator and iSCSI LIO (Linux-IO) target software for connecting Linux servers to central storage systems.
1.1 iSCSI core architecture and components #
The iSCSI architecture relies on two primary entities: the initiator (the client requesting storage) and the target (the server serving storage). Storage capacity is presented as LUNs.
In a physical iSCSI environment, the initiator is the server’s software that requests data, the LIO target is the physical storage appliance that hosts the data and the LUN (Logical Unit Number) represents the specific physical disk capacity assigned to the server.
The iSCSI initiator: The initiator is the physical server that needs to consume the storage. It initiates the conversation with the target.
HBA (host bus adapter): While you can use a standard network card, a physical iSCSI HBA is a dedicated expansion card installed in the server's PCIe slot. It contains its own processor to handle storage traffic and prevents the server’s main CPU from becoming overwhelmed.
Physical ports: These are the dedicated connection points on the server used exclusively for storage traffic to ensure low latency and high throughput.
The iSCSI LIO target: The target is the physical hardware device that houses the data. LIO (Linux-IO) is the standard, open-source storage enterprise-grade target for the Linux kernel.
The LUN: While a LUN is a logical identifier, it directly corresponds to the physical disk resources allocated to a server.
Physical disk groups: A LUN is often a physical collection of disks bound together in a RAID configuration.
The drive to the OS: From the server's perspective, the LUN is treated as a physical local hard drive. You can format, partition and install files on it just like a drive plugged directly into the motherboard.
Physical capacity: The size of the LUN is limited by the number of physical disks installed in the target array.
1.2 Key technical characteristics of remote iSCSI storage #
The following are some of the common characteristics of iSCSI:
Block-level access: Unlike a network share where you see files, with iSCSI, your system sees raw sectors. This allows you to format the remote drive with any file system such as NTFS, ReFS, or ext4.
Distance and flexibility: The storage can be in a server rack across the room or in a data center across the city. Because iSCSI uses block-level storage, the system treats this network-attached storage exactly like a local hard drive. When traversing these distances, security is maintained by enforcing CHAP for secure authentication between the system and the storage target, alongside IPsec to encrypt the data packets in transit.
Low latency requirement: Because the OS thinks the drive is local, it expects fast responses. This is why remote iSCSI usually requires a high-speed network ( preferably 10Gbps or higher).
1.3 What are the main use cases for iSCSI storage? #
The common use cases for iSCSI include:
Virtualization: Servers running VMware or Hyper-V store virtual machines on remote iSCSI targets so that if one physical server dies, another can immediately take over the disk over the network.
Database hosting: High-performance databases like SQL Server or Oracle require block-level access to manage data placement and logging. Since iSCSI presents itself as a local physical disk rather than a shared folder, it satisfies the strict technical requirements of database software while keeping the data on a secure and centralized server.
Consolidated backup and disaster recovery: iSCSI allows organizations to centralize backups from various machines onto one large and manageable storage array. It also supports diskless booting, where a server with no internal hard drive can load its entire operating system directly from a remote iSCSI target, making hardware replacement much faster.
External storage array integration: SLES 16 connects to high-performance external storage systems, like NetApp, to centralize data management over iSCSI. Instead of using internal drives, administrators provision network-based virtual disks (LUNs) that SUSE Linux Enterprise Server 16 handles via the
open-iscsiframework. The OS leverages kernel multi-queueing for low-latency throughput and usesmultipath-toolsto combine multiple network paths for redundancy. This setup eliminates single points of failure, allowing the remote storage to behave like a local disk that can be formatted with Btrfs or XFS and scaled dynamically without downtime.
2 Understanding targetcli and iscsiadm command-line utilities #
The iSCSI framework relies on two primary command-line utilities:
targetcli and iscsiadm. Together, they
provide the functionality required to configure iSCSI targets, discover
available storage resources, establish connections between initiators and
targets, and manage iSCSI storage over IP networks.
While they both facilitate the transmission of SCSI commands over IP networks, they
operate on opposite ends of the connection. targetcli
is the administration interface for the Linux-IO (LIO) target subsystem,
used on the target (server) to define, export and manage physical or
virtual storage resources. In contrast, iscsiadm is
the primary utility of the Open-iSCSI project, used on the initiator
(client) to discover, log into, and manage remote iSCSI targets over an IP network.
2.1 Using the targetcli utility to export storage #
The targetcli tool is the primary command-line administration tool used to configure and manage the LIO (Linux-IO) target subsystem, which is the standard open-source storage target for the Linux kernel.
It operates as an interactive shell with a hierarchical file-system-like structure and allows system administrators to export local storage resources—such as physical disks, files, or LVM (Logical Volumes) to remote clients via various fabrics, most notably iSCSI.
It provides a unified interface to define back stores, creates IQNs (iSCSI Qualified Names), and establishes ACLs (Access Control Lists).
Similar to a conventional shell, you can traverse the targetcli functional hierarchy using the cd command and
list contents with the ls command. While each directory has its own set of commands, these commands that are available in
all directories. You can use the help command in any directory to view a
list of available commands or information about any command in particular.
The targetcli tool is part of the
targetcli-fb package. This package is available in the
official SUSE Linux Enterprise Server software repository, and it can be installed using
the following command:
>sudozypper install targetcli-fb
To switch to the targetcli shell, run targetcli as
root:
>sudotargetcli
You can then run the ls command to see the default
configuration.
/> ls o- / ............................ [...] o- backstores ................. [...] | o- block ..... [Storage Objects: 0] | o- fileio .... [Storage Objects: 0] | o- pscsi ..... [Storage Objects: 0] | o- ramdisk ... [Storage Objects: 0] | o- rbd ....... [Storage Objects: 0] o- iscsi ............... [Targets: 0] o- loopback ............ [Targets: 0] o- vhost ............... [Targets: 0] o- xen-pvscsi .......... [Targets: 0] />
targetcli supports the following back-ends:
fileio, local image fileblock, block storage on a dedicated disk or partitionpscsi, SCSI pass-through devicesramdisk, memory-based back-endrbd, Ceph RADOS block devices
/backstores/fileio create test-disc /alt/test.img 1G
This creates a 1 GB test.img image in the
specified location (in this case /alt). Run
ls, and you should see the following result:
/> ls o- / ........................................................... [...] o- backstores ................................................ [...] | o- block .................................... [Storage Objects: 0] | o- fileio ................................... [Storage Objects: 1] | | o- test-disc ... [/alt/test.img (1.0GiB) write-back deactivated] | | o- alua ...... .......................... [ALUA Groups: 1] | | o- default_tg_pt_gp .... [ALUA state: Active/optimized] | o- pscsi .................................... [Storage Objects: 0] | o- ramdisk .................................. [Storage Objects: 0] | o- rbd ...................................... [Storage Objects: 0] o- iscsi .............................................. [Targets: 0] o- loopback ........................................... [Targets: 0] o- vhost .............................................. [Targets: 0] o- xen-pvscsi ......................................... [Targets: 0] />
2.2 Using the iscsiadm utility to manage initiator connections #
The iscsiadm tool is used in Linux environments to manage and administer the Open-iSCSI implementation, acting as the primary interface for configuring and managing iSCSI connections.
It allows administrators to discover targets on a network, log in or out of specific storage portals, and manage a local database of persistent iSCSI nodes.
By communicating with the iscsid daemon, it facilitates the mapping of remote block storage devices over an IP network, making remote disks appear as local SCSI devices, such as /dev/sdb, to the operating system.
While iscsiadm operations logically require a running iscsid daemon to execute, you do not need to start it manually because systemd socket activation iscsid.socket automatically spawns the iscsid service on demand.
When running the discovery the first time, the internal
database of the iSCSI initiator is created in the directory
/var/lib/iscsi/.
If your discovery is password-protected, provide the authentication
information to iscsid. Because the internal database does not exist when
doing the first discovery, it cannot be used now. Instead, the
configuration file /etc/iscsid.conf must be edited to
provide the information. To add your password information for the
discovery, add the following lines to the end of
/etc/iscsid.conf:
discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = USERNAME discovery.sendtargets.auth.password = PASSWORD
The discovery stores all received values in an internal persistent database. In addition, it displays all detected targets. Run this discovery with the following command:
>sudoiscsiadm-m discovery --type=st --portal=TARGET_IP10.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
For each target defined on the iSCSI target, one line appears.
The special --login option of iscsiadm
creates all needed devices:
>sudoiscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --login
The newly generated devices show up in the output of lsscsi and can now be mounted.
All information discovered by the iSCSI initiator is stored in two
database files that reside in /etc/iscsi. There is one
database for the discovery of targets and one for the discovered nodes.
When accessing a database, you first must select whether you want to get your
data from the discovery or from the node database. Do this with the
-m discovery and -m node parameters of
iscsiadm. Using iscsiadm with one of
these parameters gives an overview of the stored records:
>sudoiscsiadm -m discovery 10.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
The target name in this example is
iqn.2006-02.com.example.iserv:systems. This name is
needed for all actions that relate to this special data set. To examine the
content of the data record with the ID
iqn.2006-02.com.example.iserv:systems, use the following
command:
>sudoiscsiadm -m node --targetname iqn.2006-02.com.example.iserv:systems node.name = iqn.2006-02.com.example.iserv:systems node.transport_name = tcp node.tpgt = 1 node.active_conn = 1 node.startup = manual node.session.initial_cmdsn = 0 node.session.reopen_max = 32 node.session.auth.authmethod = CHAP node.session.auth.username = joe node.session.auth.password = ******** node.session.auth.username_in = EMPTY node.session.auth.password_in = EMPTY node.session.timeo.replacement_timeout = 0 node.session.err_timeo.abort_timeout = 10 node.session.err_timeo.reset_timeout = 30 node.session.iscsi.InitialR2T = No node.session.iscsi.ImmediateData = Yes ....
To edit the value of one of these variables, use the command
iscsiadm with the update operation. For
example, if you want iscsid to log in to the iSCSI target when it
initializes, set the variable node.startup to the value
automatic:
sudo iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems \ -p ip:port --op=update --name=node.startup --value=automatic
Remove obsolete data sets with the delete command, for example:
>sudoiscsiadm -m node -n iqn.2006-02.com.example.iserv:systems \ -p ip:port --op=delete
Use this option with caution because it deletes the record without any additional confirmation prompt.
To get a list of all discovered targets, run the sudo iscsiadm -m
node command.
3 How to install and configure an iSCSI LIO target server? #
The iSCSI LIO target is an open source, kernel-level software framework in Linux that transforms a standard server into a high-performance storage controller by exporting local storage over a network. It acts as the server side of an iSCSI SAN (Storage Area Network), managing the communication between physical backstores and remote clients to provide seamless, block-level data access. An iSCSI SAN is a specialized high-speed network that provides block-level network access to storage.
Prepare the storage. Ensure you have an unpartitioned block device ready. You can allocate either a dedicated disk partition or the whole disk, for example, /dev/vdb.
To install and configure the iSCSI LIO target server, follow the steps in the procedure:
Configure the target using
targetcli:>sudotargetcliCreate a backstore:
> /backstores/block create test_storage dev=/dev/vdb
Create an IQN (iSCSI Qualified Name):
> iscsi/ create iqn.2026-04.com.example:sles.target
Create a LUN (Logical Unit Number):
> iscsi/iqn.2026-04.com.example:sles.target/tpg1/luns create /backstores/block/test_storage
Navigate to the TPG1 subdirectory and enable the automated demo mode attributes:
> cd /iscsi/iqn.2026-04.com.example:sles.target/tpg1/ /iscsi/iqn...e:sles.target/tpg1& set attribute generate_node_acls=1 demo_mode_write_protect=0
To display a complete, hierarchical tree view of the current Linux kernel LIO target configuration:
> ls o- / .........................................................................[...] o- backstores ................................................................[...] | o- block .....................................................Storage Objects: 1] | | o- test_storage ......................[/dev/vdb (20.0GiB) write-thru activated] | | o- alua .................................................... [ALUA Groups: 1] | | o- default_tg_pt_gp ........................ [ALUA state: Active/optimized] | o- fileio .................................................. [Storage Objects: 0] | o- pscsi ................................................... [Storage Objects: 0] | o- ramdisk ................................................. [Storage Objects: 0] o- iscsi ............................................................. [Targets: 1] | o- iqn.2026-04.com.example:sles.target ................................ [TPGs: 1] | o- tpg1 ................................................ [no-gen-acls, no-auth] | o- acls ........................................................... [ACLs: 1] | | o- iqn.2026-04.com.example:sles.initiator ................ [Mapped LUNs: 1] | | o- mapped_lun0 ............................[lun0 block/test_storage (rw)] | o- luns ........................................................... [LUNs: 1] | | o- lun0 .................[block/test_storage (/dev/vdb) (default_tg_pt_gp)] | o- portals ..................................................... [Portals: 1] | o- [::0]:3260 ........................................................ [OK] o- loopback .......................................................... [Targets: 0] o- vhost ............................................................. [Targets: 0] o- xen-pvscsi ........................................................ [Targets: 0]
Save:
> saveconfig
Exit:
> exit
4 How to install and configure an iSCSI initiator? #
An iSCSI initiator is the client component in a SAN that initiates communication by sending SCSI commands over an IP network to a remote storage target. Once connected, it makes the remote network storage appear to the local operating system as a physically attached, raw block device.
Install the iSCSI initiator if needed:
>sudozypper install install open-iscsiThe following steps are optional, as the initiator name is set by default.
Configure the initiator name. The name must match the ACL created on the target. Open the configuration file:
vi /etc/iscsi/initiatorname.iscsi
Edit the line to match:
InitiatorName=iqn.2026-04.com.example:sles.initiator
Restart the service:
>sudosystemctl restart iscsid
5 Establishing and validating an iSCSI session between the iSCSI LIO target server and initiator #
The following procedures assume that both the iSCSI LIO target server and initiator
are installed and configured.
In the examples throughout this section, the iSCSI LIO target server uses the IP address
192.168.122.200 and the iSCSI initiator uses 192.168.122.181.
Before attempting a connection, ensure the target is actively listening on the network:
>ss -nltp | grep 3260 LISTEN 0 256 *:3260 *:*You must see
0.0.0.0:3260or your specific target IP.Enter the
targetclishell.>sudotargetcli targetcli shell version 3.0.1 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'.Verify the initiator's IQN is listed under the ACLs for your specific TPG (Target Portal Group):
/> ls /iscsi o- iscsi ........................................................[Targets: 1] o- iqn.2026-04.com.example:sles.target ...........................[TPGs: 1] o- tpg1 ...........................................[no-gen-acls, no-auth] o- acls ......................................................[ACLs: 1] | o- iqn.2026-04.com.example:sles.initiator ...........[Mapped LUNs: 1] | o- mapped_lun0 ......................[lun0 block/test_storage (rw)] o- luns ......................................................[LUNs: 1] | o- lun0 ...........[block/test_storage (/dev/vdb) (default_tg_pt_gp)] o- portals ................................................[Portals: 1] o- [::0]:3260 ...................................................[OK]
The initiator must connect with the target to pull the available records into its local database:
>sudoiscsiadm -m discovery -t sendtargets -p 192.168.122.200 192.168.122.200:3260,1 iqn.2026-04.com.example:sles.targetCheck that a file named after the target IQN now exists in
/var/lib/iscsi/nodes/:>sudosudo iscsiadm -m node | grep iqn.2026-04.com.example:sles.targetEstablish an active data session:
>sudoiscsiadm -m node -T iqn.2026-04.com.example:sles.target -p 192.168.122.200 --login Login to [iface: default, target: iqn.2026-04.com.example:sles.target, portal: 192.168.122.200,3260] successful.Map the remote storage as a local device:
>sudoiscsiadm -m session -P 1 Target: iqn.2026-04.com.example:sles.target (non-flash) Current Portal: 192.168.122.200:3260,1 Persistent Portal: 192.168.122.200:3260,1 ********** Interface: ********** Iface Name: default Iface Transport: tcp Iface Initiatorname: iqn.2026-04.com.example:sles.initiator Iface IPaddress: 192.168.122.181 Iface HWaddress: default Iface Netdev: default SID: 1 iSCSI Connection State: LOGGED IN iSCSI Session State: LOGGED_IN Internal iscsid Session State: NO CHANGEVerify the storage on the initiator:
>sudoiscsiadm -m session -P3 | fgrep disk Attached scsi disk sda State: runningVerify the SCSI properties:
>sudolsscsi [0:0:0:0] cd/dvd QEMU QEMU DVD-ROM 2.5+ /dev/sr0 [6:0:0:0] disk LIO-ORG test_storage 4.0 /dev/sda
6 Troubleshooting common iSCSI connection and storage issues #
Effectively troubleshooting an iSCSI environment begins with recognizing that most disruptions stem from a handful of common known issues, ranging from basic network reachability and firewall blockages on port 3260 to more nuanced configuration errors like IQN mismatches, incorrect CHAP authentication credentials, and MTU inconsistencies that trigger intermittent packet loss.
This chapter describes known issues and solutions for iSCSI target servers and initiator clients.
6.1 How do you fix portal errors when configuring iSCSI LIO target LUNs? #
When adding or editing an iSCSI LIO target group, you get an error:
Problem setting network portal IP_ADDRESS:3260
The journalctl command displays the following error:
find: `/sys/kernel/config/target/iscsi': No such file or directory
This problem occurs if the iSCSI LIO Target Server software is not
currently running. To resolve this issue, manually start iSCSI
LIO at the command line with systemctl start targetcli,
then try again.
You can also enter the following to check if configfs,
iscsi_target_mod, and target_core_mod
are loaded. A sample response is shown.
>sudolsmod | grep iscsi iscsi_target_mod 491520 7 target_core_mod 598016 15 target_core_file,target_core_iblock,iscsi_target_mod,target_core_pscsi, target_core_user configfs 69632 3 iscsi_target_mod,target_core_mod scsi_common 16384 10 scsi_mod,target_core_iblock,iscsi_target_mod,sd_mod,target_core_mod, target_core_pscsi,libata,sg,target_core_user,sr_mod
6.2 Why are iSCSI LIO targets not visible from remote initiator systems? #
If you use a firewall on the target server, you must open the iSCSI port that you are using to allow other systems to see the iSCSI LIO targets. TCP port 3260 is the port number for the iSCSI protocol, as defined by IANA (Internet Assigned Numbers Authority).
6.3 Why are data packets dropped for iSCSI traffic? #
A firewall might drop packets if it gets too busy. The default for the SUSE Firewall is to drop packets after three minutes. If you find that iSCSI traffic packets are being dropped, consider configuring the SUSE Firewall to queue packets instead of dropping them when it gets too busy.
6.4 How do you configure iSCSI volumes for reliable LVM startup at boot? #
Use the troubleshooting tips in this section when using LVM on iSCSI
targets. When configuring the iSCSI initiator, ensure that the iSCSI service and target
nodes are set to start automatically at boot. This ensures that iSCSI sessions are established
during startup, allowing udev to initialize the block devices so that
LVM can detect and activate the volume groups.
6.5 How do you ensure udev creates iSCSI block devices automatically during system boot? #
Remember that udev provides the default setup for
devices. Ensure that all of the applications that create devices are
started at boot time so that udev can recognize and
assign devices for them at system start-up. If the application or service
is not started until later, udev does not create the
device automatically as it would at boot time.
6.6 Why do iSCSI targets mount when node.startup is set to manual? #
When Open-iSCSI starts, it can mount the targets even when
node.startup is set to manual in
/etc/iscsi/iscsid.conf if the node database was edited manually.
Avoid manually viewing or modifying the node database files. Instead, use
the iscsiadm command to query the target configuration:
>sudoiscsiadm -m node -T TARGET_NAME | grep node.startup
7 Key iSCSI terminology reference #
This is a list of essential terminology for the iSCSI LIO target server and the initiator client.
- ACL (access control list)
A security list on the target that specifies which initiator IQNs are allowed to connect.
- backstore
A physical storage object in LIO that provides the actual storage underlying an iSCSI endpoint:
iblocks: A raw block device like
/dev/sdb.fileio: A file on a regular filesystem used as a virtual disk.
pscsi: Direct pass-through to a physical SCSI device.
- CDB (command descriptor block)
A CDB is the fundamental data structure used by the SCSI protocol to tell a storage device what to do. Since iSCSI is SCSI over IP, the iSCSI initiator wraps these CDBs inside TCP/IP packets to send them to the LIO target. CDBs are commonly 6, 10, or 12 bytes long, though they can be 16 bytes or of variable length.
- CHAP (challenge handshake authentication protocol)
A point-to-point protocol (PPP) authentication method used to confirm the identity of one computer to another. After the Link Control Protocol (LCP) connects the two computers, and the CHAP method is negotiated, the authenticator sends a random Challenge to the peer. The peer issues a cryptographically hashed Response that depends upon the Challenge and a secret key. The authenticator verifies the hashed Response against its own calculation of the expected hash value, and either acknowledges the authentication or terminates the connection. CHAP is defined in the RFC 1994.
- CID (connection identifier)
A 16‐bit number generated by the initiator that uniquely identifies a connection between two iSCSI devices. This number is presented during the login phase.
- discovery
The process where the initiator queries a target portal to see what IQNs are available to it.
- endpoint
The combination of an iSCSI Target Name with an iSCSI TPG (IQN + Tag).
- EUI (extended unique identifier)
A 64‐bit number that uniquely identifies every device in the world. The format consists of 24 bits that are unique to a given company, and 40 bits assigned by the company to each device it builds.
- initiator
The endpoint that originates SCSI commands in a SCSI or iSCSI session. Typically a controlling device such as a computer.
- IPS (Internet protocol storage)
The class of protocols or devices that use the IP protocol to move data in a storage network. FCIP (Fibre Channel over Internet Protocol), iFCP (Internet Fibre Channel Protocol), and iSCSI (Internet SCSI) are all examples of IPS protocols.
- IQN (iSCSI qualified name)
A name format for iSCSI that uniquely identifies every device in the world (for example:
iqn.5886.com.acme.tapedrive.sn‐a12345678).- ISID (initiator session identifier)
A 48‐bit number generated by the initiator that uniquely identifies a session between the initiator and the target. This value is created during the login process, and is sent to the target with a Login PDU.
- Initiatorname
The unique IQN assigned to the client. This must be registered in the target's ACL for a connection to be successful.
- login
The process of authenticating and establishing a session between the initiator and the target.
- MPIO (multipath I/O)
A method by which data can take multiple redundant paths between a server and storage.
- network portal
The combination of an iSCSI endpoint with an IP address plus a TCP (Transmission Control Protocol) port. TCP port 3260 is the port number for the iSCSI protocol, as defined by IANA (Internet Assigned Numbers Authority).
- node
In the context of initiator software like
iscsiadm, a node represents a specific target that has been discovered and recorded in the local database.- session
The active TCP connection or group of connections between an initiator and a target.
- target
The receiving end of an iSCSI session, typically a device such as a disk drive, tape drive or scanner.
- targetcli
The shell-like interface used to configure LIO on Linux.
- target port
The combination of an iSCSI endpoint with one or more LUNs.
- target port group (TPG)
A list of IP addresses and TCP port numbers that determines which interfaces a specific iSCSI target will listen to.
- target session identifier (TSID)
A 16‐bit number, generated by the target, that uniquely identifies a session between the initiator and the target. This value is created during the login process, and is sent to the initiator with a Login Response PDU (protocol data units).
8 For more information #
The Open-iSCSI project home page at https://github.com/open-iscsi/open-iscsi.
The man pages for
iscsiadm,iscsid, and the configuration file/etc/iscsid.conf.The man page for
targetcli.
9 Legal Notice #
Copyright© 2006– 2026 SUSE LLC and contributors. All rights reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.
For SUSE trademarks, see https://www.suse.com/company/legal/. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its affiliates. Asterisks (*) denote third-party trademarks.
All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its affiliates, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.