I recently had a question come in at work about configuration limits on VMware Flash Read Cache limits. I thought this is some material the community might like as well as a walk through on how to install and configure it.
Before we get into how to setup VMware Virtual Flash is I think it’s wise to give a quick overview of what it is. VMware Flash Read Cache lets you offload some read IO’s from your storage by caching the data on local flash storage. In other words store you can keep a local copy of heavily read data in cache on the host.
In addition to this you can also leverage the Virtual Flash on an ESXi host as a swap caching location. This means if VM’s are consuming more (oversubscribed) RAM than the ESXi host has, the host can swap memory pages to the SSD drive allowing for improved performance when compared to swapping to spinning disk. This also allows SMB’s get more bang for their buck by leveraging less expensive SSD than higher density higher priced memory modules.
I will look at configuring both of Flash Read Cache and swap caching below. For more information about VMware vSphere Virtual Flash, refer to the VMware vSphere 5.5 documentation (http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.storage.doc/GUID-07ADB946-2337-4642-B660-34212F237E71.html) and the links at the end of this post.
I have my trusty small lab environment (it runs on my laptop) setup so lets walk through the process and look at configuring and the limits of the flash read cache.
First off, this is what we will need to setup Virtual Flash:
- vSphere 5.5 or later
- ESXi hosts 5.5 or later with:
- SSD storage
- With 8 or less SSD drives for Virtual Flash Volume (VFV)
- Each drive 4TB or less
- Maxing out at a combined 32TB or less (8 drives X 4TB = 32TB)
- SSD storage
Once we have these in place lets configure some Virtual Flash.
Configuring Virtual Flash
With the SSD installed in the ESXi host login to your vCenter web client (this can’t be done through the vSphere executable client). Now we want to navigate to our host we want to configure the read cache on (you can also do this across a cluster, see the vSphere documentation for information). Select the manage tab then go to the settings button. Once there we want to scroll down to the bottom of the list and select the Virtual Flash Resource Management section. We then want to click on the Add Capacity button.
The add capacity screen appears listing all SSDs in the ESXi host. Place a check mark to the left of the SSDs you would like to use for the Virtual Flash resources (see red check mark in screen shot below).
When we click the OK button all of the data on the selected SSD disk drives will be erased!
At this point we can click the OK button. If we wanted to we could have added up to 8 devices here and had up to 32TB total flash storage. We are now returned to the settings screen.
The Virtual Flash Resource Management screen is now updated reflecting the amount of Cache we have available.
At this point we have two directions we can go. We can either configure the Virtual Flash Host Swap Cache or configure the Read Cache on a VM. Because the flash in my system is limited I am going to setup the host swap cache first and use the rest for my VM’s.
Configuring Virtual Flash Host Swap
To do this we want to click on the Virtual Flash Host Swap Cache Configuration on the left side of the ESXi hosts settings button. Now we just click the Edit button.
In the edit dialog we can check the Enable virtual flash host swap cache option. Then we can configure how much should be allocated to the host swap cache. In my case I will allocate 8GB. The amount you allocate will vary. You will also notice that you are able to see the min, max, & current values for the Host Swap Cache. When finished we can click the Ok button.
We now have Virtual Flash Host Swap Cache configured. This means that if we start swapping on our VM’s the swapping can first consume the space we allocated for it before it starts swapping to slower speed storage.
Configuring VMware Flash Read Cache
With the remaining space we can configure a read cache for select VM’s. In my case I will be working with a windows template VM. You will want to apply this to your VM’s on a per VM basis for those VMs that would benefit from a Read Cache and only for those disks that would benefit.
To start, we right click on the VM we want to provide a read cache too and select Edit Settings from the popup menu. Select the disk you want to work with and expand the storage for the disk. You will then see a Read Cache option. If you don’t see it check the VM Hardware Version, it may not be version 10 or later, in which case you will need to upgrade the virtual hardware version.
It’s also worth noting, as you can see in the screen shoots below that this can be done non-disruptively. You can enable read cache while the VM is running.
Enter the amount of Read Cache for the vDisk. In my case I’ll give it 5GB’s. You should choose what’s best for your VM.
You can also click on the advanced button. There you can control the block size of the Read Cache. Note that if you change the reservation here it will change the Read Cache amount on the previous screen.
Sizing of the Read Cache is beyond the scope of this document. The best resource for this at this time is to refer to the “Performance of vSphere Flash Read Cache in VMware vSphere 5.5 white paper” which can be found here: http://www.vmware.com/files/pdf/techpaper/vfrc-perf-vsphere55.pdf
It is also worth noting that you cannot exceed the remaining amount of Virtual Flash resources. This is also known as over subscribing the Virtual Flash. So if you only have 5 GBs of Virtual Flash left you can only use 5GBs amongst all of your VMs.
Once you have set the Read Cache for the vDisk(s) click the OK button. You can repeat this process for any other VM’s as needed.
That’s all there is too it.
Enjoy.
Here are some good resources as you configure Virtual Flash on your own.
- Performance of vFRC in VMware vSphere 5.5: http://www.vmware.com/files/pdf/techpaper/vfrc-perf-vsphere55.pdf
- VMware vSphere 5.5 Documentation Center; About VMware vSphere Flash Read Cache: http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.storage.doc/GUID-07ADB946-2337-4642-B660-34212F237E71.html
- VMware KB 2057206: Virtual Flash volume limits in ESXi 5.5: http://kb.vmware.com/kb/2057206
If there is a topic your curious about please let us know.
Tony
This blog post has been cross posted on the EMC Community Network (ECN) and can be found here: https://community.emc.com/community/connect/everything_vmware/blog/2014/10/14/configuring-vmware-virtual-flash-in-vsphere-55