节点可以通知其主机有关发出的 SCSI 命令的事件。
某些事件是 SCSI 体系结构的组成部分,由主机应用程序或设备驱动程序进行处理,而不报告事件。 某些事件(例如,读写 I/O 事件,或者与节点丢失或对后端设备的访问丢失关联的事件)会导致应用程序 I/O 失败。 为了帮助对这些事件进行故障诊断,将返回带有 Check Condition 状态的 SCSI 命令,检测信息中会包含 32 位事件标识。 该标识与事件日志中的特定事件相关。
如果主机应用程序或设备驱动程序捕获到并存储了这些信息,那么可以将应用程序故障与事件日志相关联。
SCSI 状态 描述了节点返回的 SCSI 状态和代码。
状态 | 代码 | 描述 |
---|---|---|
Good | 00h | 命令成功。 |
Check condition | 02h | 命令失败但检测数据可用。 |
Condition met | 04h | 不适用 |
Busy | 08h | 存在自动应急并行访问条件,并且命令指定了 NACA=0。 |
Intermediate | 10h | 不适用 |
Intermediate - condition met | 14h | 不适用 |
Reservation conflict | 18h | 返回内容在存在保留或持久保留条件的 SPC2 和 SAM-2 中所指定。 |
Task set full | 28h | 发起程序至少在该端口上有一个任务在排队等待该 LUN。 |
ACA active | 30h | 如 SAM-2 中所指定,报告了该代码。 |
Task aborted | 40h | 如果在控制方式页面 0Ch 中设置了 TAS,那么将返回该代码。 节点具有缺省设置 TAS=0,该设置无法更改;因此节点不会报告该状态。 |
节点会通知主机有关 SCSI 命令的事件。 SCSI 检测关键字、代码和限定符 定义了节点返回的 SCSI 检测关键字、代码和限定符。
键 | 代码 | 限定符 | 定义 | 描述 |
---|---|---|---|---|
2h | 04h | 01h | 未就绪。 逻辑单元正在准备。 | 节点看不到系统,因此无法执行 I/O 操作。 其他检测未包含更多信息。 |
2h | 04h | 0Ch | 未就绪。 目标端口处于不可用状态。 | 可能有下列情况: |
3h | 00h | 00h | 介质事件 | 仅对于读写 I/O 返回此项。 I/O 在其范围内的特定 LBA 处遇到了事件。 事件的位置在检测数据中进行了报告。 其他检测还包含将事件与对应事件日志条目相关联的原因码。 例如,RAID 控制器事件或已迁移介质事件。 |
4h | 08h | 00h | 硬件事件。 发生了命令到逻辑单元通信故障。 | I/O 遇到了与 RAID 控制器返回的 I/O 事件关联的事件。 其他检测包含指向控制器返回的检测数据的原因码。 仅对于 I/O 类型命令返回此项。 状态为 prepared 和 preparing 的 FlashCopy 目标卷也会返回该事件。 |
5h | 25h | 00h | 非法请求。 不支持逻辑单元。 | 逻辑单元不存在或未映射到命令的发送方。 |
原因码显示在检测数据的第 20-23 个字节中。 原因码为节点提供了特定日志条目。 该字段是 32 位无符号数字,从最高有效字节开始显示。 原因码 列出了原因码及其定义。
如果原因码未在原因码 中列出,那么代码表示事件日志中与相关事件日志条目序号对应的特定事件。
原因码(十进制) | 描述 |
---|---|
40 | 资源属于已停止的 FlashCopy 映射。 |
50 | 资源属于高速镜像或全局镜像关系,并且辅助 LUN 处于脱机状态。 |
51 | 资源属于高速镜像或全局镜像,并且辅助 LUN 为只读。 |
60 | 节点处于脱机状态。 |
71 | 资源未与任何域绑定。 |
72 | 资源已与重新创建的域绑定。 |
73 | 正在由于某些原因(这些原因不会导致任何路径转入脱机状态)而收缩的节点上运行。 |
80 | 等待修复完成或删除卷。 |
81 | 等待验证完成或删除卷。 |
82 | 脱机的自动精简配置卷导致数据在目录高速缓存中被锁定。 对于其他自动精简配置卷无法达到足够的性能,因此这些卷已转入脱机状态。 |
85 | 由于对定额磁盘进行检测点设置失败,卷转入脱机状态。 |
86 | repairvdiskcopy -medium 命令已创建虚拟介质错误,错误表明拷贝不同。 |
93 | 脱机 RAID-5 或 RAID-6 阵列导致正在写入的数据锁定。 其他阵列无法达到良好的性能,因此这些阵列转入脱机状态。 |
94 | 由于对定额磁盘进行检查点设置失败,属于卷的阵列 MDisk 转入脱机状态。 |
95 | 该原因码用于 MDisk 坏区转储文件,表明数据丢失的原因是不得不将奇偶性校验与重新构建条带再同步,或者是由于多个故障而导致的某些其他 RAID 算法原因。 |
96 | 由于内部元数据表已满,属于卷的 RAID-6 阵列 MDisk 已转入脱机状态。 |