Last week I had the opportunity to drop down to San Jose and catch up with our friends on the FlashSoft team at SanDisk. In case you were not aware, this team has been developing a cache acceleration I/O filter as part of the VAIO program (VAIO is short for vSphere APIs for I/O Filters). SanDisk were also one of the design partners chosen by VMware for VAIO. This program allows for our partners to plug directly into the VM I/O path, and add third-party data services, such as replication, encryption, quality of service and so on. An interesting observation made by the FlashSoft team is that implementing their acceleration data service via VAIO gives much greater performance than their previous product version which plugs into the Pluggable Storage Architecture (PSA) stack.
Manish, Rich, Serge and Tom gave us another update on the 4.0 version of the FlashSoft product. I had seen this before, as the guys tech previewed it at VMworld 2015 last year. However with the release of FlashSoft 4.0, the guys now have the first certified VAIO I/O Filter on the market. SanDisk are our first certified partner for VAIO. Rich Petersen has a good write-up on the capabilities here on the SanDisk blog.
The guys were also kind enough to give me access to the components and some evaluation licenses, so I could test it out in my own labs. The documentation is pretty good so I won’t go into too much detail. However these are the steps to get going:
- Deploy the FlashSoft Management Appliance.
- Point a browser at the appliance and register against a vCenter Server. This vCenter server manages the VMs that are to be accelerated.
- Each vCenter server requires a FlashSoft appliance, although there can be multiple clusters managed in the same vCenter Server.
- Verify that the FlashSoft extension has registered successfully with vCenter. You should observe a new FlashSoft icon on the home page of the client, as well as some new menu extensions for FlashSoft Management and Monitoring.
- Configure the licenses. This involves creating a reference file locally via the appliance web page, uploading it to the SanDisk site, selecting the number of licenses to create, then downloading a license file and adding this to the configuration. This sounds more complicated than it actually is.
- Configure FlashSoft via the Cluster > Manage > FlashSoft view. This creates the VM storage policies and it also extracts the zip bundles from the appliance, and deploys a VIB on each ESXi host. This step is all done via VAIO APIs.
- At this point, the VIB is now pushed out to the host(s) and the new policy is created in the VM Storage Policies. The policy is shown below. Ignore the funny naming convention for the moment; this policy is basically the read (write-through) caching policy from FlashSoft.
- The next step is to format the SSD/flash devices on the ESXi hosts so that they can be selected for caching by FlashSoft. The SSDs/flash devices are formatted with the same on-disk format that is used for vSphere Flash Read Cache (vFRC). This is done by navigating to Host > Manage > Settings > Virtual Flash Resource Management, and selecting Add Capacity.
- Now we consume this resource for FlashSoft Caching. Navigate to Cluster > Manage > FlashSoft, and selecting Configure Cache.
- When everything is setup, it should look something like this:
- Once cache has been successfully configured, it can be consumed by VMDKs. One thing I noticed is that there was no place to allocate an amount of cache to a VM. I asked Manish about this and he told me that FlashSoft do not have fix cache size per VMDK. Instead they dynamically manage cache consumption on behalf of various VMDKs on the same host.
Another nice feature is the metric view that the FlashSoft guys have included. It gives you a nice overview of the more important performance statistics related to caching acceleration. Right now this is only a real-time view; there is no historical data. However I think this is something planned going forward.
The FlashSoft VAIO implementation is currently a read cache acceleration (write-through) implementation only. Write cache acceleration (write-back) is planned.
One major feature with VAIO is that VMware is now providing full support for VAIO partners. Therefore there is only a single call to make, and the support engineer will have the hooks into partners such as SanDisk to root cause any problems. This is a different approach to the one taken with the PVSP program, where customers may have been requested to work with the partner directly to resolve an issue.
Also note that vFRC can still be used along with VAIO, though they are mutually exclusive. A given VMDK can only be accelerated using either VAIO or vFRC. Administrators can also share the vFlash Resource (VFFS) space between vFRC and VAIO.
VAIO is the final component that, in my opinion, completes the Software Defined Storage vision. VMware customers now have the ability to consume SDS via VSAN, Virtual Volumes and indeed third-party data services via VAIO. And there are other VAIO filters on the way (FlashSoft/SanDisk are the first of many).