Virtual Volumes (VVols) is one the new feature addition with vSphere 6.0. Virtual volumes are encapsulations of virtual machine files, virtual disks, and their derivatives. Virtual volumes are stored natively inside a storage system that is connected through Ethernet or SAN. They are exported as objects by a compliant storage system and are managed entirely by hardware on the storage side. Typically, a unique GUID identifies a virtual volume.
Virtual volumes are not preprovisioned, but created automatically when you perform virtual machine management operations. These operations include a VM creation, cloning, and snapshotting. ESXi and vCenter Server associate one or more virtual volumes to a virtual machine.
Currently all storage is LUN-centric or volume-centric, especially when it comes to snapshots, clones and replication. VVols makes it storage VM-centric. WithVVols, most of the data operations can be offloaded to the storage arrays. VVols goes much further and makes storage arrays aware of individual VMDK files.Virtual volumes encapsulate virtual disks and other virtual machine files as natively stored the files on the storage system.
How Many Virtual Volumes (VVols) created Per Virtual Machine ?
For every VM a single VVol is created to replace the VM directory in today’s system.
- 1 config VVol represents a small directory that contains metadata files for a virtual machine. The files include a .vmx file, descriptor files for virtual disks, log files, and so forth.
- 1 VVol for every virtual disk (.VMDK)
- 1 VVol for swap, if needed
- 1 VVol per disk snapshot and 1 per memory snapshot
Additional virtual volumes can be created for other virtual machine components and virtual disk derivatives, such as clones, snapshots, and replicas.
Major Components of VMware Virtual Volumes (VVols):
There are 3 important objects in particular related to Virtual Volumes(VVols) are the storage provider, the protocol endpoint and the storage container. Let’s discuss about each of the 3 items:
- A VVols storage provider, also called a VASA provider. Storage provider is implemented through VMware APIs for Storage Awareness (VASA) and is used to manage all aspects of VVols storage.
- Storage provider delivers information from the underlying storage,so that storage container capabilities can appear in vCenter Server and the vSphere Web Client.
- Vendors are responsible for supplying storage providers that can integrate with vSphere and provide support to VVols.
- VVols uses a storage container, which is a pool ofraw storage capacity or an aggregation of storage capabilities that a storage system can provide to virtual volumes.
- The storage container logically groups virtual volumes based on management and administrative needs. For example, the storage container can contain all virtual volumes created for a tenant in a multitenant deployment, or a department in an enterprise deployment. Each storage container serves as a virtual volume store and virtual volumes are allocated out of the storage container capacity.
- Storage administrator on the storage side defines storage containers. The number of storage containers and their capacity depend on a vendor-specific implementation, but at least one container for each storage system is required.
Protocol EndPoint (PE):
- Although storage systems manage all aspects of virtual volumes, ESXi hosts have no direct access to virtual volumes on the storage side. Instead, ESXi hosts use a logical I/O proxy, called the protocol endpoint, to communicate with virtual volumes and virtual disk files that virtual volumes encapsulate.
- ESXi uses protocol endpoints to establish a data path on demand from virtual machines to their respective virtual volumes.
- Each virtual volume is bound to a specific protocol endpoint. When a virtual machine on the host performs an I/O operation, the protocol endpoint directs the I/O to the appropriate virtual volume. Typically, a storage system requires a very small number of protocol endpoints. A single protocol endpoint can connect to hundreds or thousands of virtual volumes.
- A VVols datastore represents a storage container in vCenter Server and the vSphere Web Client.
- After vCenter Server discovers storage containers exported by storage systems, you must mount them to be able to use them. You use thedatastore creation wizard in the vSphere Web Client to map a storage container to a VVols datastore.
- The VVols datastore that you create corresponds directly to the specific storage container and becomes the container’s representation in vCenter Server and the vSphere Web Client.
- From a vSphere administrator prospective, the VVols datastore is similar to any other datastore and is used to hold virtual machines. Like other datastores, the VVols datastore can be browsed and lists configuration virtual volumes by virtual machine name. Like traditional datastores, the VVols datastore supports unmounting and mounting. However, such operations as upgrade and resize are not applicable to theVVols datastore. The VVols datastore capacity is configurable by the storage administrator outside of vSphere.