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