ESXi は、SAN ストレージ デバイスにある VMFS データストア内に、仮想マシンのディスク ファイルを格納します。仮想マシンのゲスト OS が仮想ディスクに SCSI コマンドを送信すると、SCSI 仮想化レイヤーがこれらのコマンドを VMFS ファイル処理に変換します。

仮想マシンが SAN 上の仮想ディスクと通信するとき、次の処理が実行されます。

  1. 仮想マシンのゲスト OS が SCSI ディスクの読み取りまたは書き込みを行うとき、仮想ディスクに対して SCSI コマンドが送信されます。

  2. 仮想マシンのオペレーティング システムのデバイス ドライバが仮想 SCSI コントローラと通信します。

  3. 仮想 SCSI コントローラは、コマンドを VMkernel に転送します。

  4. VMkernel は次の処理を実行します。

    1. VMFS ボリュームから適切な仮想ディスク ファイルを特定します。

    2. 仮想ディスクに対するブロックの要求を、適切な物理デバイスのブロックにマッピングします。

    3. 変更した I/O 要求を VMkernel のデバイス ドライバから iSCSI イニシエータ (ハードウェアまたはソフトウェア) に送信します。

  5. iSCSI イニシエータがハードウェア iSCSI アダプタ(独立型または依存型)の場合、アダプタは次の処理を行います。

    1. I/O 要求を iSCSI PDU (Protocol Data Unit) にカプセル化します。

    2. iSCSI PDU を TCP/IP パケットにカプセル化します。

    3. イーサネット経由で iSCSI ストレージ システムに IP パケットを送信します。

  6. iSCSI イニシエータがソフトウェア iSCSI アダプタの場合、次の処理が実行されます。

    1. iSCSI イニシエータが I/O 要求を iSCSI PDU にカプセル化します。

    2. イニシエータは TCP/IP 接続経由で iSCSI PDU を送信します。

    3. VMkernel の TCP/IP スタックは TCP/IP パケットを物理 NIC に中継します。

    4. 物理 NIC はイーサネット経由で iSCSI ストレージ システムに IP パケットを送信します。

  7. ネットワーク上のイーサネット スイッチとルーターが、適切なストレージ デバイスに要求を転送します。