VMFS is one of the critical component of VMware vSphere storage stack as it abstracts the underlying storage and presents it to Virtual Machine in various formats; virtual disk, passthru RDM, Non-Passthrough RDMs, Snapshots and so on. VMware widely used features like High Availability(HA), vMotion, Storage vMotion, Disributed Resource Scheduler (DRS) build up on this File System.
Raw device mapping (RDM) is an option in the VMware server virtualizationenvironment that enables a storage logical unit number (LUN) to be directly connected to a virtual machine (VM) from the storage area network (SAN).
In this blog, we are going to discuss about Basics of VMFS file system, its features and benefits. Why VMFS is called Clustered file system and how its different from conventional file systems.
So What is VMFS ?
VMware Virtual Machine File System is a high performance cluster file system which provides storage virtualization optimized for virtual machines. While conventional file systems allow only one server at a time to have read-write access to the same file system. VMFS leverages shared storage to allow multiple VMware vSphere hosts to read and write to the same storage concurrently.
Figure 1.0 Multiple ESX accessing VMFS
Above figure shows how multiple ESX servers with several virtual machines running on them can use VMFS to share a common clustered pool of storage. VMFS clustering feature provides the foundation for enabling services such as vMotion, Storage vMotion, High Availability(HA) and Distributed Resource Schedule (DRS).
Feature of VMFS
- Encapsulation of the entire virtual machine state in a single directory.
- Optimization for virtual machines in a clustered environment.
- Dynamic datastore expansion by spanning multiple storage extents.
- Lock management and distributed logical volume management
- Clustered file system with journal logging for fast recovery.
Benefits of VMFS
As an automated storage interface for Virtual Machines environment. VMFS provides both an automated cluster file system capability and intelligent cluster volume management functions. VMFS has a number of benefits that make it particularly well suited as a cluster file system for the virtual environment.
- Simplify virtual machine provisioning and administration by storing the entire virtual machine state in central location
- VMFS stores all the files that makes up the virtual machine in a single directory or encapsulate entire VM state in a single director.
- It simplifies provisioning and Administration of VMS
- VMFS provides distributed infrastructure services for multiple ESX servers like HA, DRS, vMotion etc.
- VMFS enable dynamic growth of datastores by adding multiple extents to it on fly.
- VMFS creates point in time copy of virtual machine data that can be used for testing, backup and recovery operations.
- VMFS is journaling filesystem which recovers virtual machine faster and more reliably in event of server failure with distributed journaling.
- VMFS uses on-disck locking mechanism to make sure a single virtual machine is not powered up on multiple vsphere hosts at a same time.
- It also simplifies disaster recovery using cloning, templates, migration technology.
VMFS Architecture
VMFS holds files and has its own metadata. Metadata gets updated through
- Creating a file
- Changing a file's attributes
- Powering on a VM
- Powering off a VM
- Growing a file
When Metadata is updated, the Vmkernel places a non-persistent Small Computer System Interface (SCSI)
Reservation on the entire of VMFS volume.
- lock held on volume for the duration of operation
- Other Vmkernel are prevented from doing metadata updates