ESXi 会将虚拟机的磁盘文件存储到位于 SAN 存储设备上的 VMFS 数据存储内。当虚拟机客户机操作系统向其虚拟磁盘发送 SCSI 命令时,SCSI 虚拟化层会将这些命令转换成 VMFS 文件操作。
虚拟机与其在 SAN 上存储的虚拟磁盘交互时,将发生以下过程:
- 虚拟机中的客户机操作系统读写 SCSI 磁盘时,将向虚拟磁盘发送 SCSI 命令。
- 虚拟机操作系统中的设备驱动程序将与虚拟 SCSI 控制器进行通信。
- 虚拟 SCSI 控制器将命令转发至 VMkernel。
- VMkernel 将执行以下任务。
- 在 VMFS 卷中查找相应的虚拟磁盘文件。
- 将对虚拟磁盘上块的请求映射到相应物理设备上的块。
- 将修改后的 I/O 请求从 VMkernel 中的设备驱动程序发送到物理 HBA。
- 物理 HBA 可执行以下任务。
- 依据 FC 协议的规则将 I/O 请求打包。
- 将请求传输至 SAN。
- 根据 HBA 用于连接到架构的端口,其中一个 SAN 交换机会收到请求。交换机将请求路由到相应的存储设备。