TUR 命令反复返回重试请求时,存储路径未进行故障切换。
问题
通常存储路径遇到问题时,ESXi 主机会发送 Test Unit Ready (TUR) 命令确认路径是否出现故障,然后启动路径故障切换。但是,如果 TUR 命令失败并反复返回重试操作请求 (VMK_STORAGE_RETRY_OPERATION),则主机会继续重试该命令而不触发故障切换。通常,以下错误会导致主机重试 TUR 命令:
- SCSI_HOST_BUS_BUSY 0x02
- SCSI_HOST_SOFT_ERROR 0x0b
- SCSI_HOST_RETRY 0x0c
原因
要解决此问题,您可以使用 enable|disable_action_OnRetryErrors 参数。启用此参数时,ESXi 主机会将问题路径标记为不活动。将路径标记为不活动后,主机可能会触发故障切换,然后使用备用工作路径。
解决方案
- 通过运行相应的命令设置参数:
操作 |
命令 |
启用将问题路径标记为不活动的功能 |
# esxcli storage nmp satp generic deviceconfig set -c enable_action_OnRetryErrors -d naa.XXX |
禁用将问题路径标记为不活动的功能 |
# esxcli storage nmp satp generic deviceconfig set -c disable_action_OnRetryErrors -d naa.XXX |
- 通过运行以下命令检查参数的状态:
# esxcli storage nmp device list
以下示例输出结果指示参数已被禁用:
naa.XXX
Device Display Name: DGC Fibre Channel Disk (naa.XXX)
Storage Array Type: VMW_SATP_CX Storage Array Type Device
Config: {navireg ipfilter action_OnRetryErrors}
enable|disable_action_OnRetryErrors 参数在重新引导过程中是持久性的。
解决方案
您还可以在配置 SATP 声明规则时设置此参数:
# esxcli storage nmp satp rule add -t device -d naa.XXX -s VMW_SATP_EXAMPLE -P VMW_PSP_FIXED -o enable_action_OnRetryErrors