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 交换机会收到请求。交换机将请求路由到相应的存储设备。