How To Guy

Enable vFlash for Server-Side Caching

There's a new way to speed up read operations on your VMs. The new VMware-developed vFlash server-side read caching, announced at VMworld 2013 as part of VMware vSphere 5.5, aims to dramatically improve disk I/O performance for vSphere VMs. So how does it help, what's required and how is it used?

The secret is that vFlash uses local solid-state drives (SSDs). Remember the VMware "swap to SSD" feature in vSphere 5.1? Now vFlash supports it if needed, but it's also extremely different than that feature. It works using server-side SSD storage to cache read requests for disk I/O of specific VMware VMDK files. Here's what you need to know to work with it:

  • The current incarnation will scale up to 32 ESXi hosts/nodes, and will support up to eight SSDs per host and up to 4TB per host.
  • When you enable vFlash, it creates a new type of file system called Virtual Flash File System, or VFFS.
  • The VFFS will still offer legacy support for the swap to SSD feature on top of the VFFS.
  • When enabling vFlash for a VM, you can enable it on one VMDK but not another. You can also control the block size for the per-VMDK cache.
  • This caching is transparent to the VM's OS and applications.

Two things make vFlash unique. First, VMware fully supports it, even with advanced vSphere features vSphere High Availability, Distributed Resource Scheduler (DRS) and vMotion.

Second, the vFlash framework is open to third-party development and management. This means third-party vendors can develop new tools or integrate existing storage tools with vFlash. The vFlash framework lets vendors create vFlash plug-ins (called vFlash cache modules), with the VMware vFlash Cache (vFC) plug-in being the default I'm discussing here.

Before you start clicking and trying to enable vFlash, make sure your system meets these requirements:

  • You must be licensed with vSphere Enterprise Plus. That's the only vSphere edition that supports vFlash.
  • You must have local, unused SSD disks. You can't use them to boot ESXi, to store VMs or for VMware vSAN.
  • You must be using vSphere 5.5, vCenter 5.5 and the vSphere Web Client. You can't configure vFlash in the vSphere Client for Windows.

Nevertheless, configuring vFlash is easy and done in three steps via the vSphere 5.5 Web Client:

  1. Configure virtual flash resources. Do this on a per-ESXi-host basis. On the Manage tab under Settings and in the new Virtual Flash section, select Virtual Flash Resource Management. Click on Add Capacity and add your local SSD as a flash cache resource.
  2. Configure virtual swap host cache. Next, click on the virtual flash host swap cache configuration option under Settings. Click Edit to modify the virtual swap host cache configuration. Then click the checkbox to Enable virtual swap host cache and specify the size of the cache (which could be the entire side of your SSD, if you choose).
  3. Configure vFlash on your VMs. Finally, you enable vFlash on a per VM per VMDK basis. To do this, go to your VM settings, then the VM disk file configuration, then the virtual flash read cache configuration, and enter a value. This specifies the read cache configuration size for this VMDK. This is where you can also specify the block size of the read cache for this VM and VMDK.

At this point, vFlash is configured. You should pretty quickly begin seeing improved performance on all read operations performed by this VM and its applications.

About the Author

David Davis is a well-known virtualization and cloud computing expert, author, speaker, and analyst. David’s library of popular video training courses can be found at To contact David about his speaking schedule and his latest project, go to


Subscribe on YouTube