How QoS Works
Storage QoS workload management allows you to control the resources that can be consumed by storage objects (such as volumes, LUNs, VMDKs, or SVMs) to manage performance spikes and improve customer satisfaction. You set throughput limits expressed in terms of MB/sec (for sequential workloads) or I/O operations per second (for transactional workloads) to achieve fine-grained control. When a limit is set on an SVM, the limit is shared for all objects within that SVM. This allows you to set a performance limit on a particular tenant or application, but it leaves the tenant or application free to manage the assigned resources however they choose within that limit.
Storage QoS is applied by creating policy groups and applying limits to each policy group. For instance, a policy group can contain a single SVM, or a collection of volumes or LUNS (within a SVM) used by an application.
Figure 1) A QoS policy group contains a collection of storage objects such as SVMs, volumes, LUNs, or files. The limit on a policy group applies to all the objects in the group collectively, even when the objects are on different nodes in the cluster.
In virtual environments, a policy group could contain one or more VMDK files or LUNs within a datastore. The limit applied to a policy group is a combined limit for all the objects the policy group contains. The scheduler actively controls work so that resources are apportioned fairly to all objects in a group.
Note that the objects need not be on the same cluster node, and if an object moves within the cluster, the policy limit remains in effect. You can set a limit on a policy group in terms of IOPS or MB/s, but not both.
Clustered Data ONTAP delivers the features and capabilities that enable your storage environment to succeed. Whether you are managing a traditional enterprise IT environment, a private cloud or a public cloud, Storage QoS gives you another important tool for optimizing storage.
With QoS you can increase utilization of storage resources by consolidating more workloads while minimizing the risk of workloads impacting each other. You can prevent tenants and applications from consuming all available resources, improving the end-user experience. Pre-defining service levels allows you to offer different levels of service to different consumers and applications.