Volume Provisioning: Thin vs. Thick
Private Cloud Director supports two volume provisioning modes for block storage: thin provisioning and thick provisioning. The mode is determined by the storage driver and can be controlled through Volume Type extra-specs.
How Provisioning Modes Work
Thick Provisioning
With thick provisioning, the entire requested volume capacity is reserved on the storage backend at creation time. A 100 GiB volume immediately occupies 100 GiB of physical storage, regardless of how much data the volume actually holds.
When to use thick provisioning:
Workloads that require predictable I/O performance with no first-write overhead.
Environments where strict capacity accounting is required (for example, financial or compliance-sensitive deployments).
Backends where you want to guarantee that physical space will always be available for the volume.
Thin Provisioning
With thin provisioning, the Persistent Storage Service creates the logical volume but allocates physical storage only as data is written. A 100 GiB thin-provisioned volume may initially occupy only a few megabytes of physical capacity.
Thin provisioning enables over-allocation: the sum of all logical volume sizes can exceed the total physical capacity of the backend pool. This is useful for environments where volumes are sparsely populated (for example, development or test workloads), but it requires careful monitoring to avoid running out of physical space.
When to use thin provisioning:
Environments where storage efficiency matters and volumes are not fully written.
Test or development clusters where flexibility is more important than guaranteed space.
Storage backends that natively default to thin (for example, Ceph RBD, Pure Storage).
Over-allocation risk
When thin provisioning is in use, it is possible for the total logical capacity of volumes to exceed available physical storage. If the backend pool runs out of physical space, writes to thin-provisioned volumes will fail. Monitor physical pool utilization and set alerts at the storage backend level — logical volume sizes alone do not reflect actual consumption.
Driver and Backend Dependency
Not all storage drivers support both provisioning modes. Some drivers default to thin provisioning and do not expose a configurable option; others support both modes and expose a selection mechanism through Volume Type extra-specs or driver-level configuration.
The Persistent Storage Service relies on drivers to report accurate capacity data. The max_over_subscription_ratio and reserved_percentage settings in the backend configuration influence how the Persistent Storage Service evaluates available space, but their effectiveness depends on accurate driver reporting.
Refer to your storage vendor's driver documentation for the authoritative list of capabilities supported for your backend.
Driver Support Summary
The following table summarizes thin and thick provisioning support for commonly used drivers. Consult the vendor's driver documentation for full details and any version-specific constraints.
Ceph RBD
Thin (default)
Thin provisioning is the native RBD behavior; thick is not typically available.
Dell PowerFlex
Both (configurable)
Controlled via Volume Type extra-specs.
Dell PowerMax
Both (configurable)
Controlled via Volume Type extra-specs.
HPE Alletra/Primera
Both (configurable)
Selected via Volume Type extra-specs.
LVM
Both (configurable)
Thin provisioning is enabled by setting lvm_type=thin in the driver configuration.
NetApp Unified
Both (configurable)
Controlled via Volume Type extra-specs.
NFS
Thin (default)
Thin behavior is controlled by the nfs_sparsed_volumes driver option (True by default).
Pure Storage
Thin (default)
Thin provisioning is the native behavior; thick is not typically available.
Configuring Provisioning Type via Volume Types
For drivers that support both modes, the provisioning type is specified in the Volume Type extra-specs. Volume Types are created and managed in the Private Cloud Director UI under Storage > Volume Types, or via the pcdctl CLI.
Setting extra-specs
Add the following extra-spec key to the Volume Type:
provisioning:type
thin
Requests thin provisioning.
provisioning:type
thick
Requests thick provisioning.
Example: creating Volume Types with the Pcdctl CLI
LVM-specific configuration
For the LVM driver, thin provisioning is enabled at the driver level rather than via a Volume Type extra-spec:
Refer to the LVM driver documentation for full configuration details.
Monitoring Guidance
Thin provisioning introduces a gap between logical volume sizes and physical storage consumption. The Persistent Storage Service does not expose physical pool utilization directly. Use storage-backend-specific tooling to monitor physical usage:
Configure capacity alerts on the backend storage system or management layer.
Track pool utilization alongside logical allocation to detect over-subscription before it causes write failures.
When
max_over_subscription_ratiois tuned to allow higher over-subscription, more frequent monitoring is warranted.
Related Pages
Last updated
Was this helpful?
