Introduction to vVols
Historically, the datastores that have provided storage for VMware virtual machines (VMs) have been created as follows:
- A VMware administrator requests storage from a storage administrator
- The storage administrator creates a disk-like virtual device on an array and provisions it to the ESXi host environment for access via iSCSI or Fibre Channel
- The VMware administrator rescans ESXi host I/O interconnects to locate the new device and formats it with VMware’s Virtual Machine File System (VMFS) to create a datastore.
- The VMware administrator creates a VM and one or more virtual disks, each instantiated as a file in the datastore’s file system and presented to the VM as a disk-like block storage device.
Virtual storage devices instantiated by storage arrays are called by multiple names. Among server users and administrators, LUN (numbered logical unit) is popular. The FlashArray term for virtual devices is volume. ESXi and guest hosts address commands to LUNs that are usually assigned automatically to volumes.
While plugins can automate datastore creation to some extent, they have some fundamental limitations:
- Every time additional capacity is required, VMware and storage administrators must coordinate their activities
- Certain widely-used storage array features such as replication are implemented at the datastore level of granularity. Enabling them affects all VMs that use a datastore
- VMware administrators cannot easily verify that required storage features are properly configured and enabled.
VMware designed vVols to mitigate these limitations. vVol benefits include:
- Virtual Disk Granularity
- Each virtual disk is a separate volume on the array with is own unique properties
- Automatic Provisioning
- When a VMware administrator requests a new virtual disk for a VM, VMware automatically directs the array to create a volume and present it to the VM. Similarly, when a VMware administrator resizes or deletes a virtual disk, VMware directs the array to resize or remove the volume
- Array-level VM Visibility
- Because arrays recognize both VMs and their virtual disks, they can manage and report on performance and space utilization with both VM and individual virtual disk granularity.
- Storage Policy Based Management
- With visibility to individual virtual disks, arrays can take snapshots and replicate volumes at the precise granularity required. VMware can discover an array’s virtual disks and allow VMware administrators to manage each vVol’s capabilities either ad hoc or by specifying policies. If a storage administrator overrides a vVol capability configured by a VMware administrator, the VMware administrator is alerted to the non-compliance.
Here is a generic high level view of the vVol Architecture.
VMware designed the vVol architecture to mitigate the limitations of the VMFS-based storage paradigm while retaining the benefits, and merging them with the remaining advantages of Raw Device Mappings.
VMware’s vVol architecture consists of the following components:
- Management Plane (section titled The FlashArray VASA Provider)
- Implements the APIs that VMware uses to manage the array. Each supported array requires a vSphere API for Storage Awareness (VASA) provider, implemented by the array vendor.
- Data Plane (section titled vVol Binding)
- Provisions vVols to ESXi hosts
- Policy Plane (section titled Storage Policy Based Management)
- Simplifies and automates the creation and configuration of vVols.