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