VMware vSphere Virtual Machine File System (VMFS) is a high-performance cluster file system that provides storage virtualization optimized for virtual machines. VMFS is the default storage management interface for block based disk storage (Local and SAN attached).
VMFS allows multiple instances of VMware vSphere servers to access shared virtual machine storage concurrently. It also enables virtualization-based distributed infrastructure services such as VMware DRS, vSphere HA, vMotion and Storage vMotion to operate across a cluster of vSphere servers. In short, VMFS provides the foundation that enables the scaling of virtualization beyond the boundaries of a single system.
Conventional file systems allow only one server to have read/write access to a specific file at a given time. VMFS leverages shared storage to allow multiple vSphere servers to have concurrent read and write access to the same storage resources. VMFS also has distributed journaling of changes to the VMFS metadata to enable fast and resilient recovery in the event of server crashes or power issues.
VMFS uses on-disk locking to make sure a single virtual machine is not powered up on multiple vSphere hosts at the same time. When vSphere HA is enabled, if a server fails, the on-disk lock for each virtual machine is released under control of vSphere HA, allowing the virtual machine to be restarted on other vSphere hosts.
VMFS-5
VMware vSphere 5.0 introduced a new version of vSphere’s virtual machine file system, VMFS-5. VMFS-5 allows greater scalability and performance while reducing complexity. While under the covers many fundamental changes have been made the following enhancements are significant from an operational and architectural aspect:
- 2TB+ Device Support
- Unified block size
- Improved sub-block mechanism
- Additional ATS usage (VAAI Hardware Acceleration for file locking)
VMware vSphere 5.0 allows for a non-disruptive upgrade from VMFS-3 to VMFS-5 ensuring consistency across virtual infrastructures. The unified block size, 1MB, allows for easier deployments and reduced complexity from an architectural and operational aspect while maintaining the scalability and the flexibility that was previously only found with large block sizes. It should be noted that volumes, which are upgraded from VMFS-3 to VMFS-5, would retain their original block size, as modifying the block size would require a reformat of the volume. To allow for greater scalability and to reduce storage overhead associated with small files various enhancements have been made to VMFS-5. These enhancements include optimized sub-block sizes and the allocation of these blocks. These enhancements have resulted in support for large volumes (64TB on a single extent) and higher virtual machine density. The table below depicts the most significant architectural changes for VMFS-5 in comparison to VMFS-3.
|
Feature
|
VMFS-3
|
VMFS-5
|
| Support for single extent VMFS volumes larger than 2TB |
No
|
Yes
|
| Support for Passthrough RDMs larger than 2TB |
No
|
Yes
|
| Sub-block for space efficiency |
Yes (64KB, max of ~3k)
|
Yes (8KB max of ~30k)
|
| Small file support |
No
|
Yes (1KB)
|
| Unified Blocksize |
No
|
Yes
|