ISCSI initiator

Introduction

A software or hardware device known as an Internet Small Computer System Interface initiator enables data transfer from a host computer to an external iSCSI-based storage array via an Ethernet network adapter over a TCP-based IP network.

The ISCSI protocol facilitates communication between input/output (I/O) devices and block storage via a TCP/IP network. With the aid of SCSI commands, the standard offers a means of connecting data storage devices and enabling block-level access to these devices via LANs, WANs, and even the internet.

ISCSI initiator

Because it makes it easier to deploy a storage area network over an IP network, ISCSI technology is also referred to as SAN over IP technology. For the protocol to function over large distances, the existing network infrastructure does not need to be significantly upgraded. The ability to run on existing infrastructure sets iSCSI apart from Fibre Channel and other communication technologies.

What is target and initiator in iSCSI?

iSCSI is an IP-based protocol that facilitates communication between initiators and targets, two different kinds of devices. To allow data transmission to the storage device-also referred to as an iSCSI target-the iSCSI initiator starts the I/O command sequence. Over the TCP/IP network, iSCSI initiators communicate commands to the target. In the event that the initiator is software, the client system's device driver is it.

The initiator sends a command over the TCP/IP network, and the iSCSI target receives it and responds to the initiator. Hardware or software could be the target. Hardware iSCSI targets can be gateway devices without any internal or embedded storage, but they are typically storage appliances with embedded storage.

To facilitate identification, all iSCSI initiators and targets are assigned unique names. The T11 network address authority, extended unique identifier, and iSCSI qualified name (IQN) are examples of special iSCSI name formats that identify initiators and targets. Every IQN is an ASCII name, which stands for American Standard Code for Information Interchange, and has a byte size of 233.

How does iSCSI work with initiators and targets?

The client-server model is the foundation of the iSCSI architecture. The initiators are the clients, and they use up storage. The targets are the servers. By communicating with the initiators via commands sent over the TCP/IP network, they share storage with them.

Every conversation that takes place between initiators and targets is broken down into messages that are sent as data units for the iSCSI protocol. The fundamental information unit of iSCSI, or PDU, may carry data and communication parameters, control messages, and SCSI commands from the initiator.

All communication between initiators and targets occurs via TCP connections that form a session. A session ID is generated, and an initiator is tied to a target (i.e., both can communicate) once the session has begun. To communicate with a target, the initiator must first detect the target node and establish a session. Data is then transferred or shared between the initiator and target via iSCSI commands and responses.

Hardware iSCSI vs. software iSCSI

A hardware iSCSI initiator is a dedicated host-based network interface card (NIC) that includes resources for iSCSI and TCP/IP processing. The requirement for a TCP/IP offload engine based on NICs has decreased as servers' processing core power has increased. If the card has integrated encryption, a hardware iSCSI initiator might still be helpful for security, data protection, or server booting from a local disk.

Usually found in the server operating system (OS), a software iSCSI initiator maps the SCSI I/O command set to TCP/IP so that the iSCSI storage system can use it. It does this by utilizing the host CPU's resources.

Software-based iSCSI initiators are much more prevalent than hardware-based iSCSI initiators.

How to set up an iSCSI initiator?

Numerous operating systems, such as Windows, Red Hat Enterprise Linux (RHEL), and Ubuntu, can be used to configure an iSCSI initiator.

Windows

Here are the steps to configure the iSCSI initiator on Windows:

  1. Use the Start menu to search for "iSCSI Initiator."
  2. When the iSCSI Initiator Properties opens, navigate to the Targets tab.
  3. Enter the iSCSI target's IP address or domain name in the Target box.
  4. Click Quick Connect and Done to proceed.
  5. If target devices are not automatically discovered, navigate to the Discovery tab in the iSCSI Initiator Properties box and click Refresh.
  6. Complete the steps to add the target device and manage iSCSI sessions from the initiator.

