As virtualization slowly takes over almost everything in information technology, certain things need to change. One of those things is the way storage operates. Traditional enterprise storage was built for a time when physical machines were king, and there was only one operating system, and often only one workload, per physical server. Virtualization changes that, putting multiple workloads and multiple OS images on a single host, often causing predictive algorithms for caching to fail because the I/O from a particular server looks almost completely random (sometimes referred to as the “I/O blender”). In fact, the I/O isn’t random, it’s just the result of multiple VMs each doing their own thing. Most monolithic storage vendors have adapted their arrays to better understand this new type of I/O, at least in part. However, there is a whole new class of storage company that is looking to start over, upending the storage market by pairing commodity hardware with deeper understandings of virtual environments and new management models.
Tintri is one of those vendors. They appeared on the market just about two years ago with their VMstore Storage Appliance, a single model with both SSD and spinning disk inside, boasting 75,000 IOPS, and a pair of 10 Gbps Ethernet NICs for storage connectivity. It was an incredibly simple approach on all fronts, essentially treating the old storage management concepts of LUNs and RAID groups and complicated SANs and converged protocol complexity as trash to be discarded. The whole array becomes one volume, presented in its entirety to your virtual infrastructure via NFS. Plug it in, turn it on, give it some IP addresses, tell it where your vCenter is, and get on with your life.
They can get away with this cavalier attitude because their array software uses the VM itself as the base unit of storage, communicating closely with the virtual infrastructure. It understands that the I/O coming from hosts is a series of different I/O streams, and it analyzes those streams to make better decisions about how to help the VMs do their I/O. Unlike many other vendors using SSD as a caching layer, these arrays treat the flash as a native tier, reading & writing, moving data up and down between the flash and the spinning disk. They also do other tricks like inline compression and deduplication to make the most out of the expensive-but-fast SSD. Storage administrators, if they even can be called that in this management model, have very little options for affecting the storage itself, mainly just choosing to pin a VM entirely in flash if they need the performance.
Because they’re watching the VMs themselves the arrays can do some neat tricks, like bring decent cloning and snapshots to the table. Native VMware vSphere snapshots are adequate for smaller VMs but can be pretty abysmal when trying to protect larger, more active workloads. They grow out of control and cause serious performance issues both during normal operations and when trying to consolidate & delete them. Tintri is able to implement snapshots and cloning in a fast and safe manner at the array level, using OS-level I/O quiescing if desired, and because of vCenter integration a clone can appear almost instantly in the management consoles. The software can also tell what kind of I/O a VM is doing. For example, the arrays will generate alert messages when it sees that a VM is writing to a swap file. Traditional arrays have no idea that’s happening, and it can lead to serious storage performance issues and a lot of time spent diagnosing when the root cause is really just a VM with less memory than it needs. Tintri can also dynamically correct for VM storage alignment problems, another way that performance is often silently degraded in virtual environments, and enforce Quality of Service controls, a feature that is fairly rare in the low & midrange storage world.
Currently Tintri has two different models, the VMstore T445 with 8.5 TB of usable capacity and dual 10 Gbps NICs, and its big brother the VMstore T540 with 13.5 TB of storage and four 10 Gbps NICs. They are now shipping version 2.0 of their array software, Tintri OS, which further automates administration of their arrays and adds ReplicateVM remote replication features. ReplicateVM is an incredibly flexible asynchronous, IP-based replication technology that operates per-VM, allowing each VM to have custom RPOs. It replicates snapshots, and runs the snapshots through deduplication and compression routines prior to sending them so that the copies are space- and bandwidth-efficient. Replication can be many-to-one, one-to-many, and bidirectional, and because of their per-VM approach you can also be selective about which VMs you protect. This feature also enables cross-array cloning as well, which is a boon to many shops that want to segregate test & development work, run backups from a separate array, or rapidly deploy virtual desktops. Overall, this is a very welcome feature for a solid product line, and it’s easy to see why Tintri’s storage solutions are increasingly popular.