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 主机会将问题路径标记为不活动。将路径标记为不活动后,主机可能会触发故障切换,然后使用备用工作路径。

过程

  1. 通过运行相应的命令设置参数:

    操作

    命令

    启用将问题路径标记为不活动的功能

    # 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

  2. 通过运行以下命令检查参数的状态:

    # 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