Then, the registry keys need to be changed before accessing the iSCSI initiator via the Run command dialog box, Windows Start menu, file explorer address bar, control panel, and task manager. The iscsicpl.exe command in PowerShell can also be used to open it, but it does require administrator access.

Red Hat Enterprise Linux

The hostname and IP address of the iSCSI target must be known in order to configure an iSCSI initiator on RHEL. The following are the steps to configure the iSCSI initiator on RHEL:

  1. Install iscsi-initiator-utils on the client machine.
  2. Check the initiator name using the command # cat /etc/iscsi/initiatorname.iscsi.
  3. Check that the initiator name matches the ACL, and restart the iscsid service.
  4. Discover the target.
  5. Log into the target with its displayed IQN.
  6. Create a file system on the iSCSI disk and replace "disk_name" with the iSCSI disk name displayed in the /var/log/messages file.
  7. Mount the file system with the command # mkdir /mount/point, where /mount/point should be the mount point of the partition.
  8. To mount the file system automatically when the system boots, edit the /etc/fstab file with the appropriate iSCSI disk name and mount point of the partition.

Ubuntu

It is crucial to confirm that every network interface is configured correctly before configuring an iSCSI initiator on Ubuntu. Incorrect configurations will cause the open-iscsi package to behave in unexpected ways. To configure the iSCSI initiator on Ubuntu, follow these steps:

  1. Install the open-iscsi package with the command $ sudo apt install open-iscsi.
  2. Configure the main configuration file /etc/iscsi/iscsid.conf.
  3. Restart the iSCSI daemon.
  4. Configure the environment variables so the iSCSI service understands which interfaces will act as paths.
  5. Configure the iscsi01 and iscsi02 interfaces.
  6. Discover the target devices.
  7. Configure automatic login.
  8. Verify that all necessary services are enabled, during OS initialization,
  9. Restart the iscsid service and log into the discovered logical units.

Benefits of using iSCSI

iSCSI provides numerous benefits to enterprises that use it as part of a SAN. The following are the most common:

  1. Built-in TOE. Network interface cards (NICs) include TCP offload engine (TOE) technology, which offloads TCP/IP stack processing to a network controller, reducing the load on the host CPU.
  2. Low initial investment. Using the iSCSI protocol to access storage devices helps businesses maintain a low total cost of ownership (TCO). In addition to its low TCO, iSCSI creates a SAN that is simple to install and requires little maintenance.
  3. No extra hardware is needed. Without the need for extra hardware, iSCSI makes use of IP-based technology, TCP/IP and Ethernet interoperability.
  4. Enhanced security. Storage networks benefit from an additional security layer because of iSCSI.
  5. Low maintenance and training expenses. The iSCSI protocol doesn't require any additional training for network personnel to use, and the increased storage usage without a lot of supervision or management reduces operating costs.
  6. Great degree of compatibility. Because IP is a universal, non-proprietary technology used worldwide, different network storage devices work seamlessly together.
  7. Flexible scaling. Businesses can easily scale and increase storage capacity by utilizing pre-existing network hardware and other devices to create iSCSI SAN environments.
  8. Low power consumption and cost. Infrastructure, power, and cooling costs are all reduced when there are fewer active switches online.

What are iSCSI Limitations?

Like most technologies, iSCSI has limitations in addition to its many advantages. These are the most typical:

  1. Conditional performance. iSCSI technology leads to increased latency and performance problems when it is used in a mixed network processing both iSCSI and business data.
  2. Not SSD-compatible. Because iSCSI relies on serial technology, solid-state storage devices (SSDs) cannot be used with it.
  3. Limited capability. Hard disk drives have a maximum LUN capacity of 250 TB, and NAS devices have a maximum capacity of 144 TB.
  4. Limited snapshots. A maximum of 64 file share volumes and 512 snapshots, or virtual copies of stored data, may be used by an iSCSI application. Failure of the snapshot feature will result in lost data and poor iSCSI performance.
  5. Finite connections. iSCSI also has a connection limit of 255 per session. If the session size exceeds 255, the target will reject additional concurrent connection attempts.





Latest Courses