StorPool QoS class configuration
This document describes the configuration options for setting StorPool QoS classes in OpenNebula with the StorPool addon.
Installation
The function to update the VM and enforce the policy is part of the VolumeCare helper script.
QoS class priority order
The StorPool addon uses a hierarchical approach to determine which QoS class to apply to a volume. The priority order (from lowest to highest) is:
Global default (
DEFAULT_QOSCLASS)Datastore-level (
SP_QOSCLASS)Image-level (for persistent images) (
SP_QOSCLASS)VM-level (
SP_QOSCLASS)Per-disk configuration within VM (
SP_QOSCLASSwith disk ID specifiers)
The highest priority setting that applies to a specific disk will be used.
Note: for the persistent images when there is a Image-level QoS class set, the VM-level classification does not override it. Only the fine-grained per-disk configuration overrides them.
The following table shows the priorities:
TYPE |
|
IMAGE |
IMAGE DS |
SYSTEM DS |
VM |
VM DISK |
|---|---|---|---|---|---|---|
PERSISTANT |
< |
<! |
<? |
<? |
<? |
< |
NON-PERS |
< |
- |
- |
< |
< |
< |
CDROM |
< |
- |
- |
< |
< |
< |
VOLATILE |
< |
- |
- |
< |
< |
< |
SAVE-AS |
< |
- |
< |
- |
- |
- |
DS_CLONE |
< |
<! |
<? |
- |
- |
- |
Where:
Label |
Description |
|---|---|
‘<’ |
tag available |
‘<!’ |
a “prioritized” tag |
‘<?’ |
tag overriden by a “prioritized” one |
‘-’ |
not applicable |
How QoS classes are applied
When a VM is created or modified, the addon determines the appropriate QoS class for the VM and its disks based on the priority order above, and applies it as a tag to the StorPool volume. The QoS policies defined in StorPool are then automatically applied to the volumes by the storpool_qos service.
When a VM disk is saved as an Image to an Image Datastore it is inheriting the SP_QOSCLAS defined for the datastore, or the global DEFAULT_QOSCLASS variable. Note that when a DEFAULT_QOSCLASS is not defined, the driver could pick SP_QOSCLASS from the definition the Image used for the VM disk.
When a VM is terminated, the Persistent disk Images are tagged following the standard priority.
Debugging
To troubleshoot QoS class assignment issues, check the OS logs (syslog or journal) for output from the debug_sp_qosclass function, which shows which QoS class was selected.
To enable debug logging, set
DEBUG_SP_QOSCLASS=1 in /var/lib/one/remotes/addon-storpoolrc