The Tintri VMstore Quotas capability gives you the fine-grained control you need over capacity consumption in multi-tenant environments.
All-flash storage has dramatically changed the relationship between performance and capacity in the enterprise data center. A single storage system with a handful of solid-state drives (SSDs) can deliver as much performance as racks of hard disk drives. Although prices are falling, an all-flash array is still a significant capital investment, and there are many situations where you may want to have multiple tenants sharing the resources of a single all-flash storage system:
- A service provider may offer a hosted private cloud service to its customers in which each tenant has administrative access to its own instance of vCenter and a set of dedicated ESXi hosts, but underlying storage resources are shared.
- IT organizations may create an enterprise cloud in which they can dedicate resources to meet the IT needs of internal “tenants” such as development teams or line-of-business teams.
VMstore makes this kind of multi-tenant configuration straightforward. You can enable two (or more) tenants to share the same storage system by providing each tenant its own sub-mount. Tenants can take advantage of underlying VMstore features including per-VM quality of service (QoS) and per-VM analytics.
If you adjust the quota limit up or down for any reason, that change is reflected almost immediately in vCenter, providing complete visibility to the end user or customer. This process turns out to be quite complicated with LUN-based storage where the process of changing the limit is far more involved and far less transparent.
From the perspective of a service provider, TGC gives you better visibility into what’s happening on the storage array than you can get from LUN-based storage. By selecting the “VMs” tab, you can see all the VMs within a service group as well as how much space and performance each VM is consuming.
Using VMstore storage with vCloud Director and OpenStack
VMstore Quotas is most useful in VMware environments where tenants have direct access to vSphere through vCenter. In environments with vCloud Director or OpenStack:
- It is better to configure Quotas at the software layer rather than at the infrastructure (storage) layer using VMstore Quotas. This is because the higher-level setting provides greater visibility.
- Do not configure quotas at both the software and infrastructure layers.
The Quotas feature requires Tintri Global Center 3.7 and TintriOS 4.4. Once you upgrade to these release levels, the feature is available at no added cost and takes just minutes to deploy.
In multi-tenant environments where the tenants have access to vCenter (i.e., where they have control over the VMware environment and can spin up as many new VMs as needed), it’s important to be able to control how much total space a tenant can consume. Tintri has introduced Quotas to make it simple to limit the capacity available to each tenant. This post will explain how this works, how to configure it, describe a few best practices, and explain what you need to know to get started.
How Tintri VMstore Quotas works
VMstore provides service groups to aggregate VMs that have common management needs. A multi-tenant environment is created through a combination of VMware vCenter configuration and service groups. A service group is used to group all of a tenant’s VMs, allowing common management of the associated storage.
Part of that management includes the ability to specify a quota. To set up a multi-tenant environment, you simply create a service group for each tenant and assign each service group a hard quota. When you create a service group with a quota, a sub-mount is created automatically. A vCenter datastore can map to an entire VMstore system (like /vmstore), or it can map to a sub-mount on an array (like /vmstore/tenantA), with or without a quota.
Service group creation is performed using Tintri Global Center (TGC). When you select the Service Groups tab and click on “add a service group,” you just have to provide a name and description for the group and select Option 3 to create a service group with a quota:
Next, you specify the specific system where the service group will reside (when you have more than one VMstore system) and specify the mount point. Then, by selecting the Settings tab, you can configure quotas for the service group along with data protection replication and QoS, if desired.
When you select Edit in the Quotas section, you can then assign a quota in GiB, along with various alert thresholds.
Note that capacity is specified in terms of logical space—the amount of space required before deduplication and compression are applied. Although end users may not have access to Tintri Global Center, the logical space available to them is visible from within vCenter.
It should be noted that from the tenant’s perspective, a sub-mount with Tintri Quotas enabled behaves just like a physical system. When the quota limit is reached, writes will begin to fail until the situation is corrected.
By selecting the service group Metrics tab, you see logical space versus physical space usage along with a variety of other graphs related to usage. As in the example below, deduplication and compression often result in very high space savings, so the physical space needed can be significantly less than the logical capacity. This is potentially a big advantage for service providers in particular.