Skip to content

Storage

This section covers Block Storage (Volumes) in OpenStack — volume types, lifecycle operations, snapshots, and resizing.

What is a Volume?

OpenStack provides two classes of block storage:

  • Ephemeral storage — exists only for the life of an instance. It survives reboots but is deleted when the instance is deleted. The size is defined by the flavor and cannot be changed independently.
  • Persistent volumes — independent block devices that survive instance deletion. A volume can be detached from one instance and reattached to another while retaining all data, much like a USB drive. Volumes are stored on redundant storage and are resilient against hardware failures.

You can attach additional volumes to a VM beyond its system disk. This is useful when you need more space than the flavor provides, or when you want the flexibility to snapshot, resize, or move data between VMs.

Tip

When launching a VM with a Zero-Disk flavor (g*), the boot disk is itself a volume — it persists independently and can be resized later. See the flavor comparison below.

Volume Types

Volumes are backed by one of two Ceph storage clusters:

  • EC (Erasure Coding) — capacity-optimized, used for basic and standard workloads.
  • RP3 (3-replica) — performance-optimized, used for database and IO-intensive workloads.

Fixed-Performance Types

These types have fixed IOPS and throughput limits regardless of volume size.

Type IOPS Throughput Backend Description
v-ssd-bsc 500 50 MB/s EC Basic — for workloads with low IO requirements
v-ssd-std 1,000 120 MB/s EC Default — good for most workloads
v-ssd-medium 2,000 180 MB/s RP3 Entry-level databases and io2 workloads
v-ssd-high 3,500 215 MB/s RP3 Medium-performance databases
v-ssd-ultra 5,000 250 MB/s RP3 High-performance databases, io3 workloads

Dynamic Types

These types scale IOPS and throughput with volume size — larger volumes get more performance.

Type Min IOPS Max IOPS IOPS/GB Min Throughput Max Throughput Backend
v-ssd-dynb 300 10,000 5/GB 75 MB/s 250 MB/s EC
v-ssd-dynx 1,000 20,000 25/GB 100 MB/s 500 MB/s RP3

Note

The v-ssd-std type is assigned by default. To use a different type, specify it when creating the volume (Horizon: Volume Type dropdown; CLI: --type flag).

Standard vs Zero-Disk Flavors

The choice of flavor affects how storage behaves — Zero-Disk flavors (g*) boot from a volume that can be resized and snapshotted, while Standard flavors (e*, m*) include a fixed root disk.

In This Section

  • Volume Operations — create, attach, format, mount, detach, and delete volumes (Horizon + CLI + Ansible + Terraform).
  • Snapshots — create, list, delete snapshots; create a volume from a snapshot.
  • Extend Volumes — increase volume size and resize the filesystem.