VMware VMFS (Virtual Machine File System) is VMware, Inc.'s cluster file system. It is used by VMware ESX Server and the company's flagship server virtualization suite, VMware Infrastructure.[1] It was developed and is used to store virtual machine disk images, including snapshots. Multiple servers can read/write the same filesystem simultaneously, while individual virtual machine files are locked. VMFS volumes can be logically "grown" (non-destructively increased in size) by spanning multiple VMFS volumes together.
There are three versions of VMFS, corresponding with ESX Server product releases.
VMFS version 1 was used by ESX Server v1.x, which is not sold anymore. It didn't feature the cluster filesystem properties and was used only by a single server at a time. VMFS1 is a flat filesystem with no directory structure. -- Officially named "VMware File System"
VMFS version 2 is used by ESX Server v2.x and (in a limited capacity) v3.x. While ESX Server 3.x can read from VMFS2 volumes, it will not mount them for writing. VMFS2 is a flat filesystem with no directory structure. -- Officially named "VMware File System"
VMFS version 3 is used by ESX Server v3.x. As a most noticeable feature, it introduced directory structure in the filesystem. Older versions of ESX Server cannot read or write VMFS3 volumes. Beginning from ESX 3 and VMFS3, virtual machine configuration files are stored in the VMFS partition by default. -- Officially named "VMware Virtual Machine File System"
Features
Allows access by multiple ESX Servers at the same time by implementing per-file locking. SCSI Reservations are only implemented when LUN meta data is updated (e.g. file name change, file size change, etc.)
Add or delete an ESX Server from a VMware VMFS volume without disrupting other ESX Server hosts.
Create new virtual machines without relying on a storage administrator.
LVM allows for adaptive block sizing and addressing for growing files allows you to increase a VMFS volume on the fly (only by spanning multiple VMFS volumes; extending a volume by growing a LUN is not supported)
Optimize your virtual machine I/O with adjustable volume, disk, file and block sizes.
Recover virtual machines faster and more reliably in the event of server failure with Distributed journaling.
Limitations
Can be shared only between up to 32 ESX Servers.[2]