RDM を使用する特定の仮想マシンは、ESXi でキャッシュされた SCSI INQUIRY データを使用するのではなく、LUN から SCSI INQUIRY 情報を取得する必要があります。

問題

RDM を使用した仮想マシンで実行している特定のゲスト OS またはアプリケーションが予期しない動作を示します。

原因

この動作は、特定のゲスト OS およびアプリケーションの妨げとなるキャッシュされた SCSI INQUIRY データによって生じる可能性があります。

ESXi は、最初にターゲットのストレージデバイスに接続したときに、デバイスから基本的な識別データ を取得するために SCSI INQUIRY コマンドを発行します。デフォルトでは、ESXi は受信した SCSI INQUIRY データ(標準、ページ 80、およびページ 83)をキャッシュした後も、データは変更されません。後続の SCSI INQUIRY コマンドに対する応答がキャッシュから返されます。

ただし、RDM を使用する仮想マシンで実行している特定のゲスト OS は、ESXi によりキャッシュされた SCSI INQUIRY データを使用する代わりに LUN を照会する必要があります。このような場合は、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 に設定しても、仮想マシンは LUN への直接接続を開始して SCSI INQUIRY データを取得します。
    vmx の ignoreDeviceInquiryCache パラメータ esxcli で inquirycache パラメータを無視します 以下から提供される照会要求
    True True LUN
    False(パラメータが存在しない場合のデフォルト値) True LUN
    True False LUN
    False(パラメータが存在しない場合のデフォルト値) False キャッシュ