ESXi 会将虚拟机的磁盘文件存储到位于 SAN 存储设备上的 VMFS 数据存储内。当虚拟机客户机操作系统向其虚拟磁盘发出 SCSI 命令时,SCSI 虚拟化层会将这些命令转换成 VMFS 文件操作。

虚拟机与其在 SAN 上存储的虚拟磁盘交互时,将发生以下过程:

  1. 虚拟机中的客户机操作系统读写 SCSI 磁盘时,将向虚拟磁盘发出 SCSI 命令。

  2. 虚拟机操作系统中的设备驱动程序将与虚拟 SCSI 控制器进行通信。

  3. 虚拟 SCSI 控制器将命令转发至 VMkernel。

  4. VMkernel 将执行以下任务。

    1. 在 VMFS 卷中查找与客户机虚拟机磁盘对应的文件。

    2. 将对虚拟磁盘上块的请求映射到相应物理设备上的块。

    3. 将修改后的 I/O 请求从 VMkernel 中的设备驱动程序发送到物理 HBA。

  5. 物理 HBA 可执行以下任务。

    1. 依据 FC 协议的规则将 I/O 请求打包。

    2. 将请求传输至 SAN。

  6. 根据 HBA 用于连接架构的端口,相应 SAN 交换机会收到请求并将其路由至主机要访问的存储设备。