kantver - Fotolia
VMware vSphere APIs for I/O Filtering (VAIO) is a collection of application programming interfaces (APIs) that provide direct access to the I/O activity of virtual machines and virtual disks. Third-party applications can be used to make important decisions about the way each VM's I/O is handled.
For example, normal VM I/O moves from the VM to a storage driver. Then the I/O moves through several kernel layers including storage, file system and device layers. And finally the storage I/O can be committed to physical disks. VMware VAIO introduces another layer between the hypervisor kernel and the physical disks which can check the I/O against any additional policies that might be applied. If so, filters can implement relevant actions -- such as caching or replicating the I/O, and encrypting data -- and then commit the write to disk.
The actual "filters" are to be written by VMware partners; enterprise users obtain those filters when they purchase and install products provided by those partners. For example, if you purchase a replication or caching tool from a VMware partner and the partner provides a VAIO filter, vSphere 6 will see the filter and make it available to administrators through the storage policy-based management along with other storage features such as Virtual SAN and Virtual Volumes.
Caching is one important example of VMware VAIO functionality. With VAIO filters, disk reads and writes can be cached from disk to a local flash storage device. Subsequent reads can take place from the local cache much faster than from a SAN or other network storage. This boosts VM performance and frees bandwidth for other disk activity.
As more vendor partners release VAIO-compliant functionality, the expectation is for more filters to become available and support a wider range of storage-related tasks like antivirus, encryption and so on.
Dig Deeper on Selecting storage and hardware for VMware environments
Related Q&A from Stephen J. Bigelow
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading