How Virtual Volumes and UNMAP primitive interact?
search cancel

How Virtual Volumes and UNMAP primitive interact?


Article ID: 301290


Updated On:


VMware vCenter Server VMware vSphere ESXi


When a Virtual Volumes (VVols) capable array is part of a storage configuration attached to an ESXi host, the array uses one or more SCSI LUNs as Protocol Endpoints (PEs) for VVols. During a storage scan or rescan, the ESXi storage stack (PSA) discovers PEs as it would discover regular LUNs. In addition, as it does for regular LUNs, PSA determines whether the array supports specific SCSI capabilities and VAAI accelerations for each PE. One such capability is support for the SCSI UNMAP command (opcode 0x42 from the T10 standard for SCSI Block commands). The behavior of the UNMAP command in traditional non-VVols storage environments differs from its behavior in the VVols environments.

In non-VVols environments, a LUN on the ESXi host can be used as an RDM, VMFS, VMFS-L, VFFS, and so on. With VMFS, for example, the UNMAP command from a guest OS cannot be passed directly to the array and would need a manual command to trigger UNMAP for the array. How UNMAP is handled in non-VVols cases is not covered in this article.


VMware vCenter Server 6.0.x
VMware vSphere ESXi 6.0


On VVols-backed VMs, if a guest OS issues the UNMAP command, the command can be sent directly to the VVols array for handling. This, however, depends on the type of the guest OS and on the hardware version of a particular VM.

For example, Windows 2012 Server VMs that run on vSphere 6.0 integrated with VVols storage can generate UNMAP commands. Some guest OSes that support unmapping of blocks, such as Linux-based systems, do not generate UNMAP commands on virtual disks in vSphere 6.0. This occurs because the level of SCSI support for ESXi 6.0 virtual disks is SCSI-2, while Linux expects 5 or higher for SPC-4 standard. This limitation prevents generation of UNMAP commands until the virtual disks are able to claim support for at least SPC-4 SCSI commands.
To support UNMAP automatically, the VMs that run in VVols environment must be of hardware version 11 or above.

Additional Information

For translated versions of this article, see: