iSCSI 配置问题的故障排除

以下工具可用于解决一般的 iSCSI 配置问题:

snoop-此工具已更新为支持 iSCSI 软件包。

wireshark-可以从 http://www.wireshark.org/ 获取此产品。

这两个工具都可以筛选端口 3260 上的 iSCSI 数据包。

以下各节介绍了各种 iSCSI 故障排除和错误消息解析方案。

从本地系统到 iSCSI 目标无连接
如何解决 iSCSI 连接问题
成为管理员。
列出 iSCSI 目标信息。
例如:

initiator# iscsiadm list target
Target: iqn.2001-05.com.abcstorage:6-8a0900-37ad70401-bcfff02df8a421df-zzr1200-01
TPGT: default
ISID: 4000002a0000
Connections: 0
如果 iscsiadm list target 输出中未列出任何连接,请检查 /var/adm/messages 文件,以找出连接失败的可能原因。
通过使用 ping 命令或使用 telnet 命令与存储设备的 iSCSI 端口连接,还可验证连接是否可访问,从而可确保 iSCSI 服务可用。缺省端口为 3260。

此外,请检查存储设备的日志文件中是否有错误。

如果目标未列在 iscsiadm list target 输出中,请检查 /var/adm/messages 文件,以找出可能的原因。
如果当前使用 SendTargets 作为搜索方法,请尝试使用 -v 选项列出 discovery-address,以确保预期目标对于主机是可见的。例如:

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
如果当前使用 iSNS 作为搜索方法,请尝试启用 iSNS 搜索模式,并使用 -v 选项列出 isns-server,以确保预期目标对主机是可见的。例如:

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 设备或磁盘在本地系统上不可用
如何解决 iSCSI 设备或磁盘的不可用性问题
成为管理员。
确定在枚举过程中在该目标上搜索到的 LUN。
-S 选项可显示在枚举过程中在该目标上搜索到的 LUN。

例如:

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
,

请查看 /var/adm/messages 文件,以查看是否报告了错误。
如果您认为某个 LUN 应该已列出,但却没有列出,请检查此日志文件。

请检查存储设备的日志文件中是否有错误。
请确保任何存储设备 LUN 屏蔽均已正确配置。
在使用 iSNS 搜索方法时使用 LUN 屏蔽
请避免将 iSNS 搜索域用作控制特定启动器的存储验证的方式。如果要确保只有获得授权的启动器才能访问 LUN,请改用 LUN 屏蔽。

如果在目标正在使用时从搜索域中删除该目标,则 iSCSI 启动器将不会从该目标注销。如果不需要该启动器访问该目标(以及关联的 LUN),则必须使用 LUN 屏蔽。仅从搜索域中删除目标是不够的。

一般 iSCSI 错误消息
本节介绍可能在 /var/adm/messages 文件中找到的 iSCSI 消息以及可能的恢复解决方法。

消息格式如下:

iscsi TYPE (OID) STRING (STATUS-CLASS#/STATUS-DETAIL#)
TYPE
连接或会话。

OID
连接或会话的对象 ID。此 ID 对于 OS 实例是唯一的。

STRING
条件的说明。

STATUS-CLASS#/STATUS-DETAIL#
这些值将在 iSCSI 登录响应中返回,如 RFC 3720 所定义的那样。

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

原因: 设备登录因某种形式的启动器错误而失败。

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

原因: 设备不能成功验证启动器。

解决方法: 如果适用,请验证 CHAP 名称、CHAP 口令或 RADIUS 服务器的设置是否正确。

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

原因: 该设备不允许启动器访问 iSCSI 目标设备。

解决方法: 验证启动器名称,并确认该名称已由存储设备正确屏蔽或提供。

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

原因: 该设备不提供对正在请求的 iSCSI 目标名称 (iSCSI target name, ITN) 的访问权限。

解决方法: 验证正确指定了启动器搜索信息,并且正确配置了存储设备。

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

原因: 该设备无法再提供对正在请求的 iSCSI 目标名称 (ITN) 的访问权限。

解决方法: 验证正确指定了启动器搜索信息,并且正确配置了存储设备。

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

原因: 存储设备不支持启动器的 iSCSI 版本。

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

原因: 存储设备无法接受此启动器节点到 iSCSI 目标设备的更多连接。

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

原因: 存储设备正在报告未正确指定启动器或目标名称。

解决方法: 请正确指定 iSCSI 启动器或目标名称。

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

原因: 存储设备遇到硬件或软件错误。

解决方法: 请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。

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

原因: 存储设备当前无法运行。

解决方法: 请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。

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

原因: 存储设备具有的资源不足。

解决方法: 请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。

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

原因: 该启动器无法正确初始化或设置验证。

解决方法: 验证是否已正确配置启动器的验证设置。

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

原因: 启动器无法根据启动器或存储设备的设置生成登录有效负荷数据单元 (payload data unit, PDU)。

解决方法: 请尝试重置所有目标登录参数或其他非缺省设置。

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

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

原因: 启动器无法通过网络连接传输或接收登录有效负荷数据单元 (payload data unit, PDU)。

解决方法: 验证网络连接是否可以访问。

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

原因: 存储设备采用非预期响应来响应登录。

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

原因: 启动器无法验证存储设备。

解决方法: 验证是否已正确配置启动器的验证设置。

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

原因: 必须配置启动器名称才能执行所有操作。

解决方法: 验证是否已配置启动器名称。

iscsi connection(OID) login failed – authentication receive failed

iscsi connection(OID) login failed – authentication transmit failed

原因: 该启动器无法传输或接收验证信息。

解决方法: 根据情况验证存储设备或 RADIUS 服务器的网络连接。

iscsi connection(OID) login failed – login redirection invalid

原因: 存储设备尝试将启动器重定向到无效目标。

解决方法: 请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。

iscsi connection(OID) login failed – target protocol group tag mismatch, expected , received

原因: 启动器和目标的 TPGT(target portal group tag,目标门户组标记)不匹配。

解决方法: 请验证启动器或存储设备上的 TPGT 搜索设置。

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

原因: 设备已在登录安全阶段使用不支持的登录参数进行了响应。

解决方法: 请记录参数名称以供参考。请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。

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

原因: 对于此目标,该启动器已配置为仅接受将 HeaderDigest 或 DataDigest 设置为 CRC32 的情况。设备返回值 VALUE。

解决方法: 验证启动器和设备摘要设置兼容。

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

原因: 对于此目标,该启动器已配置为只接受将 HeaderDigest 或 DataDigest 设置为 NONE 的情况。设备返回值 VALUE。

解决方法: 验证启动器和设备摘要设置兼容。

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

原因: 启动器不支持此参数。

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

原因: 该启动器不接受 MaxOutstandingR2T 值为所记录 VALUE 的情况。

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

原因: 该启动器不接受最大连接数为所记录 VALUE 的情况。

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

原因: 该启动器不接受错误恢复级别值为所记录 VALUE 的情况。

iscsi session(OID) NAME offline

原因: 此目标 NAME 的所有连接都已删除或失败。

iscsi connection(OID) failure – unable to schedule enumeration

原因: 启动器无法枚举此目标上的 LUN。

解决方法: 可以通过运行 devfsadm -i iscsi 命令来强制执行 LUN 枚举。有关更多信息,请参见devfsadm(1M)。

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

原因: 启动器无法建立网络连接。

解决方法: 有关连接故障的特定 ERRNO 的信息,请参见 /usr/include/sys/errno.h 文件。