Configuring volume Quality of Service (QoS)

Another feature provided by Cinder is the ability to define and manage classes of service for volumes. Like volume encryption, Quality of Service (QoS) in Cinder is configured by volume type. By default, you can define values for minimum, maximum, and burst IOPS.

Getting ready

To configure volume QoS, you will need the following information:

  • An openrc file with appropriate credentials for the environment (you need to be an administrator)
  • The openstack command-line client
  • The name or ID of the volume type
  • The consumer of the QoS policy
  • Values for the following:
    • Minimum IOPS
    • Maximum IOPS
    • Burst IOPS

    Note

    Only one of the three (min, max, and burst) needs to be provided to define a minimal QoS policy.

For our example, these will be as follows:

  • Name: High IOPS
  • Consumer: both
  • Maximum IOPS: 500

How to do it…

For Cinder volumes to use QoS, an administrator needs to perform two steps: first, define the specification, and second, to associate the specification with a volume type.

To create and assign a QoS specification, use the following steps:

  1. First, list the existing QoS specifications:
    openstack volume qos list --print-empty
    

    We currently don't have any QoS defined:

    How to do it…
  2. Define a new QoS specification with the following:
    openstack volume qos create
        --consumer both
        --property maxIOPS=500
        "High IOPS"
    

    This will bring back the following output:

    How to do it…
  3. Confirm our QoS specification was created by listing the QoS available:
    openstack volume qos list -c Name -c Consumer -c Properties -f table
    

    This will bring back the following output:

    How to do it…
  4. We now associate the policy to a volume type as follows:
    openstack volume qos associate "High IOPS" "High IOPS"
    

    Note

    This command produces no output when successful.

How it works…

QoS specifications are defined within Cinder using the openstack volume qos set of commands. When creating a QoS specification, you can specify where QoS is applied as well as the value to set it at. Currently, you can specify a static set of minimum, maximum, and burst IOPS, and a scaling set of IOPS.

The static values break down as follows:

  • Minimum IOPS: This is the number of IOPs guaranteed to a volume
  • Maximum: This is the ceiling for IOPS on a volume
  • Burst IOPS: This is the maximum IOPS over a short period

Scaling IOPs then, define the amount to change the static values for each additional gigabyte of volume size.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.118.40