vSphere Flash Read Cache (vFRC)
vSphere Flash Read Cache enables the pooling of multiple Flash-based devices into a single consumable vSphere construct called vSphere Flash Resource. Using vSphere Flash Read Cache, solid-state caching space can be assigned to VMs in much the same way as CPU cores, RAM, or network connectivity is assigned to VMs.vFRC
- Introduced at vSphere 5.5
- Reduces latency
- Leverage local SSD (solid-state drive) or PCIe flash device to create a “Flash Pool” for VMs
- Locally caches virtual machine read I/O on an ESXi host
- Offloads I/O from the SAN to the local SSD
- Enables virtualization of previously difficult to virtualize high I/O intensive applications
- Requires Enterprise Plus licensing
- Flash Pool is managed as a resource similar to CPU and storage
- Does not cache writes, does only “write-through” caching
- Flash Pool:
- “Virtual Flash Cache”
- A pool of SSD or PCIe flash devices on the ESXi host
- Used by vFRC to accelerate I/O
- vFRC creates a VMware proprietary filesystem call VFFS on the flash device
- Read cache can be allocated to virtual machine disks
- Read operations from the VM are directed to the flash cache
- Common reads are stored in the Virtual Flash cache
- Successful cache hits should accelerate I/O
- Flash Cache Module:
- “Virtual Flash Device”
- Built into vSphere 5.5 and later as a loadable kernel module
- Sits between the Virtual Machine and the storage
- Purpose is to cache the data that is read by the Guest OS
“vSphere Flash Read Cache is designed to enhance the performance of applications that have I/O patterns based on read-intensive operations.”
Requirements for vFRC
- Ensure environment is compatible with vSphere 5.5 or higher
- Each host configured with Enterprise Plus license
- A minimum of one and a maximum of 32 hosts per cluster
- Supports SATA, SAS and PCI Express storage device interfaces
- Works with VMs on VMFS, NFS and RDM datastores
- Virtual machine hardware version 10 or higher
- vSphere Web Client
- A maximum of eight Flash-based devices per VFFS
- One Virtual Flash Resource (VFFS) per host
- A maximum capacity of 32TB supported for the VFFS per host
- The maximum of 4TB per Flash device
- Not supported on vSphere FT enabled virtual machines
- vSphere vMotion, vSphere DRS and vSphere HA work only on hosts with available vSphere Flash Read Cache
Although vSphere Flash Read Cache doesn’t need to be enabled on every host in a cluster it is recommended to have it on each host.
vFRC is compatible with vSphere vMotion, svMotion and XvMotion. The vSphere vMotion workflow has been modified to include two new migration settings for cache contents:
- Always migrate the cache contents
- Copy
- VM migration proceeds only if all of the cache contents can be migrated to the destination host
- Do not migrate the cache contents
- Drop
- Drops the write-through cache. Cache is rewarmed on the destination host
"VFFS is a derivative of the VMFS file system that is optimized to group flash devices into a single pool of resources. VFFS is not accessible in the UI. VFFS is a vSphere resource and not a conventional datastore.”
Reference:
- What’s New in VMware vSphere Flash Read Cache
- VMware vSphere Flash Read Cache 1.0
- VMware Flash Read Cache Compatibility Guide
- A closer look at vSphere Flash Read Cache
- Configure vSphere Flash Read Cache
- Setting up a Virtual Flash resource in VMware vSphere 5.5 (2051647)
- Allocating vSphere Flash Read Cache to a virtual machine (2051572)