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