Since learning of the company almost a year ago, I have been keeping an eye on California based Tintri, makers of the VMstore storage appliance that contains both SSD flash drives and SATA disks, as they continue to enhance their product with additional features and begin making their way into various data centers. The allure for me is the idea of a product that is dead simple to use and tightly integrated with virtualization right from the beginning, coupled with a clever mix of different disks in such a way that performance issues are nearly evaporated. With VMworld just shy of a half year away, my spidey sense was tingling, and I caught up with a group of the Tintri brain trust to try and sneak out as many secrets on product road map and vision as possible. And, much like my previous post on Tintri, here are some of the interesting tid bits that I can share with you; I strongly encourage any feedback or comments based on your experience with the product.
For those new to the product, Tintri’s VMstore is an factory configured appliance that contains 16 drives: 8 SSD and 8 SATA. Don’t let the combination fool you – they don’t use a tiering model that others have adopted, where “hot” blocks (ones that are actively being accessed) are shifted up the tiering stack to faster disk or flash, and “cold” blocks are shifted down the tiering stack. Instead, the VMstore lands all disk IO to the flash disks first, using both inline deduplication and inline compression to squeeze every drop of space out of the flash. Additionally, space is reserved on the SATA tier to ensure that if the flash fills up, the least frequently used blocks can be written down to SATA. Horsepower is quite ample: In lab environments, I’ve been able to achieve somewhere in the neighborhood of 45,000 IOPS on a T540 VMstore appliance in addition to saturating a 10GbE optical link (900+ MBps) with reads.
Tintri also has a very sleek and thoughtful user interface design that pays tribute to the concept of simplicity. Here’s a snapshot of my previous lab environment on the T540 with a high amount of random IO occurring from a few bench VMs.
The user interface is very simple and clean
Oh Snaps (and Clones)!
The next software release, version 1.4, promises to unlock the power of snapshots with a number of new features and improvements. While watching the demonstration of the 1.4 build, I was really impressed with how much feedback they received and processed from various customers, beta testers, and knowledge experts. The interface now contains the ability to take and schedule snapshots on the array that can be both:
- Crash consistent: a snapshot of the VM’s blocks on the array, taken without the hypervisor or guest being aware.
- VM consistent: a vSphere snapshot first quiesces the guest and creates a snapshot from the hypervisor’s perspective, then the array takes a snapshot of the underlying VM disk (below the vSphere snapshot). Once the array is done, the vSphere snapshot is committed.
Tintri handles snapshots using the more efficient pointer method, which uses metadata files on the array, rather than copy on write (much more labor intensive for the array and disk). This allows for very quick snapshots, as the demonstration of the VM consistent snapshot feature I witnessed took under two minutes, most of which was the actual vSphere snapshot process. It also enables for deep snapshot nesting, as further snapshots simply create updates to pointer metadata files.
The new scheduling feature allows for snapshots to be taken based on various calendar inputs (days, weeks, hours, etc.). At this point I see it being handy for VM level recovery, which is a bit of a rare scenario for some folks. However, I think it’s a building block for other features that are coming down the pipeline.
Going hand in hand with snapshots are new cloning features. Within the user interface, one now has the option to create clones of VMs in inventory, with the ability to select a customization specification (from vCenter) that can be applied to the clone. This is essential in situations where you have templates of various builds (such as a service offering of development servers) and need to quickly provision clones of the templates with new names, domains, or whatnot. The cloned VMs are deduplicated, even at the SATA layer, because they are simply pointers back to the parent VM’s data. This can amount to a pretty healthy amount of capacity savings.
Version 1.4 is expected to release in the Summer (GA), with a restricted release (for specific customers and partners) targeted for an earlier release.
But What About Replication?
I had a lengthy conversation with Chris Bennett, VP of Marketing, on this very subject. Realistically, the question is:
Is Tintri looking to offer any sort of native replication?
The answer to this question is “yes” but it is worth diving a little deeper into. The snapshot features coming out in 1.4 will set the stage for an array native replication technology that will be offered on the VMstore running with the next major release (this Fall). The idea is to create service groups to protect VMs that make up an entire application stack (examples being a vApp or a set of VMs that make up the traditional 3 tier model of database, application, web) using a combination of VM consistent snapshots. Much of this is still under the shroud of development, so we talked more high level strategy than deep technical details. In a nutshell, the replication will be robust in features (such as being WAN efficient, sending over only necessary data, etc.) and designed to leverage all of the secret sauce that’s put into a VMstore.
Tintri hopes to help avoid this scenario with their replication feature
Acronym Support: HCL, VAAI, PEBKAC?
Tintri’s T440 is on VMware’s HCL (Hardware Compatibility List), with the T540 joining the list just recently. In addition to the HCL, they did assure me that customers are running vSphere 5 on the T540 (besides my lab environment, so I can attest to it working fine as well). As with other posts, I’ll comment that I don’t see much of an issue with being “certified” to work on vSphere since the protocol (NFS) is the only touch point that the VMs are ultimately relying upon. It does add a bit of warm and fuzzy to an enterprise, so current and future VMstores will be on the HCL.
Updated (4/1/2012): All currently shipping Tintri appliances are now on the HCL, including build 5.0U1.
A big question that has been on my mind was VAAI (vStorage APIs for Array Integration) support. Because the VMstore is a NFS-only appliance (file access), VAAI is handled through plugins to vCenter (unlike block, which does not need a plugin). The group I spoke with assured me that a plugin is in the works and should be released along with version 1.4. Because NFS uses some different primitives than block, I recommend reading this post by Stephen Foskett to get an idea on VAAI with NFS if you’re not familiar with it. He is a huge advocate of VAAI and one of the leading experts on all things storage.
Tintri is also fully supported in solving PEBKAC (Problem Exists Between Keyboard and Chair) issues with the use of realtime reports and historical data
Here are some other improvements and new features that I’m excited about in version 1.4:
- Multi-vCenter Support
- VLAN Tagging on data ports
- Improved algorithms for the Performance Reserves on the dashboard’s “gas gauge” view
The newly added VLAN id field, great if you are using trunk ports
Multiple vCenter support
From the road map discussion, Tintri has some pretty ambitious goals to hit and will have quite an interesting show in store for everyone at VMworld. I’m confident that they will hit these goals, based on past track record and ability to release code rapidly and cleanly, and am looking forward to seeing their product continue to evolve and grow (especially the replication piece)!