
Title
Page icon
Create new category
Edit page index title
Edit category
Edit link
How to Enable LUKS Encryption for Cinder Volumes?
Problem
This How-To explains how to implement LUKS encryption for Cinder volume backends to enhance data security by encrypting storage volumes at rest.. This ensures that sensitive data remains protected, even if the underlying storage devices are compromised.
Environment
Private Cloud Director Virtualisation - v2025.4 and Higher.
Self-Hosted Private Cloud Director Virtualisation – v2025.4 and Higher.
Component - Storage(Cinder, Barbican, LVM)
With the June release, Cinder API has integrated native support for volume encryption (covered in steps 6 and 7 in the Procedure section), removing the need for manual configuration. This release currently supports only basic (LUKS/plain) encryption.
Procedure
Ensure Barbican is running and integrated with Keystone:
Create an Encryption Key in Barbican.
Create an Encrypted Volume Type
To run cinder commands, install python-cinderclient==9.4.0. In some OpenStack versions, the openstack CLI does not support creating encrypted volume types. In such cases, use the cinder CLI instead.
Associate Encryption with the Volume Type
Confirm volume type and secret:
On the PCD GUI Select Cluster blueprint Edit desired volume add below properties save the blueprint.
Configure the key manager in the
/opt/pf9/etc/pf9-cindervolume-base/conf.d/cinder.confon all cinder hosts.
After the above changes, restart the
pf9-cindervolume-baseservice on all cinder hosts.
Confirm whether the following highlighted configurations are present in the
/opt/pf9/etc/pf9-cindervolume-base/conf.d/cinder.conffile:
Create Encrypted volume.
Confirm the Encryption status of the volume.