在以下情况下,存储/LUN 设备的路径可能会标记为“不活动”:
- ESXi/ESX 存储堆栈确定由于 TEST_UNIT_READY 命令探测失败路径处于“不活动”状态
- ESXi/ESX 存储堆栈从 HBA 驱动程序处收到主机状态 0x1,其表示:
- 远程阵列端口已超时
- 远程阵列端口已从架构中删除 (RSCN)
- 远程阵列端口已关闭 IP 连接
- 在存储阵列返回永久设备丢失 (PDL) 检查状况后,ESXi/ESX 存储堆栈将路径标记为“不活动”
ESXi/ESX 存储堆栈和 SCSI 命令 TEST_UNIT_READY
当 SCSI 命令无法完成并显示主机状态(例如 H:0x5)时,将会导致系统沿命令失败的路径发送 SCSI 命令 0x0 (TEST_UNIT_READY)。如果 TEST_UNIT_READY 命令也失败,该路径将标记为“不活动”。
此外,Disk.PathEval 例程每 300 秒(默认情况下)沿每个路径发出一次 TEST_UNIT_READY 命令。如果此命令无法完成,该路径也将标记为“不活动”。TEST_UNIT_READY 将以相同的 300 秒间隔沿各个“不活动”路径发出,以防某个路径再次变得不可用(此时,该路径标记为打开而不是不活动)。
在此日志记录示例中,由于失败的命令将立即启动 TEST_UNIT_READY:
vmkernel: 116:03:44:19.039 cpu4:4100)WARNING: NMP: nmp_DeviceRequestFastDeviceProbe: NMP device "sym.029025256531353837" state in doubt; requested fast path state update...
原因:
- 架构中的帧错误/已删除
- 架构中有噪音的设备引发大量错误
- 存储阵列控制器过载
- 交换机问题(B2B 信用耗尽、内存泄露、缺陷)
ESXi/ESX 存储堆栈收到主机状态 0x1
- 远程阵列端口已超时
如果对于 HBA 驱动程序来说连接的阵列端口在设备超时后尚未响应,HBA 驱动程序会将该设备标记为缺失。这会导致 HBA 驱动程序将主机状态 NO_CONNECT (H:0x1) 发送回 ESXi/ESX 存储堆栈层,这样反过来又会导致立即故障切换到其他正常路径(MRU/固定)或从可供循环 PSP 利用的工作路径列表中移除该路径。这将影响通过阵列控制器提供的所有 LUN 的路径。
Emulex 驱动程序上的日志记录示例:
<3> rport-13:0-3: blocked FC remote port time out: saving binding
<3>lpfc820 0000:05:00.1: 1:(0):0203 Devloss timeout on WWPN <WWPN> NPort x270024 Data: x0 x7 x0
<3> rport-13:0-2: blocked FC remote port time out: saving binding
<3>lpfc820 0000:05:00.1: 1:(0):0203 Devloss timeout on WWPN <WWPN> NPort x270023 Data: x0 x7 x0
原因:
- 阵列控制器崩溃或挂起
- 阵列控制器上的负载非常高,这将导致无法及时响应 SCSI 命令
- 交换机问题(B2B 信用耗尽、内存泄露、缺陷)
- 远程阵列端口已从架构中删除
阵列端口在从架构中正常删除时,它会向已连接设备或同一架构区域中的设备发送注册状态更改通知 (RSCN) 或在 N 个端口之间注销 (LOGO)。如果阵列端口未能从架构中正常删除(例如,变得无响应),连接的设备必须等待其设备丢失超时(如前面远程阵列端口已超时中所述)。这将影响通过阵列控制器提供的所有 LUN 的路径。
原因:
- 由于固件升级,阵列控制器已重新引导
- 阵列控制器已重新引导,以便清除错误状态
- 由于其他维护原因,阵列控制器已重新引导
- 远程阵列端口已关闭 IP 连接
同样地,阵列控制器会从架构中删除,这还可能会发生在 iSCSI 端,并会被视为在 TCP/IP 上关闭 iSCSI 会话。这将影响通过阵列控制器提供的所有 LUN 的路径。
ESXi/ESX 存储堆栈和永久设备丢失 (PDL)
VMW_SATP_ALUA: satp_alua_issueCommandOnPath:661: Path "vmhba3:C0:T0:L0" (PERM LOSS) command 0xa3 failed with status Device is permanently unavailable.H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x25 0x0.