|Full name||Virtual Machine File System|
|Introduced||(ESX Server v1.x)|
|Partition identifier||0xfb (MBR)|
|Max. volume size||64 TB (VMFS5) |
|Max. file size||62 TB |
|Max. number of files||~130,690 (VMFS5) |
|Supported operating systems||VMware ESX|
VMware VMFS (Virtual Machine File System) is VMware, Inc.'s clustered file system used by the company's flagship server virtualization suite, vSphere. It was developed 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. It is not mandatory to use VMFS with VMware; an alternative is NFS.
There are four versions of VMFS, corresponding with ESX Server product releases.
- VMFS1 was used by ESX Server v1.x. It did not 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.
- VMFS2 is used by ESX Server v2.x and (in a limited capacity) v3.x. VMFS2 is a flat filesystem with no directory structure.
- VMFS3 is used by ESX Server v3.x and vSphere 4.x. Notably, it introduces directory structure in the filesystem.
- VMFS5 is used by vSphere 5.x. Notably, it raises the extent limit to 64 TB and the file size limit to 62 TB, though vSphere versions earlier than 5.5 are limited to VMDKs smaller than 2 TB.
- VMFS-L is the underlying file system for VSAN-1.0. Leaf level VSAN objects reside directly on VMFS-L volumes that are composed from server side direct attached storage (DAS). File system format is optimized for DAS. Optimization include aggressive caching with for the DAS use case, a stripped lock down lock manger and faster formats.
- Allows access by multiple ESX servers at the same time by implementing per-file locking. SCSI reservations are only implemented when logical unit number (LUN) metadata 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 servers.
- With ESX/ESXi4, VMFS volumes can also be expanded using LUN expansion.
- Optimize 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.
- Can be shared with up to 64 ESX Servers.
- Maximum filesystem size is 50 TB as of VMFS3, and 64 TB as of VMFS5.
- Maximum LUN size of 2 TB as of VMFS3 and 62 TB as of VMFS5.
- In VMFS3 and VMFS5 prior to vSphere 5.1, the maximum number of hosts which can share a read-only file is 8. This affects the scalability of linked clones sharing the same base image. In vSphere 5.1, this limit is increased to 32 with the introduction of a new locking mechanism.
- VMFS3 limits files to 262,144 (218) blocks, which translates to 256 GB for 1 MB block sizes (the default) up to 2 TB for 8 MB block sizes.
- VMFS5 uses 1 MB blocks throughout (with block suballocation for small files), and has a file size limit of 62 TB, though the VMDK size is restricted to 2 TB - 512 B in ESXi versions earlier than 5.5 due to a limitation in the version of SCSI emulated.
- There is also a limit of approx 30,720 files (using MBR) on a single VMFS3 datastore. This has been raised to 130,690 files (using GPT) on VMFS5 
Open Source Implementations
fluidOps Command Line Tool
A Java open source VMFS driver enables read-only access to files and folders on partitions formatted with the Virtual Machine File System (VMFS) is developed and maintained by fluid Operations AG. It allows features like offloaded backups of virtual machines hosted on VMware ESX hosts up to VMFSv3.
glandium VFS FUSE Mount
Based on fluidOps code, vmfs-tools evolved to add more VMFS features and supports read only VMFS mounts through the standard Linux VFS and the FUSE framework. Developed by Christophe Fillot and Mike Hommey and available as source code download at the glandium.org vmfs-tools page or the Debian vmfs-tools and Ubuntu vmfs-tools packages.
- "vSphere 5.0 Storage Features Part 1 - VMFS5". VMware. 2011-07-12. Retrieved 2012-01-05.
- "Configuration Maximums: VMware vSphere 5.5" (PDF). VMware. 2014-03-14. Retrieved 2014-03-25.
- "What's New in vSphere 5.5 Storage" (PDF). VMware. 2013-08-27. Retrieved 2014-03-25.
- "Configuration Maximums" (PDF). VMware® vSphere 5.0.
- "Configuration Maximums for VMware vSphere 4.1" (PDF). VMware. 2010-07-13. Retrieved 2010-07-13.
- "vSphere 5.1 New Storage Features". VMware.
- Java open source VMFS driver