ESXi stocke les fichiers disque d'une machine virtuelle dans une banque de données VMFS se trouvant sur un périphérique de stockage du SAN. Lorsque les systèmes d'exploitation invités de la machine virtuelle envoient des commandes SCSI à leurs disques virtuels, la couche de virtualisation SCSI traduit ces commandes en opérations de fichier VMFS.
Lorsqu'une machine virtuelle interagit avec son disque virtuel stocké sur un SAN, le processus suivant a lieu :
- Lorsque le système d'exploitation invité sur une machine virtuelle lit ou écrit sur le disque SCSI, il envoie des commandes SCSI au disque virtuel.
- Les pilotes de périphériques dans le système d'exploitation de la machine virtuelle communiquent avec les contrôleurs SCSI virtuels.
- Le contrôleur SCSI virtuel transmet les commandes au VMkernel.
- Le VMkernel effectue les tâches suivantes :
- Localisation du fichier de disque virtuel approprié dans le volume VMFS.
- Mappage des requêtes de blocs sur le disque virtuel sur les blocs sur le périphérique physique approprié.
- Envoi de la demande d'E/S modifiée à partir du pilote du périphérique du VMkernel vers l'initiateur iSCSI (matériel ou logiciel).
- Si l'initiateur iSCSI est un adaptateur iSCSI matériel, indépendant ou dépendant, l'adaptateur effectue les tâches suivantes :
- Encapsulation des demandes d'E/S dans les unités de données de protocole (PDU) iSCSI.
- Encapsulation des PDU iSCSI dans les paquets TCP/IP.
- Envoi des paquets IP via Ethernet au système de stockage iSCSI.
- Si l'initiateur iSCSI est un adaptateur iSCSI logiciel, les actions suivantes ont lieu :
- L'initiateur iSCSI encapsule les demandes d'E/S dans les PDU iSCSI.
- L'initiateur envoie les PDU iSCSI via des connexions TCP/IP.
- La pile TCP/IP VMkernel relaie les paquets TCP/IP vers un adaptateur réseau (NIC) physique.
- La carte réseau (NIC) physique envoie les paquets IP via Ethernet au système de stockage iSCSI.
- Les commutateurs et les routeurs Ethernet sur le réseau acheminent la demande vers le périphérique de stockage approprié.