VMDK Virtual Disk Files explains the different types of virtual disk. The first column corresponds to Virtual Disk Types but without the VIXDISKLIB_DISK prefix. The third column gives the possible names of VMDK files as implemented on Workstation and ESXi hosts.
For information about other virtual machine files, see section “Files that Make Up a Virtual Machine” in the VMware Workstation User’s Manual. On ESXi hosts, VMDK files are type VMFS_FLAT or VMFS_THIN.
Disk Type in API | Virtual Disk Creation on VMware Host | Filename on Host |
---|---|---|
MONOLITHIC_SPARSE | In Select A Disk Type, accepting the defaults by not checking any box produces one VMDK file that can grow larger if more space is needed. The <vmname> represents the name of a virtual machine. On VMFS partitions, this is name of the disk descriptor file. |
<vmname>.vmdk |
MONOLITHIC_FLAT or VMFS_FLAT or VMFS_THIN | If you select only the Allocate all disk space now check box, space is pre-allocated, so the virtual disk cannot grow. The first VMDK file is small and points to a much larger one, whose filename says flat without a sequence number. Similarly on VMFS partitions, this is the virtual disk file that points to virtual disk data files, either thick or thin provisioned. |
<vnname>-flat.vmdk |
SPLIT_SPARSE | If you select only the Split disk into 2GB files check box, virtual disk can grow when more space is needed. The first VMDK file is small and points to a sequence of other VMDK files, all of which have an s before a sequence number, meaning sparse. The number of VMDK files depends on the disk size requested. As data grows, more VMDK files are added in sequence. | <vmname>-s<###>.vmdk |
SPLIT_FLAT | If you select the Allocate all disk space now and Split disk into 2GB files check boxes, space is pre-allocated, so the virtual disk cannot grow. The first VMDK file is small and points to a sequence of other files, all of which have an f before the sequence number, meaning flat. The number of files depends on the requested size. | <vnname>-f<###>.vmdk |
MONOLITHIC_SPARSE or SPLIT_SPARSE snapshot | A redo log (or child disk or delta link) is created when a snapshot is taken of a virtual machine, or with the virtual disk library. Snapshot file numbers are in sequence, without an s or f prefix. The numbered VMDK file stores changes made to the virtual disk <diskname> since the original parent disk, or previously numbered redo log (in other words the previous snapshot). | <diskname>-<###>.vmdk |
SE_SPARSE | Space-efficient sparse (seSparse) format. In vSphere 5.1 and later, used by VMware View to optimize linked clone templates. In the vSphere API, see data object SeSparseVirtualDiskSpec. Use of seSparse as a base disk is neither documented nor supported. | |
n/a | Snapshot of a virtual machine, which includes pointers to all its .vmdk virtual disk files. | <vnname>Snapshot.vmsn |
For lazy zeroed thick disk, all blocks are allocated, and data written to used blocks, however unused blocks are left as-is, so they may contain data from previous use. Many storage systems will zero-out unused blocks in the background. With eager zeroed thick disk, unused blocks are zeroed-out at allocation time.