ESXi 會將虛擬機器的磁碟檔案儲存到位於 SAN 儲存裝置上的 VMFS 資料存放區。虛擬機器客體作業系統向其虛擬磁碟傳送 SCSI 命令時,SCSI 虛擬層會將這些命令轉譯為 VMFS 檔案作業。

虛擬機器與其在 SAN 上儲存的虛擬磁碟互動時,將發生以下程序:

  1. 虛擬機器中的客體作業系統讀取或寫入 SCSI 磁碟時,將向虛擬磁碟傳送 SCSI 命令。
  2. 虛擬機器作業系統中的裝置驅動程式將與虛擬 SCSI 控制器通訊。
  3. 虛擬 SCSI 控制器將命令轉送給 VMkernel。
  4. VMkernel 執行以下工作。
    1. 在 VMFS 磁碟區中尋找適當的虛擬磁碟檔案。
    2. 將虛擬磁碟上區塊的要求對應到適當實體裝置上的區塊。
    3. 將修改後的 I/O 要求,從 VMkernel 中的裝置驅動程式傳送到 iSCSI 啟動器 (硬體或軟體)。
  5. 如果 iSCSI 啟動器是硬體 iSCSI 介面卡 (獨立或相依),則該介面卡執行以下工作。
    1. 將 I/O 要求封裝到 iSCSI 通訊協定資料單元 (PDU)。
    2. 將 iSCSI PDU 封裝到 TCP/IP 封包。
    3. 透過乙太網路將 IP 封包傳送到 iSCSI 儲存區系統。
  6. 如果 iSCSI 啟動器是軟體 iSCSI 介面卡,則將發生以下事件。
    1. iSCSI 啟動器將 I/O 要求封裝到 iSCSI PDU 中。
    2. 啟動器透過 TCP/IP 連線傳送 iSCSI PDU。
    3. VMkernel TCP/IP 堆疊將 TCP/IP 封包轉送到實體 NIC。
    4. 實體 NIC 透過乙太網路將 IP 封包傳送到 iSCSI 儲存區系統。
  7. 網路上的乙太網路交換器和路由器將要求輸送到適當的儲存裝置。