某些具有 RDM 的虛擬機器必須從 LUN 取得 SCSI INQUIRY 資訊,而不是使用 ESXi 快取的 SCSI INQUIRY 資料。

問題

在具有 RDM 的虛擬機器中執行的某些客體作業系統或應用程式,顯示無法預期的行為。

原因

該行為可能是由於影響特定客體作業系統和應用程式的快取 SCSI INQUIRY 資料所致。

ESXi 主機先連線到目標儲存裝置時,此主機會發出 SCSI INQUIRY 命令以從裝置取得基本識別資料。依預設,ESXi 可快取接收的 SCSI INQUIRY 資料 (標準,第 80 頁和第 83 頁),且這些資料之後保持不變。將從快取傳回後續 SCSI INQUIRY 命令的回應。

但是,在具有 RDM 的虛擬機器中執行的特定客體作業系統必須查詢 LUN,而不是使用 ESXi 快取的 SCSI INQUIRY 資料。在這些情況下,您可以設定虛擬機器以略過 SCSI INQUIRY 快取。

解決方案

  • 使用下列其中一種方法。
    選項 說明
    修改具有 RDM 之虛擬機器的 .vmx 檔案

    針對具有硬體版本 8 或更新版本的虛擬機器使用此方法。

    1. 在檔案中新增下列參數:
      scsix:y.ignoreDeviceInquiryCache = "true"

      其中,x 是 SCSI 控制器編號,y 是 RDM 的 SCSI 目標編號。

    2. 將虛擬機器重新開機。
    使用 esxcli 命令

    由於您在主機層級進行設定,因此不存在虛擬機器硬體版本限制。

    esxcli storage core device inquirycache set --device device id --ignore true
    虛擬機器不需要重新開機。
    無論使用哪種方法將 SCSI INQUIRY 快取參數設定為 true 時,虛擬機器會開始直接針對 SCSI INQUIRY 資料連絡 LUN。
    略過 vmx 中的 DeviceInquiryCache 參數 略過 esxcli 中的 inquirycache 參數 查詢要求提供自
    True True LUN
    False (參數不存在時的預設值) True LUN
    True False LUN
    False (參數不存在時的預設值) False 快取