The Internet Small Computer Systems Interface, or iSCSI, is a storage area networking transport protocol that enables client devices to connect to block-level storage devices via an Ethernet network. Like Fibre Channel, iSCSI can be used for storage area networks (SANs) and is compatible with shared and dedicated storage networks. However, it does not allow file access options such as network-attached storage (NAS) or object storage, which employ separate transport protocols. This page discusses how the iSCSI protocol works and its benefits and limits.
What Exactly is iSCSI?
SCSI stands for Small Computer System Interface. For decades, this protocol has been the de facto standard for storage access by computers and servers. The SCSI collection of standards transports data blocks over short distances via a variety of serial and parallel buses built into computers. The widespread adoption of the Transmission Control Protocol/Internet Protocol (TCP/IP), which connects computer systems to TCP/IP networks like the Internet, combined SCSI and the Internet to become iSCSI.
To understand iSCSI storage, first master the basic SCSI protocol. SCSI is a block-based collection of commands intended for Direct-Attached Storage (DAS) applications. A computer can transmit SCSI commands to spin up storage media and perform data read/write operations. In SCSI, the client is termed the “initiator,” and the storage volume it accesses is called the “target.”
The SCSI protocol provides an initiator and a target access via a command queue. The initiator transmits directives to the destination, which are queued for execution. The initiator then receives data and acknowledgments for each of the queued commands. There is only one queue for each connection between an initiator and a target.
How Does iSCSI Work?
In a storage area network (SAN)—an independent high-speed network of connected switches, hosts, and storage devices—the iSCSI protocol sends data over the Ethernet network that connects users to storage devices. iSCSI operates in the transport layer and allows users to see networked devices as if they were local.
A data packet, or unit of data packed together for network transportation, consists of a data payload and a header that contains packet-specific information such as destination and origin IP addresses. It’s also known as a datagram. A data unit at the TCP transport layer is called a segment, while a data unit in the link layer is known as a frame.
What Are the Advantages of iSCSI?
iSCSI provides numerous benefits to organizations that use it as part of a SAN. These are the most common:
- Low power consumption/cost. Lower infrastructure expenses: With fewer active switches online, infrastructure, power usage, and cooling costs decrease.
- Low initial investment. Businesses can reduce their total cost of ownership (TCO) by employing the iSCSI protocol to access storage devices. In addition to its low TCO, iSCSI delivers a SAN that is simple to set up and requires no maintenance.
- No additional hardware required. iSCSI relies on IP-based technologies and TCP/IP and Ethernet interoperability to function without needing extra hardware.
- Additional security. iSCSI adds a degree of security to storage networks.
- Low training/maintenance costs. No additional training is necessary for network personnel to use the iSCSI protocol, and greater storage utilization without considerable control and management reduces operating expenses.
- Built-in TOE. Network interface cards (NICs) include TCP offload engine (TOE) technology, which offloads TCP/IP stack operations to a network controller, reducing the load on the host CPU.
- High compatibility. Because IP is a universal, non-proprietary technology utilized worldwide, many network storage devices perform easily together.
- Flexible scalability. iSCSI SAN environments can be readily established with existing network hardware and other devices, allowing enterprises to increase storage capacity and scale as they grow.
iSCSI Performance
Because TCP/IP is widely used in standard networks, iSCSI has become the de facto standard for block storage. This could be more optimal in terms of performance. The problem is that storage for applications that require low latency now uses SSDs, and iSCSI needs to be designed to operate better with SSDs. Rather, TCP/IP protocols are essentially carriers of the original SCSI standard for spinning hard drives.
The single queue iSCSI paradigm was effective for many years due to the single read/write head of hard disc drives (HDDs). However, flash memory acts differently, employing banks of storage units akin to dynamic random access memory (DRAM).
Server modifications influence the effectiveness of the single queue paradigm, as a typical server may contain dozens of CPU cores, necessitating mediation by locks on the single storage queue. This is not an issue with spinning HDDs, which operate at a rate of 100 inputs/outputs per second. However, when storage migrates to flash, everything changes radically.
The single queue concept is troublesome for flash SSDs. A single SSD may handle hundreds of thousands of IOPs, and the consequent queue contention causes a significant performance issue on a server with multiple cores. The iSCSI single queue architecture complicates the conventional implementation of a single thread and TCP socket.
Multipath I/O can be achieved by exposing a logical unit via several target ports and distributing I/O across numerous threads and sockets. However, this method is difficult to handle from the target side. Queueing difficulties on the initiator side typically plague it. The operating system continues to treat several pathways as if they were one device.
Limitations of iSCSI
Though iSCSI has many advantages, as do most technologies, it is not without restrictions. These are the most common:
- Limited capacity. A hard disc drive’s LUN maximum capacity is 250 TB, while NAS has 144 TB.
- Finite snapshots. There is a maximum of 512 snapshots, or virtual copies of stored data, per iSCSI application and 64 for file share volumes. If the snapshot capability fails, data cannot be recovered, and iSCSI performance suffers.
- Not SSD compatible. iSCSI employs serial technology, which makes it unsuitable for solid-state storage systems.
- Finite connections. iSCSI also allows a maximum of 255 connections per session. If the session size exceeds 255, the target will deny additional concurrent connection attempts.
- Conditional performance. When iSCSI technology is utilized in a mixed network that handles business data and iSCSI information, it causes increased latency and performance difficulties.
In Summary
High-speed data transit and high-capacity data storage have become critical for enterprise data services. Storage area networks (SANs) are suitable answers for both of these requirements. SANs that use the iSCSI protocol operate on Ethernet networks, making them an excellent alternative for enterprises with existing networks that demand high-performance applications but do not want to buy and install separate network infrastructure.