VMware VVOL – Overview

Over the last couple of months, I tried to get up to speed with all the talk about VMware VVOL and how it will change the virtualization game. Below is a quick summary of what I think will give you a good overview of what will change:

VMWare VVOL Overview

VVOL will no longer use VMFS3 & VMFS5 and will replace datastores as we know them today. VVOL will not be pre-provisioned, unlike LUNs. VVOL are created when you create a VM, power on a VM, clone or snapshot a VM. VASA will be used to manage the underlying storage arrays through ESXi. For the users who are not familiar with VASA, vSphere APIs for Storage Awareness are used to create and provide storage for ESXi hosts on the storage array. Storage arrays will be partitioned into logical containers (Storage Containers). Note, Storage Containers are not LUNs.

Virtual Machine files configuration files will be stored on Storage Containers.
Additionally, main data services will be offloaded to the array. Storage policies can specify the capabilities of the underlying storage array. This allows to enable capabilities like snapshots, replication, deduplication and encryption on a per VM level and not a per datastore level.

VASA Provider (VP)
The VP is software component developed and provided by your storage vendor. The VP is used to present the array-side capabilities to the ESXi host which then can utilize them or assign them to Virtual Machines. The VASA Provider uses the vSphere APIs for Storage which are exported by ESXi. Most storage vendors will have the VP sitting on their controllers. However, VPs can also exist as a VMware Appliance.
Protocol Endpoint (PE)
Protocol Endpoints enable the communication between ESXi hosts and storage array. PEs are managed by the storage administrator and support FC, ISCSI, FCoE and NFS. New PEs will be discovered as part of the rescan process on a ESXi host.
Multi-pathing will work exactly the same way and existing multi-path policies can be applied.
Storage Containers
Storage Containers are not LUNs!
A single VVOL can use multiple storage containers. The capacity is based on the physical storage capacity on your array.
As mentioned before, Storage Policies will be used to represent the capabilities of the underlying array. Storage Policies can be assigned to Storage Containers or VMs. Multiple PEs can access the same Storage Container and every array has at least on Storage Container. Storage Container will remind most people about datastores.
Difference between LUN and Storage Containers?
LUN:
  • Fixed size
  • Needs a FileSystem
  • Can only apply storage capabilities on all VMs provisioned in that LUN
  • Managed by FIleSystem commands
Storage Containers:
  • Size based on array capacity
  • Max number of Storage Containers depends only on the array’s ability
  • Can dynamically be resized (expand & shrink)
  • Can distinguish between storage capabilities for different VMs (Virtual Volumes) provisioned on the same SC
 A detailed overview of VVOL and everything else which will be new, watch this video, by Paudie O’Riordan.