Quality of Service (QoS) Feature

Cloud storage is deployed for multi-tenant usage. Operators strive to provide each tenant with an experience of dedicated resources, while in practice several tenants share the same storage server (in addition to the sharing of other resources such as compute and network). This creates performance unpredictability, which is reflected in the behavior of applications (the “noisy neighbor” effect). The Lightbits value proposition is to improve TCO while maintaining Service Level Agreements (SLA).

Lightbits’ technology allows cloud providers to share and provide storage resources in multi-tenant environments. With the addition of the QoS feature, it is able to deliver performance guarantees, making the cloud more attractive and providing users with the idea that they no longer share resources. Setting user volume limits will enable operators to decrease the impact of the “noisy neighbor” effect and increase the predictability of storage performance that users get.

  • Each volume has a default project.
  • The default project is automatically assigned to a global-default-policy; this is a no-limit policy. (If no QoS policies were created, only the global-default-policy will be listed).

To list existing QoS policies:

Bash
Copy

Creating a new QoS policy:

Bash
Copy

A QoS policy can be created to limit the following parameters:

  • Limit IOPs per user: –type iops
  • Limit bandwidth per user: –type bw
  • Limit IOPs per gigabyte per user: –type iops-per-gb
  • IOPs write/read limit is in increments of 256, 512, 1024 …
  • The newly created policy can be assigned to any number of projects under $ --projects

List existing QoS policies:

Bash
Copy

Sample Output

Bash
Copy

Update the volume with the newly created QoS policy:

Bash
Copy

Check the update (in the bottom of the output you will see the QoS policy that the volume is assigned to).

Bash
Copy

Sample Output

Bash
Copy

Update the existing project to use the created QoS policy as the default QoS policy.

New projects for different tenants can be created by lbcli create project --name.

In this example, we will use a default project that is created by installing the Lightbits cluster.

Bash
Copy

In this output, we can verify that QoS policy UUID is updated to the one we created. Any volume created under this project will inherit the project-default-policy.

Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard