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(Protocol Data Unit)로 캡슐화합니다.

    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는 이더넷을 통해 iSCSI 스토리지 시스템에 IP 패킷을 전송합니다.

  7. iSCSI 이니시에이터가 네트워크에 연결하기 위해 사용하는 포트에 따라 이더넷 스위치와 라우터는 호스트가 액세스하려고 하는 스토리지 디바이스로 요청을 전송합니다.