主机看不到盘的分层排查
主机侧识别不到 LUN,可能是主机、fabric、阵列任一层的问题,用固定顺序排查能避免反复试错:先确认主机端口是否真正登录 fabric 并出现在名称服务中,再看分区是否同时包含主机与目标端口,然后核对阵列侧的主机组与映射是否包含该主机端口,最后才回到主机侧重扫与多路径聚合。顺序的核心思路是每一层都必须有双向证据,只看单侧输出很容易得出错误结论。
基本信息
| 排查顺序 | 主机端口登录 → 名称服务 → 分区成员 → 阵列映射 → 主机重扫与聚合 |
|---|---|
| Linux 工具 | lsscsi、multipath -ll、主机扫描脚本、内核日志 |
| Windows 工具 | 磁盘管理、磁盘重扫、多路径状态查看 |
| 常见原因 | 分区漏成员、映射漏主机、LUN 未上线、需重扫 |
| 权限要求 | 主机、交换机与阵列只读权限即可完成多数检查 |
典型使用场景
- 新主机首次接入后看不到预期 LUN
- 扩容新增 LUN 后主机侧只有部分设备出现
- 集群中单节点看不到共享盘而其他节点正常
- 分区或映射变更后需要验证可见性
- 故障恢复后确认路径与设备是否全部回到预期
分层检查(Linux 示例)
分层检查(Linux 示例)
# 1) 主机端口是否登录 fabric:交换机名称服务应有记录
# 2) 主机侧确认扫描到的设备
lsscsi && multipath -ll
# 3) 触发主机重扫(先确认目标主机上无正在使用的设备风险)
rescan-scsi-bus.sh
echo '- - -' > /sys/class/scsi_host/host0/scan
# 4) 查看内核是否报告新设备或错误
dmesg | tail -40
# 5) 阵列侧核对主机组与 LUN 映射是否包含该主机端口分层检查表
| 层次 | 检查内容 | 异常表现 |
|---|---|---|
| 主机端口 | 端口状态与登录记录 | 端口未登录或链路异常 |
| 名称服务 | 主机与目标端口是否登记 | 缺一方说明链路或登录有问题 |
| 分区 | 是否同时包含两端成员 | 成员缺失导致互相不可见 |
| 阵列映射 | 主机组是否包含该主机端口 | 映射缺失时分区正确也看不到盘 |
| LUN 状态 | LUN 是否在线且已分配 | LUN 未上线或处于异常状态 |
| 主机侧 | 是否需要重扫与多路径聚合 | 设备已扫到但未形成聚合设备 |
重扫是触发识别最常用的动作,但它同时会让内核重新枚举设备,可能影响正在使用的路径;在承载业务的主机上执行前应先确认影响范围。
通过删除设备再重扫来「刷新」识别状态,可能造成设备名变化与多路径映射重建,进而影响依赖固定设备名的挂载配置,应谨慎操作并确认可回退。