VMware

VMware's "Proprietary" Clustered File System | Main | Summary of what is new for storage in vSphere

September 03, 2008

VMFS vs. NFS for VMware Infrastructure?

     The dynamic, flexible environment that we call VMware Infrastructure requires shared, coordinated storage between ESX servers. There are two families of storage technologies that can meet this requirement today, SAN-based block storage (e.g. Fibrechannel or iSCSI) and NAS. VMware supports both forms of storage access for our customers.

    VMFS is VMware’s technology for managing block storage. It is a clustered file system used by multiple ESX Servers to coordinate and share access to the underlying block storage. It was explicitly designed to enhance the performance and reduce the complexity of block storage as it relates to virtual infrastructure. VMFS is responsible for two broad functions in the ESX storage subsystem.

  1. Structured data layout – VMFS defines the structure and layout of data on the block devices. VMFS is optimized for virtual disk storage, but as is common to most file systems, VMFS brings a file and directory structure to the on-disk data. Most importantly, VMFS handles the layout of individual vmdk files (these are the virtual disks that are eventually presented to the VMs). VMFS also has some basic layout or volume management functions – presenting and managing combinations of multiple block storage devices (LUNs) as a single VMFS volume.
  2. Clustering - The second and vitally important feature of VMFS is support for sharing or clustering. VMFS is responsible for the coordination of multiple independent ESX servers safely reading and writing to the same block device. It is VMFS which handles the basic safe transfer of ownership of data from server to server during high level VI activities such as vmotion, DRS, storage vmotion, HA, etc.

    NFS is a NAS (Network Attached Storage) or file based protocol and is used to establish a client-server relationship between the ESX hosts and the NAS device. As opposed to block storage, a NAS system itself is responsible for managing the  layout and structure of the files and directories on the physical storage.  It also handles some of the aspects of shared access and provides primitives that can be used for coordinated access from multiple servers. ESX uses these primitives to provide similar shared access for VMware Infrastructure as is provided by VMFS in the block storage case.

    So which to use? The first criteria is to continue to use the type of storage infrastructure you are familiar with. If your organization uses block based storage – use VMFS.  If NAS is in use, it may make more sense to deploy VMware Infrastructure with NFS. Other aspects of storage management, such as the basic virtualization of storage on behalf of the VM or the internal structure of the virtual disk files (VMDK) are handled independently of this choice.  You get the same high level VI functionality regardless.

    For new deployments, there are the traditional storage tradeoffs. SAN or block based storage is a well understood infrastructure choice, has a great deal of existing physical management tools and may offer optimal performance. NAS-based storage has a reputation for less complexity and is in many ways easier to manage and setup than block based storage. And for some VM workloads, the performance of NAS is comparable to SAN.  Individual NAS and SAN products may offer advanced data management features that become even more valuable with Virtual Infrastructure such as data de-duplication and thin provisioning.

   

As with many of VMware's virtualization features, we place a great deal of emphasis on the encapsulated VM abstraction. Consistent with this philosophy, the virtual disks that are presented to virtual machines are an idealized and highly portable view of storage which is independent of the backing storage implementation. ESX handles both storage technologies in a fashion that continues to maintain this portability of the VM. With ESX and VMware Infrastructure, one can move VMs between storage technologies quite easily and now with Storage Vmotion, that portability even applies to live running workloads, offering customers the freedom to readily switch between NAS or block storage as they see fit.

________________________________________

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c328153ef00e554dd82068833

Listed below are links to weblogs that reference VMFS vs. NFS for VMware Infrastructure?:

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Great article - with VMware storage protocols have been commoditized. Deploy the one which makes the most sense in your environment based on performance and management.

More details comparison will be great.

I have used NFS on a NetApp 3070 for about 5 months and see no performance difference between NFS and iSCSI. The advantage of NFS is the management of your volumes. Volume size can be very large allowing you to manage only a few volumes. With NFS you can dynamically change the volume size in both directions allowing more flexibility. The disadvantage of NFS is that the committing of snapshots causes the VM to be unavailable for some time. This is due to some type of locking issue that has not yet been resolved.

where do i look for let me know for more

Steve Schwarz:
That issue is fixed with VMware ESX patch esx350-200808401-bg.
- Apply the patch.
- In /etc/vmware/config add the line:
prefvmx.ConsolidateDeleteNFSLocks = “TRUE”
- Reboot ESX.

Details in TR3428 pp.12-14:
http://www.netapp.com/us/library/technical-reports/tr-3428.html

Enjoy!

Peter

Here is a "Comparison of Storage Protocol Performance":
http://www.vmware.com/files/pdf/storage_protocol_perf.pdf

Post a comment

If you have a TypeKey or TypePad account, please Sign In


Categories