This was a great session on Virtual Volumes. This post will provide a summary of the information given in this session.
You can watch the recording of the session at YouTube here. I assure you this will be one hour well spent!
It will take some time for VMware customers to fully understand the concept of Virtual Volumes.
Currently virtual machines running on vSphere are stored on LUNs. These have restrictions. All VMDK’s on a LUNs are treated the same in regard of LUN capabilities. For instance you cannot replicate just a single VMDK on the storage level. It is all or nothing. Also LUNs are restricted in size. And we cannot attach more than 256 LUNs to a ESX host.
VMware has been working on a more granular level of management of virtual machine disk files. This technology is known as Virtual Volumes (VVOLs). Virtual Volumes are nothing more than the diskfiles associated to a virtual machine. Think Virtual Volume =VMDK.
When using VVOLs we can forget the concept of LUNs as well as VMFS. LUNs and VMFS are not used in Virtual Volumes.
Virtual Volumes provide:
- simplicity of management
- granularity of applying storage capabilities (data services) to virtual machines
Nowadays a LUN provides two functions: storage of data and accesspoint to hosts. In VVOls these two functions are split.
Three concepts of VVOLs are important to understand.
- The Protocol Endpoint (PE) is the endpoint of the data stream from the host. ESXi talks to the protocol endpoint which is able to understand all storage protocols (block and file bases). The PE is created by the storage admin.
- VASA provider. VASA stands for vSphere Storage APIs – Storage Awareness . This piece of software is provided by the storage array vendor and publishes the storage capabilities to the ESXi host. The ESXi hosts exposes a set of VASA API’s. Each storage vendor has to support the API.VASA 1.0 is currently being used in vSphere 5 & 5.5. Virtual Volumes in vSphere 6.0 will use VASA 2.0
- Storage container. This is a collection of storage objects. Each array has at least one storage container. A storage container has capabilties assigned like replication, snapshot retention times, encryption etc. The maximum number of storage containers is determined by the storage vendor. Storage containers cannot snap multiple storage arrays. Each storage container has one or more protocol endpoints associated.
There is no size limit of the storage container. It can be as big as the total storage capacity of the storage array. If the array contains LUNs accessed by physical hosts, the size of the storage container can be restricted by the storage admin.
Protocol Endpoints (PE) are used to zone storage containers. Nowadays at the LUN level is managed which host has access to the LUN. This function is in VVOLs done by the PE.
Dataservices like replication, encryption, de-duplication are all provided by the storage array.
Virtual Volumes do not need a LUN nor a VMFS filesystem
When using VVOLs we still use and see the datastores in the vCenter Server console. Many features of vSphere are based on the concept of datastores. VVOLs are the same as datastores.
Virtual Volumes will allow Storage Policy Based management. VMware Virtual SAN allowed to place virtual machine diskfiles using storage policies. In VVol policies can be created based on storage capabilities like:
- which disk types are used for the storage container
- which snapshot capabilities the storage container provides
Virtual Volumes now allow a per VMDK policy. Admins can now for example snapshot only the virtual disk containing application data. The system disk of the virtual machine will not be snapshotted.
There are 5 types of Virtual Volume objects:
- swap files
- vendor specific
Migration of virtual machines from VMFS to VVOls is done using vMotion and Storage vMotion
Virtual Volumes does has a couple of restrictions since it is a 1.0 release. It will not support Storage DRS. SRM will also not support VVOLs but VMware is working hard to support it in later versions of SRM.
VVols itself does not support RDM
A lot of storage vendors will support VVOLs when it becomes GA. Not every storage array is likely to support VVOLs. It is up to the storage vendor to decide which arrays will be provided with a firmware update with VVOL support.
The slide below shows the vendors currently supporting VVOL.