System Administration Guide: Devices and File Systems

Troubleshooting iSCSI Configuration Problems

The following tools are available to troubleshoot general iSCSI configuration problems:

Both tools can filter iSCSI packets on port 3260.

The following sections describe various iSCSI troubleshooting and error message resolution scenarios.

No Connections to the iSCSI Target From the Local System

ProcedureHow to Troubleshoot iSCSI Connection Problems

  1. Become superuser.

  2. List your iSCSI target information.

    For example:


    initiator# iscsiadm list target
    Target: iqn.2001-05.com.abcstorage:6-8a0900-37ad70401-bcfff02df8a421df-zzr1200-01
            TPGT: default
            ISID: 4000002a0000
            Connections: 0
  3. If no connections are listed in the iscsiadm list target output, check the /var/adm/messages file for possible reasons why the connection failed.

    You can also verify whether the connection is accessible by using the ping command or by connecting to the storage device's iSCSI port by using the telnet command to ensure that the iSCSI service is available. The default port is 3260.

    In addition, check the storage device's log file for errors.

  4. If your target is not listed in the iscsiadm list target output, check the /var/adm/messages file for possible causes.

    If you are using SendTargets as the discovery method, try listing the discovery-address using the -v option to ensure that the expected targets are visible to the host. For example:


    initiator# iscsiadm list discovery-address -v 10.0.0.1
    Discovery Address: 10.0.0.1:3260
    	Target name: eui.210000203787dfc0
    		Target address:        10.0.0.1:11824
    	Target name: eui.210000203787e07b
    		Target address:        10.0.0.1:11824

    If you are using iSNS as the discovery method, try enabling the iSNS discovery method and listing the isns-server using the -v option to ensure that the expected targets are visible to the host. For example:


    initiator# iscsiadm list isns-server -v
    iSNS Server IP Address: 10.20.56.56:3205
            Target name: iqn.1992-08.com.xyz:sn.1234566
                    Target address:   10.20.57.161:3260, 1
            Target name: iqn.2003-10.com.abc:group-0:154:abc-65-01
                    Target address:   10.20.56.206:3260, 1
            Target name: iqn.2003-10.com.abc:group-0:154:abc-65-02
                    Target address:   10.20.56.206:3260, 1
    .
    .
    .

iSCSI Device or Disk Is Not Available on the Local System

ProcedureHow to Troubleshoot iSCSI Device or Disk Unavailability

  1. Become superuser.

  2. Identify the LUNs that were discovered on this target during enumeration.

    For example:


    # iscsiadm list target -S
    Target: iqn.2001-05.com.abcstorage:6-8a0900-37ad70401-bcfff02df8a421df-zzr1200-01
            TPGT: default
            ISID: 4000002a0000
            Connections: 1
            LUN: 0
                Vendor:  ABCSTOR
                Product: 0010 
                OS Device Name: /dev/rdsk/c3t34d0s2

    The -S option shows which LUNs were discovered on this target during enumeration. If you think a LUN should be listed but it is not, review the /var/adm/messages file to see if an error was reported. Check the storage device's log files for errors. Also, ensure that any storage device LUN masking is properly configured.

Use LUN Masking When Using the iSNS Discovery Method

Avoid using the iSNS discovery domain as the means to control storage authorization to specific initiators. Use LUN masking instead if you want to make sure that only authorized initiators can access a LUN.

If you remove a target from a discovery domain while the target is in use, the iSCSI initiator does not log out from this target. If you do not want this initiator to access this target (and the associated LUNs), you must use LUN masking. Removing the target from the discovery domain is not sufficient.

General iSCSI Error Messages

This section describes the iSCSI messages that might be found in the /var/adm/messages file and potential solutions for recovery.

The message format is as follows:


