VVOL Technology Still in Preview
Another VMworld has come and gone and still we havent seen the production deployment of VVOLs. Just to recap, VVOLs are the evolution of the packaging of virtual machines that currently reside in data stores. The main benefit is to be able to apply storage performance and availability policies to a VM object rather than an entire datastore as we do today. Although weve seen demonstrations of VVOLs for some time, VVOL code has not yet made it into a GA vSphere launch. Presumably this will change with the release of vSphere 6.0 sometime next year. The challenges around what seems like a trivial change in storage deployment are pretty immense and require work from both the hypervisor and storage side.
From the perspective of the storage array, a VVOL seems to look like nothing more than a small LUN (at least on block-based storage anyway). Many of the references to VVOL talk about a storage endpoint (which is still presumably an existing LUN) and a number of objects that reference the VVOL itself. For the storage vendor this means amending their array design and potentially supporting significantly more storage objects than before, where each of these objects could also be a snapshot or replica. Rather than thinking in thousands of LUNs, systems could have to support hundreds of thousands of VVOL objects, which represents a big overhead in DRAM memory/cache requirements and the in-memory structures used to represent them. This change alone could represent massive overhead and impact array performance.
Then we have to think about other system functions like replication, (array-based) snapshots, VAAI offload, all of which need to be changed to a more refined level of granularity. Again this can represent a significant design problem for array vendors. Think also about array connectivity (how each object will be addressed over Fibre Channel, FCoE, iSCSI and NFS) and how those objects will be queued on a connected port. Finally theres the whole benefit of VVOLs, the ability to apply independent QoS (Quality of Service) to each object. Many arrays today dont even offer this for traditional LUNs.