Several components are involved in the I/O filtering process.
The basic components of I/O filtering include the following:
- VAIO Filter Framework
- A combination of user world and VMkernel infrastructure provided by ESXi. With the framework, you can add filter plug-ins to the I/O path to and from virtual disks. The infrastructure includes an I/O filter storage provider (VASA provider). The provider integrates with the Storage Policy Based Management (SPBM) system and exports filter capabilities to vCenter Server.
- I/O Filter Plug-In
- A software component provided by VMware or developed by VMware partners that intercepts and filters I/O data in transit between virtual disks and guest operating systems. If VMware partners develop the I/O filter, the filter might include additional optional components that help in its configuration and management.
The following figure illustrates the components of I/O filtering and the flow of I/O between the guest OS and the virtual disk.
Each Virtual Machine Executable (VMX) component of a virtual machine contains a Filter Framework that manages the I/O filter plug-ins attached to the virtual disk. The Filter Framework invokes filters when the I/O requests move between the guest operating system and the virtual disk. Also, the filter intercepts any I/O access towards the virtual disk that happens outside of a running VM.
The filters run sequentially in a specific order. For example, a replication filter executes before a cache filter. More than one filter can operate on the virtual disk, but only one for each category.
Once all filters for the particular disk verify the I/O request, the request moves to its destination, either the VM or the virtual disk.
Because the filters run in user space, any filter failures impact only the VM, but do not affect the ESXi host.