登录三个阶段的划分
iSCSI 会话建立分三段:先是安全协商,决定是否使用 CHAP 之类的认证方式;接着是操作参数协商,双方就最大数据段、首次突发长度、错误恢复等级等参数达成一致;最后进入全功能阶段,SCSI 命令才真正开始下发。登录请求与响应 PDU 用 CSG/NSG 字段标记当前和下一阶段,任一阶段协商失败,会话就停在那个阶段并返回状态类错误。
基本信息
| 阶段顺序 | 安全协商 → 操作参数协商 → 全功能阶段 |
|---|---|
| 默认端口 | TCP 3260 |
| 关键参数 | MaxRecvDataSegmentLength、FirstBurstLength、ErrorRecoveryLevel、Time2Wait/Time2Retain |
| 客户端命令 | iscsiadm -m node -T <iqn> -p <portal> -l |
| 排错入口 | iscsid 日志、iscsiadm -m session -P 3、目标端登录日志 |
典型使用场景
- 登录失败需要判断是网络不通、认证不匹配还是目标端未授权
- 调整突发长度与错误恢复等级后需确认参数确实协商生效
- 会话在运行中掉线,要区分是链路中断还是目标端口组切换
- 排查多路径环境里某条会话反复重建的原因
- 主机重启后会话未自动恢复,需确认节点启动配置与登录超时
登录与会话检查
登录与会话检查
# 1) 先确认门户可达,再谈登录
nc -vz 10.0.20.11 3260
# 2) 登录指定目标
iscsiadm -m node -T iqn.2024-01.com.example:storage01 -p 10.0.20.11:3260 -l
# 3) 查看会话与协商后的参数
iscsiadm -m session -P 3
# 4) 登录失败时查看节点记录与主机日志
iscsiadm -m node -o show | head -40
journalctl -u iscsid | tail -50登录阶段判读
| 阶段 | 协商内容 | 失败典型表现 |
|---|---|---|
| 安全协商 | AuthMethod、CHAP 凭据 | 认证失败,目标端记录认证拒绝 |
| 操作参数协商 | 数据段长度、突发长度、错误恢复等级 | 参数不被接受,登录在该阶段停止 |
| 全功能阶段 | SCSI 命令下发与任务管理 | 会话建立但 LUN 不出现,多为映射问题 |
| 会话恢复 | Time2Wait、Time2Retain | 掉线后长时间无法重连或反复重建 |
登录失败信息量有限,通常需要两侧同时看:发起端的 iscsid 日志给出拒绝原因类别,目标端日志能确认是认证失败、ACL 未授权还是门户未监听。
错误恢复等级设置过高会要求目标端与网络同时支持相应能力,跨厂商环境中盲目启用可能导致会话异常断开;调整前确认两端能力并以厂商文档为准。