https://www.techtarget.com/searchstorage/definition/iSCSI-initiator
An Internet Small Computer System Interface initiator is software or hardware that lets a host computer send data to an external iSCSI-based storage array through an Ethernet network adapter over a TCP-based IP network.
ISCSI is a protocol for sharing block storage and communicating with input/output (I/O) devices over a TCP/IP network. The standard provides a way to link data storage devices and enable block-level access to these devices with the help of SCSI commands over a local area network (LAN), wide area network (WAN) and even the internet.
ISCSI technology is also known as SAN over IP technology since it facilitates the deployment of a storage area network over an IP network. The protocol does not require major upgrades to existing network infrastructure to run over long distances. This ability to run using existing infrastructure differentiates iSCSI from Fibre Channel and other communication technologies.
As an IP-based standard, iSCSI involves communications between two types of devices: initiators and targets. The iSCSI initiator originates the I/O command sequence to facilitate data transmission to the storage device, which is also known as an iSCSI target. iSCSI initiators send commands over the TCP/IP network to the target. If the initiator is software, it is a device driver residing on the client system.
The command from the initiator sent over the TCP/IP network is received by the iSCSI target, which then provides a response to the initiator. The target might be software or hardware. Hardware iSCSI targets are usually storage appliances with embedded storage, although they can also be gateway devices with no internal, or embedded, storage.
All iSCSI initiators and targets are given unique names for identification purposes. Special iSCSI name formats that identify initiators and targets include the iSCSI qualified name (IQN), extended unique identifier and T11 network address authority. All IQNs are ASCII, or American Standard Code for Information Interchange, names with a size of 233 bytes.
The iSCSI architecture is based on client-server model. The clients are the initiators, and they consume storage. The servers are the targets. They share storage with the initiators by communicating with them via commands sent over the TCP/IP network.
All communications between initiators are targets is divided into messages that are transferred as iSCSI protocol data units. A PDU is the basic information unit of iSCSI, and it might carry control messages, SCSI commands from the initiator, and communication parameters and data.
All communications between initiators and targets happen over TCP connections that form a session. Once a session starts, an initiator is tied to a target (meaning the initiator and target can communicate) and a session ID is generated. For the initiator to communicate with a target, target nodes are first detected and sessions are established. Then iSCSI commands and responses are transported between the initiator and target and data is moved or shared between them.
A hardware iSCSI initiator is a dedicated, host-based network interface card (NIC) with built-in resources to handle the iSCSI and TCP/IP processing functions. The need for a NIC-based TCP/IP offload engine has declined as servers have gained more powerful processing cores. A hardware iSCSI initiator may still be useful for data protection, when booting a server from a local disk, or for security if the card has built-in encryption capabilities.
A software iSCSI initiator is typically part of the server operating system (OS) and uses host central processing unit (CPU) resources to map the SCSI I/O command set to TCP/IP for use by the iSCSI storage system.
Software-based iSCSI initiators are far more common than hardware-based iSCSI initiators.
An iSCSI initiator can be set up on many different platforms, including Windows, Red Hat Enterprise Linux (RHEL) and Ubuntu.
These are the steps to set up the iSCSI initiator on Windows:
The iSCSI initiator can then be accessed from the Run command dialog box -- registry keys must be modified first -- Windows Start menu, file explorer address bar, control panel and task manager. It can also be opened using PowerShell with the iscsicpl.exe command, though this requires admin access.
To set up an iSCSI initiator on RHEL, the iSCSI target's hostname and IP address must be known. The steps to set up the iSCSI initiator on RHEL are the following:
To set up an iSCSI initiator on Ubuntu, it's important to ensure all network interfaces are set up correctly. Incorrect configurations will result in the open-iscsi package behaving in unexpected ways. Here are the steps to set up the iSCSI initiator on Ubuntu:
Explore the differences between Fibre Channel vs. iSCSI. Check out SAN and NAS: An illustrated guide to distinguishing the storage types. Learn about the advantages of SAN technology in an HCI world.
20 Dec 2023