With the release of vSphere 6, VMware introduced a technology that will change how virtual machines interact with storage called Virtual Volume, or VVOL.
Currently with SAN deployments, there may be several RAID groups, disk pools, aggregates, volumes, or LUNs (logical unit numbers) depending on the storage solution. With this way of thinking, the lowest level of awareness you have is to the LUN or volume. The storage administrator carves up predetermined amount of storage and presents it to vSphere. Then in vSphere that LUN is presented as a datastore, where it hosts several virtual machines and even more virtual machine disks, (VMDKs). If you are having a performance problem troubleshooting becomes a nightmare. With VVOLs, however, there is a VM or VMDK level awareness called Storage Policies that allow you to predetermine the performance per VM and give you granularity to troubleshoot performance issues.
To make VVOLs possible in your environment, there are three concepts you need to understand.
- Vendor Provider: The vendor provider allows the vSphere admin to set virtual machine storage requirements that get pushed down to the underlying storage. Need a VM to perform with 100 IOPS? Set it here and the storage array knows what the virtual machine requires. The Vendor Provider is a plugin created by the storage vendor based on the API provided by VMware.
- Protocol Endpoint: The protocol endpoint acts as an I/O demultiplexor. It communicates to the VVOLs/VMDKs on behalf of vSphere. When there is a read or write request, the protocol endpoint routes the request to the appropriate VVOL/VMDK.
- Storage Container: This is similar to a traditional datastore within VMware. As in the past, disks would need to be pooled into a RAID group, and then LUNs are carved out of those disks and presented to vSphere. With VVOLs however, you only need to pool the disks. Once you have the Vendor Provider and Protocol Endpoint in place, the Storage Container is visible to vSphere. You can then create as many VVOLs as space allows, as long as the storage profile matches the storage container.
So what does all this mean? Consider setting up a storage policy hierarchy as in the example below. When you create or migrate a machine, you can set what storage policy is applied to that VM. You can create settings and parameters based on any technology supported by the storage vendor. In this environment, there is no longer the need for creating a LUN for every scenario performance and redundancy scenario, just set the policy at the VM level and the storage responds.
What does this mean for my current environment? Check with your storage solution provider on their support of VVOLs and upgrade to vSphere 6.0 to take advantage of this fantastic new technology. Contact RSM to learn more about vSphere 6 and VVOLs, and how it could be implemented in your environment.