Skip to main content

Overview

Volume types are the mechanism through which administrators expose storage tiers to users. Each volume type maps to a specific backend through the volume_backend_name extra spec and optionally enforces I/O quality-of-service limits. Well-defined volume types are essential for predictable workload performance and efficient backend utilization.
Administrator Access Required — This operation requires the admin role. Contact your Xloud administrator if you do not have sufficient permissions.
Prerequisites
  • Administrator credentials with the admin role
  • At least one storage backend configured and registered with the scheduler
  • Backend names available via openstack volume backend pool list --long

Create a Volume Type

Navigate to Volume Types

Log in to the Xloud Dashboard (https://connect.<your-domain>) and navigate to Admin → Volumes → Volume Types.

Create the type

Click Create Volume Type. Enter a descriptive name (e.g., nvme, ssd, standard) and an optional description. Click Create Volume Type.

Set the backend association

In the volume type list, click the type name to open its details page. Under Extra Specs, click Create and add:
KeyValuePurpose
volume_backend_name<backend-name>Routes volumes to the correct backend
The value of volume_backend_name must exactly match the volume_backend_name configured in the backend driver settings. Use openstack volume backend pool list to confirm the correct name.

Verify

Create a test volume using the new type and confirm it reaches available status:
Test volume type
openstack volume create --size 1 --type <type-name> test-vol
openstack volume show test-vol -c status -c type
openstack volume delete test-vol
Volume type created and validated against the backend.

Configure QoS Policies

Quality-of-Service specs enforce I/O limits on volumes associated with a type. QoS policies are applied at the hypervisor (front-end), at the storage backend (back-end), or at both layers.

Create a QoS Spec

Navigate to Admin → Volumes → QoS Specs. Click Create QoS Spec. Enter a name (e.g., ssd-standard-qos) and set the consumer:
ConsumerEffect
front-endLimits enforced at the hypervisor (recommended for RBD)
back-endLimits enforced at the storage backend
bothLimits enforced at both layers

Add I/O limit specs

After creation, open the QoS Spec and add limits:
KeyExample ValueDescription
total_iops_sec5000Maximum combined read + write IOPS
read_iops_sec3000Read IOPS limit
write_iops_sec2000Write IOPS limit
total_bytes_sec524288000Throughput cap in bytes/sec (500 MiB/s)
read_bytes_sec314572800Read throughput cap (300 MiB/s)
write_bytes_sec209715200Write throughput cap (200 MiB/s)

Associate with a volume type

In the QoS Specs list, click Actions → Manage Associations on the spec. Select the target volume type and click Associate.
QoS spec associated with volume type — limits active on all new volumes.

Restrict Volume Type Access

By default, volume types are available to all projects. Sensitive types (e.g., encrypted or high-performance tiers) can be restricted to specific projects:
Make a volume type private
openstack volume type set --private <type-name>
Grant access to a specific project
openstack volume type access add \
  --project <project-id> \
  <type-name>
List projects with access
openstack volume type access list <type-name>

Tiertotal_iops_sectotal_bytes_secConsumer
NVMe50,000 – 200,0004,294,967,296 (4 GB/s)front-end
SSD5,000 – 20,0001,073,741,824 (1 GB/s)front-end
Standard500 – 2,000314,572,800 (300 MB/s)front-end
Start with conservative limits and adjust based on observed workload behavior. Overly restrictive QoS on shared backends can throttle legitimate I/O and cause application timeouts.

Next Steps

Storage Tiers

Configure NVMe, SSD, and HDD tier mappings and set the default volume type

Encryption

Enable at-rest encryption on volume types

Storage Backends

Configure and manage the underlying backend drivers

Volume Types (User)

User guide for selecting the correct volume type for a workload