ESXi は、SAN ストレージ デバイスにある VMFS データストア内に、仮想マシンのディスク ファイルを格納します。仮想マシンのゲスト OS が仮想ディスクに SCSI コマンドを送信すると、SCSI 仮想化レイヤーがこれらのコマンドを VMFS ファイル処理に変換します。
仮想マシンが SAN 上の仮想ディスクと通信するとき、次の処理が実行されます。
- 仮想マシンのゲスト OS が SCSI ディスクの読み取りまたは書き込みを行うとき、仮想ディスクに対して SCSI コマンドが送信されます。
- 仮想マシンのオペレーティング システムのデバイス ドライバが仮想 SCSI コントローラと通信します。
- 仮想 SCSI コントローラは、コマンドを VMkernel に転送します。
- VMkernel は次の処理を実行します。
- VMFS ボリュームから適切な仮想ディスク ファイルを特定します。
- 仮想ディスクに対するブロックの要求を、適切な物理デバイスのブロックにマッピングします。
- 変更した I/O 要求を VMkernel のデバイス ドライバから iSCSI イニシエータ (ハードウェアまたはソフトウェア) に送信します。
- iSCSI イニシエータがハードウェア iSCSI アダプタ(独立型または依存型)の場合、アダプタは次の処理を行います。
- I/O 要求を iSCSI PDU (Protocol Data Unit) にカプセル化します。
- iSCSI PDU を TCP/IP パケットにカプセル化します。
- イーサネット経由で iSCSI ストレージ システムに IP パケットを送信します。
- iSCSI イニシエータがソフトウェア iSCSI アダプタの場合、次の処理が実行されます。
- iSCSI イニシエータが I/O 要求を iSCSI PDU にカプセル化します。
- イニシエータは TCP/IP 接続経由で iSCSI PDU を送信します。
- VMkernel の TCP/IP スタックは TCP/IP パケットを物理 NIC に中継します。
- 物理 NIC はイーサネット経由で iSCSI ストレージ システムに IP パケットを送信します。
- ネットワーク上のイーサネット スイッチとルーターが、適切なストレージ デバイスに要求を転送します。