ESXi stores a virtual machine's disk files within a VMFS datastore that resides on a SAN storage device. When virtual machine guest operating systems issue SCSI commands to their virtual disks, the SCSI virtualization layer translates these commands to VMFS file operations.

When a virtual machine interacts with its virtual disk stored on a SAN, the following process takes place:

1

When the guest operating system in a virtual machine reads or writes to SCSI disk, it issues SCSI commands to the virtual disk.

2

Device drivers in the virtual machine’s operating system communicate with the virtual SCSI controllers.

3

The virtual SCSI controller forwards the command to the VMkernel.

4

The VMkernel performs the following tasks.

a

Locates the file, which corresponds to the guest virtual machine disk, in the VMFS volume.

b

Maps the requests for the blocks on the virtual disk to blocks on the appropriate physical device.

c

Sends the modified I/O request from the device driver in the VMkernel to the iSCSI initiator (hardware or software).

5

If the iSCSI initiator is a hardware iSCSI adapter (both independent or dependent), the adapter performs the following tasks.

a

Encapsulates I/O requests into iSCSI Protocol Data Units (PDUs).

b

Encapsulates iSCSI PDUs into TCP/IP packets.

c

Sends IP packets over Ethernet to the iSCSI storage system.

6

If the iSCSI initiator is a software iSCSI adapter, the following takes place.

a

The iSCSI initiator encapsulates I/O requests into iSCSI PDUs.

b

The initiator sends iSCSI PDUs through TCP/IP connections.

c

The VMkernel TCP/IP stack relays TCP/IP packets to a physical NIC.

d

The physical NIC sends IP packets over Ethernet to the iSCSI storage system.

7

Depending on which port the iSCSI initiator uses to connect to the network, Ethernet switches and routers carry the request to the storage device that the host wants to access.