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. 視 iSCSI 啟動器用於連線網路的連接埠而定,乙太網路交換器和路由器將要求輸送到主機要存取的儲存裝置。