Chapter 35. Configuring iSCSI Offload and Interface Binding
This chapter describes how to set up iSCSI interfaces in order to bind a session to a NIC port when using software iSCSI. It also describes how to set up interfaces for use with network devices that support offloading; namely, devices from Chelsio, Broadcom and ServerEngines.
The network subsystem can be configured to determine the path/NIC that iSCSI interfaces should use for binding. For example, if portals and NICs are set up on different subnets, then it is not necessary to manually configure iSCSI interfaces for binding.
Before attempting to configure an iSCSI interface for binding, run the following command first:
$ ping -I ethX target_IP
pingfails, then you will not be able to bind a session to a NIC. If this is the case, check the network settings first.
35.1. Viewing Available iface Configurations
From Red Hat Enterprise Linux 5.5 iSCSI offload and interface binding is supported for the following iSCSI initiator implementations:
- Software iSCSI — like the
ib_isermodules, this stack allocates an iSCSI host instance (i.e.
scsi_host) per session, with a single connection per session. As a result,
/proc/scsiwill report a
scsi_hostfor each connection/session you are logged into.
- Offload iSCSI — like the Chelsio
be2iscsimodules, this stack allocates a
scsi_hostfor each PCI device. As such, each port on a host bus adapter will show up as a different PCI device, with a different
scsi_hostper HBA port.
To manage both types of initiator implementations,
ifacestructure. With this structure, an
ifaceconfiguration must be entered in
/var/lib/iscsi/ifacesfor each HBA port, software iSCSI, or network device (
ethX) used to bind sessions.
To view available
iscsiadm -m iface. This will display
ifaceinformation in the following format:
Refer to the following table for an explanation of each value/setting.
Table 35.1. iface Settings
|Name of driver|
|IP address to use for this port|
|Name used for the |
|This setting is used to override a default name for the initiator, which is defined in |
Example 35.1. Sample output of the
iscsiadm -m iface command
The following is a sample output of the
iscsiadm -m ifacecommand:
iface0 qla4xxx,00:c0:dd:08:63:e8,22.214.171.124,default,iqn.2005-06.com.redhat:madmax iface1 qla4xxx,00:c0:dd:08:63:ea,126.96.36.199,default,iqn.2005-06.com.redhat:madmax
For software iSCSI, each
ifaceconfiguration must have a unique name (with less than 65 characters). The
iface_namefor network devices that support offloading appears in the format
iscsiadm -m iface output with a Chelsio network card
For example, the sample output of
iscsiadm -m ifaceon a system using a Chelsio network card might appear as:
default tcp,<empty>,<empty>,<empty>,<empty> iser iser,<empty>,<empty>,<empty>,<empty> cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
It is also possible to display the settings of a specific
ifaceconfiguration in a more friendly way. To do so, use the option
-I iface_name. This will display the settings in the following format:
iface.setting = value
Example 35.3. Using
iface settings with a Chelsio converged network adapter
Using the previous example, the
ifacesettings of the same Chelsio converged network adapter (i.e.
iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07) would appear as:
# BEGIN RECORD 2.0-871 iface.iscsi_ifacename = cxgb3i.00:07:43:05:97:07 iface.net_ifacename = <empty> iface.ipaddress = <empty> iface.hwaddress = 00:07:43:05:97:07 iface.transport_name = cxgb3i iface.initiatorname = <empty> # END RECORD