Upcoming VMware vSphere 5.5 which has been announced during VMworld 2013 brought another interesting feature called vFlash Read Cache (vFRC). A special formatting is applied to each SSD in each host, and each SSD device is formatted with new filesystem called VFFS (Virtual Flash File System). This VFFS spans the cluster and forms a flash resource which can get consumed by VMs as a read cache. I'll show you VMware vFlash Read Cache (vFRC) configuration steps in this article.
Each host participates in creating a flash resource pool based on one (or more) flash devices. So all those SSDs are pooled together, host by host, to form flash resource visible through each host. I'll show you how to configure this feature.
What's needed for vFRC?
- A configured of hosts with each one with at least one SSD or PCIe SSD…
- vSphere 5.5 (vCenter 5.5 and ESXi 5.5)
Where to start with vFRC?
At the cluster level. You have the choice. You can right-click the cluster >All vCenter actions > Add virtual flash resource capacity.
You can also Select the cluster > Actions > All vCenter actions > Add virtual flash resource capacity.
On the next screen you select available SSD from each ESXi host and click OK.
Now that this is done, we can use this flash capacity for not only for vFRC but also for Host swap to cache. It means that single SSD can do both. Ok, let's see where how we do that. You have to go and do it at the VM level (vFRC operates per VMDK). Select an individual VM and click edit settings > Virtual hardware tab >next to the Virtual Flash Read Cache > click Advanced.
Now can select the amount of GB (Mb) that will be reserved for that particular virtual hard drive. Depending of your workloads, because vFRC has variable block size capability (4kb – 1M). So the best selection will depends on your application, which IO size or your application which runs in your VM. (you can used for example vISCSI stats to find out) Then you carve up those information to match the block size of the vFlash to give the best possible performance.
Not every node in the vFlash cluster needs to have SSD installed, but if that’s the case, the particular host won’t be able to provide any vFlash resources.
What If I want to configure the host swap to SSD and use the same SSD drive? Yes we can !
Host will be swapping only if it used all the other memory optimization techniques are used already – Transparent page sharing (TPS), Memory ballooning, Memory compression. But it can still happens if you heavily overcommit your memory. So you can do both, configure the SSD to partly use the space for vFRC and partly for Host cache. This is useful.
Select host > Manage > Settings > Virtual Flash Host Swap Cache configuration
And you can go and click just a bit higher in the tree to verify the consumption of the Flash resource by your VMs.
I hope that you can get more clear view of vFRC and possibilities of VMware vSphere 5.5.
Feel free to subscribe to our RSS Feed or follow me on Twitter: @vladan
jimmy says
i get a “this list is empty” at the first step trying to add SSD’s as flash resource capacity??? the old viclient shows the ssd’s exist though. is an equivalent ssd required in each and every esxi host before they show up? or can i add to the cluster for just one host initially as a test?
jonathan reininger says
Jimmy I think your SSD might be formatted w/ VMFS. Did you sVmotion off your VMs and then maybe unmount it so it can be formatted w/ VFFS?
Id like to know if we can partition the VFFS / SSD drive so it can have both VFFS and VMFS on it. So I can store some VMs on the local SSD (in this case in a test rig) if I choose..
Tal says
i wasnt thinking straight when i installed this ESXi, and installed it on the SSD datastore. when i try to change the tagging to SSD like described here, i get an error that the device is busy, which makes sense, since this is where esxi is running… is there a way to change it without having to reinstall esxi? it already has a bunch of VMs running on it (on another local datastore)
Vladan says
You can always install the ESXi elsewhere, and then just re-register the VMs from that SSD. If you want to use this underlying SSD for vFRC however you must wipe everything off. So basically you’ll have to move the VMs out of that datastore first > wipe the SSD > configure it as vFRC.