Tintri Design Goals

Tintri Design Goals

January 25, 2018 0

Interwoven throughout all Tintri products is the manifestation of these design goals. This list is not in any particular order, as the goals hold equal weight.

  • Data Integrity
  • Availability
  • Simplicity
  • Performance
  • Scale
  • Automation
  • Analytics
  • Self-Service
  • VM/Application Awareness

Data Integrity

Purpose-built storage appliances serving enterprise workloads typically use commodity hardware with value-added OS and file system software. The components  of these appliances — hardware and software — can and do fail from time to time. For example, the total failure of a controller in a dual-controller system is immediately user-visible, albeit without operational impact on serving data. Other failures, such as firmware errors, are subtle and can cause corruption that may only surface much later. 

Tintri VMstore appliances are purpose-built to leverage cost-effective, multi-level cell (MLC) flash solid-state drives (SSD) and high-capacity SATA hard disk drives (HDD) using a proprietary VM-aware file system. The Tintri OS runs on VMstore appliances and has comprehensive data integrity and reliability features to guard against hardware and software component malfunctions. These data integrity features work in concert to provide optimal performance and system availability.

Data integrity is essential to storage, especially primary storage systems. A robust, multi-layered approach must be used to protect against all manner of hardware and firmware errors. Possible failures include:

  • Complete failures, such as a controller failure or a drive failure.
  • The many erroneous behaviors (short of complete failure) by individual components such as HDD and SSD. For example, drives can return corrupted data on read operations, fail to write data, etc.
  • Data is constantly moved, even after it is written to stable storage. Data movements can potentially compromise data integrity. Examples of data movement include:
    • SSD’s complex internal mechanisms such as garbage collection (GC), due to asymmetric read and write granularities.
    • HDD’s remap due to bad sectors.
    • File system GC as a result of deduplication and compression.
  • Advanced functionality such as deduplication and compression can turn otherwise small errors into major issues. Many files reference the same block of data as a result of deduplication, and an error with one block can affect all related files.

A comprehensive data integrity strategy must cover these cases and more, not just simple component failures. Data integrity features must also work in concert to ensure end-to-end integrity.

Availability

Flash is often considered the second-most disruptive technology, after virtualization, in the datacenter. Flash offers IT architects a way around the storage bottleneck caused by virtualization’s extremely random IO needs, which could choke legacy disk-centric storage.

Using single-level cell (SLC) technology, the first wave of flash deployments in the data center was targeted at customers who needed performance at any cost. In this wave, flash was as much as 20 times the cost of disks, and was mostly used as the end-point for data in SANs or direct-attached storage. Even with flash used as a read cache, the high cost and configuration restrictions severely limited adoption for virtualization and mainstream application.

To bring down costs, the second wave of flash deployment leveraged multi-level cell (MLC) flash technology. MLC flash is cheaper, but has a fraction of the endurance of SLC flash. To make MLC and enterprise MLC (eMLC) flash reliable enough as a data endpoint, vendors coupled it with clever algorithms such as wear leveling, and in some cases dual-parity RAID. But the random nature of IO from virtualization, wear leveling and RAID algorithms, along with the unique way data is written on flash, caused issues around write amplification. Storage designed with either SLC or MLC flash can suffer from write amplification, where the amount of data written to flash is a multiple of the actual data that needs to be written; the impact is more pronounced in MLC flash.

Many flash-only and hybrid flash-disk vendors tried to solve write amplification problems using a flash file system incorporating GC, which involves reading and rewriting data to flash memory. Poorly implemented GC algorithms can cause latency spikes and limit the effective utilization of flash capacity, even when flash is being used as a cache.

On the cost front, in virtual environments even with data reduction techniques such as compression and deduplication, eMLC and MLC-based flash-only storage is substantially more expensive than equivalent disks and hybrid flash-disk storage. Due to advances in density and capacity, hard disk drives have been able to maintain a substantial cost lead over flash.

Tintri’s FlashFirst design uses a variety of techniques to handle write amplification, ensure longevity and safeguard against failures:

  • Data reduction using deduplication and compression. This reduces data before it is stored in flash, resulting in fewer writes.
  • Intelligent wear leveling and GC algorithms. This leverages not only information on flash devices, but also real-time active data from individual VMs for longer life and consistently low latency.
  • SMART (Self-Monitoring, Analysis and Reporting Technology). This monitors flash devices for any potential problem, issuing alerts before they escalate.
  • High-performance, dual-parity RAID 6. This delivers higher availability than RAID-10 without the inefficiency of mirroring, or the performance hit of traditional RAID 6 implementations.

Tintri VMstore was designed for enterprise-class availability. Starting with storage, VMstore uses dual-parity RAID 6, real-time correction and continuous verification. This ensures data integrity and delivers higher availability than RAID-10 without the inefficiences.

On the hardware front, in addition to using redundant components and connectivity, VMstore uses a dual controller active/standby setup. Each of these controllers can be independently upgraded in a rolling fashion, ensuring VMs supported by the VMstore are always up and running during controller updates.

VMstore also delivers proactive support with phone-home monitoring and reporting. Administrators get automated notifications and alerts related to areas such as capacity/planning, network connectivity, and predictive disk health, allowing them to get ahead of any issues. Administrators can also trigger creation of a support bundle on-demand. This will perform a diagnostic check of the system for additional peace of mind.

IT infrastructure can be simplified through VM awareness. Tintri provides VM-aware storage that frees IT from having to worry about and orchestrate the complexities of LUNs, zoning, masking, and other storage specifics. Because all Tintri capabilities are provided at VM granularity, Tintri VMstore storage arrays add significant value in terms of allowing users to easily protect and replicate individual VMs.

Performance

The first VMstore appliances used a combination of flash-based solid-state devices (SSDs) and high-capacity disk drives for storage. Tintri’s patented FlashFirst design incorporates algorithms for inline deduplication, compression and working set analysis to service more than 99% of all IO from flash for very high levels of throughput, and consistent sub-millisecond latencies for both read and write operations.

Flash-first design minimizes swapping between SSD and HDD by leveraging data reduction in the form of deduplication and compression, increasing the amount of data that can be stored on flash. Only cold data is evicted to disk, which does not impact application performance. It takes advantage of the fact that each VM has an active working set, which is a fraction of the overall VM.

Traditional storage systems often incorporate flash to an existing disk-based architecture, using it as a cache or bolt-on tier, while continuing to use disk IO as part of the basic data path. In comparison, VMstore services 99% of IO requests directly from flash, achieving dramatically lower flash-level latencies, while delivering the cost advantages of disk storage.

Newer VMstore appliances can also be procured in an all-flash configuration. The FlashFirst design is still critically important, because the all-flash appliance contains different flash tiers. The same IO handling that enabled the efficient use of the SSD and HDD also allows the efficient use of faster, more expensive SSDs for performance and slower, cheaper SSDs for capacity.