Short overview of iSCSI

Introduction

The iSCSI remote block device access protocol is a client-server protocol allowing clients (referred to as “initiators” or “hosts”) to read and write data to logical disks (referred to as “targets”) exported by iSCSI servers. The iSCSI servers listen on portals (TCP ports, usually 3260, on specific IP addresses); these portals can be grouped into the so-called portal groups (also identified by a TCP port and IP address) to provide fine-grained access control or load balancing for the iSCSI connections.

A short summary of the terms:

  • IQN - unique text identifier, used by initiators and targets

  • Initiator - a client for the iSCSI protocol, identified by an IQN

  • Target - a logical SCSI storage device, which provides one or more LUNs

  • Portal - iSCSI network endpoint for targets, identified by IQN, IP address and TCP port

  • Portal group - iSCSI network endpoint that handles the load-balancing and access-control to the portals, identified by IQN, IP address and TCP port

The StorPool implementation of iSCSI provides portal groups to the initiators. The configuration is done via StorPool’s CLI and is described in the configuration chapter down below.

How does iSCSI function in StorPool

The StorPool implementation of iSCSI:

  • provides a way to mark StorPool volumes as accessible to iSCSI initiators;

  • defines iSCSI portals where the nodes running the StorPool iSCSI service listen for connections from initiators;

  • defines portal groups over these portals;

  • exports StorPool volumes (iSCSI targets) to iSCSI initiators in the portal groups.

To simplify the configuration of the iSCSI initiators, and also to provide load balancing and failover, each portal group has at least one floating IP address that is automatically brought up on only a single StorPool node at a given moment; the initiators are configured to connect to this floating address, authenticating if necessary, and then are redirected to the portal of the StorPool node that actually exports the target (volume) that they need to access.

In the simplest setup, there is a single portal group with a floating IP address and a single portal for each StorPool node that runs the iSCSI service. All the initiators connect to the floating IP address and are redirected to the correct node. For quality of service or fine-grained access control, more portal groups may be defined and some volumes may be exported via more than one portal group.

Configuring StorPool iSCSI targets

For a detailed configuration of StorPool iSCSI, see 16.  Exporting volumes using iSCSI.