iscsi TYPE (OID) STRING (STATUS-CLASS#/STATUS-DETAIL#)
TYPE

Is either connection or session.

OID

Is the object ID of the connection or session. This ID is unique for an OS instance.

STRING

Is a description of the condition.

STATUS-CLASS#/STATUS-DETAIL#

These values are returned in an iSCSI login response as defined by RFC 3720.


iscsi connection(OID) login failed - Miscellaneous iSCSI initiator errors.

Cause:

The device login failed due to some form of initiator error.


iscsi connection(OID) login failed - Initiator could not be successfully authenticated.

Cause:

The device could not successfully authenticate the initiator.

Solution:

If applicable, verify that the settings for CHAP names, CHAP passwords, or the RADIUS server are correct.


iscsi connection(OID) login failed - Initiator is not allowed access to the given target.

Cause:

The device cannot allow the initiator access to the iSCSI target device.

Solution:

Verify your initiator name and confirm that it is properly masked or provisioned by the storage device.


iscsi connection(OID) login failed - Requested ITN does not exist at this address.

Cause:

The device does not provide access to the iSCSI target name (ITN) that you are requesting.

Solution:

Verify that the initiator discovery information is specified properly and that the storage device is configured properly.


iscsi connection(OID) login failed - Requested ITN has been removed and no forwarding address is provided.

Cause:

The device can no longer provide access to the iSCSI target name (ITN) that you are requesting.

Solution:

Verify that the initiator discovery information has been specified properly and that the storage device has been configured properly.


iscsi connection(OID) login failed - Requested iSCSI version range is not supported by the target.

Cause:

The initiator's iSCSI version is not supported by the storage device.


iscsi connection(OID) login failed - No more connections can be accepted on this Session ID (SSID).

Cause:

The storage device cannot accept another connection for this initiator node to the iSCSI target device.


iscsi connection(OID) login failed - Missing parameters (e.g., iSCSI initiator and/or target name).

Cause:

The storage device is reporting that the initiator or target name has not been properly specified.

Solution:

Properly specify the iSCSI initiator or target name.


iscsi connection(OID) login failed - Target hardware or software error.

Cause:

The storage device encountered a hardware or software error.

Solution:

Consult the storage documentation, or contact the storage vendor for further assistance.


iscsi connection(OID) login failed - iSCSI service or target is not currently operational.

Cause:

The storage device is currently not operational.

Solution:

Consult the storage documentation, or contact the storage vendor for further assistance.


iscsi connection(OID) login failed - Target has insufficient session, connection or other resources.

Cause:

The storage device has insufficient resources.

Solution:

Consult the storage documentation, or contact the storage vendor for further assistance.


iscsi connection(OID) login failed - unable to initialize authentication


iscsi connection(OID) login failed - unable to set authentication


iscsi connection(OID) login failed - unable to set username


iscsi connection(OID) login failed - unable to set password


iscsi connection(OID) login failed - unable to set ipsec


iscsi connection(OID) login failed - unable to set remote authentication

Cause:

The initiator was unable to initialize or set authentication properly.

Solution:

Verify that your initiator settings for authentication are properly configured.


iscsi connection(OID) login failed - unable to make login pdu

Cause:

The initiator was unable to make a login payload data unit (PDU) based on the initiator or storage device settings.

Solution:

Try resetting any target login parameters or other nondefault settings.


iscsi connection(OID) login failed - failed to transfer login


iscsi connection(OID) login failed - failed to receive login response

Cause:

The initiator failed to transfer or receive a login payload data unit (PDU) across the network connection.

Solution:

Verify that the network connection is reachable.


iscsi connection(OID) login failed - received invalid login response (OP CODE)

Cause:

The storage device has responded to a login with an unexpected response.


iscsi connection(OID) login failed - login failed to authenticate with target

Cause:

The initiator was unable to authenticate the storage device.

Solution:

Verify that your initiator settings for authentication are properly configured.


iscsi connection(OID) login failed - initiator name is required

Cause:

An initiator name must be configured to perform all actions.

Solution:

Verify that the initiator name is configured.


iscsi connection(OID) login failed - authentication receive failed


iscsi connection(OID) login failed - authentication transmit failed

Cause:

The initiator was unable to transmit or receive authentication information.

Solution:

Verify network connectivity with the storage device or the RADIUS server, as applicable.


iscsi connection(OID) login failed - login redirection invalid

Cause:

The storage device attempted to redirect the initiator to an invalid destination.

Solution:

Consult the storage documentation, or contact the storage vendor for further assistance.


iscsi connection(OID) login failed - target protocol group tag mismatch, expected <TPGT>, received <TPGT>

Cause:

The initiator and target had a TPGT (target portal group tag) mismatch.

Solution:

Verify your TPGT discovery settings on the initiator or the storage device.


iscsi connection(OID) login failed - can't accept PARAMETER in security stage

Cause:

The device responded with an unsupported login parameter during the security phase of login.

Solution:

The parameter name is noted for reference. Consult the storage documentation, or contact the storage vendor for further assistance.


iscsi connection(OID) login failed - HeaderDigest=CRC32 is required, can't accept VALUE


iscsi connection(OID) login failed - DataDigest=CRC32 is required, can't accept VALUE

Cause:

The initiator is only configured to accept a HeaderDigest or DataDigest that is set to CRC32 for this target. The device returned the value of VALUE.

Solution:

Verify that the initiator and device digest settings are compatible.


iscsi connection(OID) login failed - HeaderDigest=None is required, can't accept VALUE


iscsi connection(OID) login failed - DataDigest=None is required, can't accept VALUE

Cause:

The initiator is only configured to accept a HeaderDigest or DataDigest that is set to NONE for this target. The device returned the value of VALUE.

Solution:

Verify that the initiator and device digest settings are compatible.


iscsi connection(OID) login failed - can't accept PARAMETER

Cause:

The initiator does not support this parameter.


iscsi connection(OID) login failed - can't accept MaxOutstandingR2T VALUE

Cause:

The initiator does not accept MaxOutstandingR2T of the noted VALUE.


iscsi connection(OID) login failed - can't accept MaxConnections VALUE

Cause:

The initiator does not accept the maximum connections of the noted VALUE.


iscsi connection(OID) login failed - can't accept ErrorRecoveryLevel VALUE

Cause:

The initiator does not accept an error recovery level of the noted VALUE.


iscsi session(OID) NAME offline

Cause:

All connections for this target NAME have been removed or have failed.


iscsi connection(OID) failure - unable to schedule enumeration

Cause:

The initiator was unable to enumerate the LUNs on this target.

Solution:

You can force LUN enumeration by running the devfsadm -i iscsi command. For more information, see devfsadm(1M).


iscsi connection(OID) unable to connect to target NAME (errno:ERRNO)

Cause:

The initiator failed to establish a network connection.

Solution:

For information about the specific ERRNO on the connection failure, see the /usr/include/sys/errno.h file.