
Implement QoS in Qsan Storage
Technology QoS (Quality of Service) in the network infrastructure has been known for a long time. Later, similar algorithms found application in the field of data storage, becoming in fact the standard for systems that aspire to the Enterprise market. In Qsan storage , this functionality became available relatively recently with the advent of firmware version 1.4.0.

The very idea of setting priorities for various tasks (namely, this is the essence of the QoS algorithms) is due to equal access to resources from the hosts. If the overall performance of the storage is sufficient, then the infrequent bursts of activity of certain services can be offset by a reduced performance requirement from other applications. However, in real life, several storage critical services are often located on the same storage system at once. If you rely on their equal access to resources, then “braking” of at least one of them may well occur due to the work of other applications.
In addition to productive applications that are critical to performance indicators, storage environments for developers can also be located on storage systems, which should also be limited in performance so as not to interfere with the main work. Plus, there are always scheduled and unscheduled maintenance work on systems that also require certain resources, taking them away from the main services. Therefore, ranking applications located on the storage system in accordance with their priority of access to resources in terms of performance will be very useful.
From the point of view of QoS configuration, two main policies can be distinguished:
- Setting maximum values (upper limit)
- Setting the minimum desired values (restriction "bottom")
For QoS, one of them is selected. If necessary, you can always switch settings on the fly. QoS policies themselves apply to individual volumes.
The maximum values are IOPS and bandwidth. The default value is Unlimited (unlimited). If specific values are set, performance will be limited by these numbers.

If you use the restriction “from below”, then you must set the priority of access to resources: low, medium or high. In case of high priority, you can also set the minimum desired value for the Response Time parameter. This parameter is not in vain designated as desirable, because its achievement is far from always possible due to the configuration of the drives used and the current load on the system.

Verification in business
As a test bench, we used one server connected directly to the XS5224 storage system via the Fiber Channel interface. The storage was filled with NL-SAS 7.2K disks assembled in 3 RAID-0 pools. One volume was created on each of the pools, totaling 3 volumes. The load was the IOmeter test.
Using Resource Access Priority


It is clearly seen that when changing the priority, the performance is redistributed in the corresponding order.
Using priority access to resources indicating the desired access time


When changing the priority, the performance is redistributed in the appropriate order. For Vol-1, the Response Time value tends to the specified 25ms, but does not reach it due to lack of RAID group performance.
Using the IOPS Limit


With limited performance in IOPS for some volumes, the rest of the volumes get an increase in speed due to free resources.
Using bandwidth limits


When bandwidth performance is limited, the performance of individual volumes also increases due to freed resources.
QoS functionality in Qsan storage is one of the key tools to increase productivity by balancing and prioritizing. As tests have shown, the algorithms work quite predictably. It is also important to note that the QoS functionality is absolutely free. And it can be used not only in newly acquired systems, but also in storage systems that have been in operation for a long time by updating the firmware.