Table of Contents
- Understanding the Software and Hardware iSCSI Adapters
- Software iSCSI Adapters
- Configuring Software iSCSI Adapter
- Hardware iSCSI Adapters
A storage system equipped with one or more LUNs and storage processors, known as an iSCSI storage system, makes up the iSCSI SAN.
To enable communication between the host and the storage array over a TCP/IP network, the VMware ESXi host is configured with an iSCSI initiator, which can be hardware-based (HBA) or software-based (iSCSI software initiator).
An initiator residing on the ESXi host transmits SCSI commands over the IP network to the target. The Initiators start the connections and try to find a target (residing in the storage array). A user can have multiple initiators and targets configured in the iSCSI network and various options like IP addresses, subnets, and authentication requirements can be used to restrict access to a target from the hosts.
The iSCSI node, which can be either an initiator or a target, is the addressable, discoverable entity. In order to manage storage regardless of address, an iSCSI node needs a name.
The iSCSI name can be:
The iSCSI qualified name (IQN) – 255 Character long
For example – iqn:year:month:com:XYZ – Date code specifying the year & month in which the organization registered the domain
The extended unique identifier (EUI) – 16-character name
A 64-bit code includes 24 bits given to the company name assigned by IEEE and 40 bits of unique id.
Understanding the Software and Hardware iSCSI Adapters
Software iSCSI Adapters
A software iSCSI initiator is a piece of VMware code integrated into the VMkernel that enables the host to connect to an iSCSI storage device using common network adapters.
The software iSCSI initiator handles iSCSI processing while communicating with the network adapter without the need to purchase specialized hardware.
The software initiator iSCSI plugs into the ESXi host’s storage stack as a device driver in exactly the same way as any other SCSI and FC drivers, thus supporting VMware vSphere VMFS and also Raw Device Mappings (RDMs).
The software-initiator iSCSI leverages the VMkernel to perform the SCSI to IP translation and requires extra CPU cycles to perform this work. However, the TCP offload and checksum offload features can significantly improve CPU overhead.
Hardware iSCSI Adapters
Hardware iSCSI initiator is a specialized third-party adapter capable of accessing iSCSI storage over TCP/IP and is divided into two categories:
- Dependent Hardware iSCSI initiator
- Independent Hardware iSCSI initiator
A standard network adapter with the iSCSI offload feature that relies on VMkernel networking is referred to as a dependent hardware iSCSI initiator. To use this adapter, networking must be set up to support iSCSI traffic, and the adapter must be bound to the VMkernel iSCSI port.
An independent hardware iSCSI adapter (iSCSI HBA) handles all iSCSI, network processing, and management for the ESXi host. It implements its own networking, iSCSI configuration, and management interfaces.
Configuring Software iSCSI Adapter
Before we proceed with the configuration of Software iSCSI, we need to configure networking for Software iSCSI by creating a VMkernel port on a virtual switch responsible for handling iSCSI traffic. The networking setup can be different depending on the number of physical adapters we want to use for the iSCSI traffic.
For example, if we have one physical network adapter, we need one VMkernel port on a virtual switch. However, if we have two or more physical network adapters for iSCSI, we can use these adapters for host-based multipathing. For the sake of security and performance, it is recommended to isolate the iSCSI network from other networks.
Once the networking is configured, we can go ahead by creating a new Software iSCSI adapter for our ESXi host. Then configure the network port binding to provide multipathing for the availability of access to the iSCSI targets and LUNs, which is recommended as best practice. The user also has the option to use the vSphere feature for NIC teaming by disabling port security in order to prevent spoofing.
As part of the Software iSCSI configuration, we’ve already created a VMkernel port and dedicated it to iSCSI, and now we can use the same to configure network port binding.
The last configuration option includes a quick adapter rescan of the iSCSI targets.
VMware ESXi supports Static Discovery and Dynamic Discovery as the iSCSI target-discovery methods.
Static Discovery – The Initiator doesn’t perform the discovery as it already knows all the targets. It’s going to connect with them in advance and thus use their IP address to communicate with them.
Dynamic Discovery a.k.a SendTargets Discovery – Every time the initiators contact the iSCSI Server and send the SendsTarget request to the server. The server responds by sending the list of all the available targets that the initiator can connect with.
Related Posts
NFS vs iSCSI – Which is best for you?
VMware for Beginners – How to Create and Configure iSCSI Datastores: Part 9(a)
VMware for Beginners – How to Create and Configure iSCSI Datastores : Part 9(b)
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.