OpenStack Block Storage
OpenStack Block Storage resources represent Cinder volumes, backed up and
restored through the openstack-block protocol of the OpenStack integration.
Plakar Control Plane backs up a volume by snapshotting it and reading its disk,
and restores a backup into a new Cinder volume. The original volume is never
modified by a restore.
Inventory Management
Managed inventories can discover Cinder volumes automatically once the OpenStack inventory is connected to a project. The inventory discovers volumes in every region the credentials can reach. Openstack Block Storage resources are only discovered by the OpenStack inventory and cannot be setup by a self-managed inventory.
Backup and restore
A backup snapshots the volume and copies its disk through Glance, without detaching the volume. A volume in use is backed up crash-consistent. Because the disk passes through Glance, the volume must fit within the Glance image size limit of the cloud. The limit is 1 TiB by default but it can be raised by the operator of the cloud.
A restore creates a new, detached volume with the size, volume type, availability zone and metadata of the original. Existing volumes are never overwritten. The volume type and availability zone must exist in the region the volume is restored to.
Encrypted volumes
Cinder ties encryption to the volume type, and a restore uses the volume type with the same name as the original. If that name refers to an unencrypted type in the target cloud, the volume is restored unencrypted.
The keys of encrypted volumes are held by Barbican, the OpenStack key manager, and are not part of the backup. Keep a copy of them outside the cloud. A restored encrypted volume cannot be decrypted by a cloud that does not have the matching keys.
Backup flow
flowchart TD
subgraph OpenStack["OpenStack Project"]
Volume["Cinder volume"]
Snapshot["Cinder snapshot"]
Image["Glance image"]
end
subgraph Plakar["Plakar Control Plane"]
Source["OpenStack Block Storage
Source app"]
Backup["Backup process
Encrypt & deduplicate"]
end
Store["Kloset Store"]
Source -->|"uses OpenStack APIs"| Volume
Volume --> Snapshot
Snapshot --> Image
Image -->|"read disk"| Backup
Backup --> Store
Restore flow
flowchart TD
Store["Kloset Store"]
subgraph Plakar["Plakar Control Plane"]
Destination["OpenStack Block Storage
Destination app"]
Restore["Restore process"]
end
subgraph OpenStack["OpenStack Project"]
Image["Temporary Glance image"]
Volume["New Cinder volume
(detached)"]
end
Store --> Restore
Destination --> Restore
Restore -->|"upload disk"| Image
Image --> Volume
Shared configuration
The following settings are available when configuring both source and destination apps.
- Openstack Auth Url: Required. The Keystone v3 endpoint, for example
https://keystone.example.com:5000/v3. - Openstack Region: Required. A single region. For a source app, the region the volume lives in. For a destination app, the region the volume is restored to.
- Openstack Application Credential Id and Openstack Application Credential Secret: The application credential to authenticate with. Both are required together, and they take precedence over a username and password.
- Openstack Username and Openstack Password: The credentials of an OpenStack user, used when no application credential is set.
- Openstack Project Id: The project to authenticate to with a username and password. Takes precedence over the project name.
- Openstack Project Name: The project to authenticate to when no project ID is set.
- Openstack Domain Name: The domain of the user, and of the project when it
is given by name. Defaults to
Default.
Permissions
Backing up and restoring volumes creates and deletes snapshots, images and
volumes in the project, so the credentials need the reader and member roles
on it. See
Managing Users and Application Credentials
for how to create a user and an application credential with those roles.
Role names depend on how the OpenStack cloud is configured. The reader and
member roles are default Keystone roles, but some providers define their own.
Consult the documentation of the provider for the equivalent roles.