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.
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.