Block Storage (Cinder)
Overview
firstcolo Cloud Block Storage Service is built on the OpenStack Cinder project.
With the Block Storage Service it is possible to add additional persistent block storage to your compute instances.
You can manage your block storage volumes and make them available to your compute instances both via our public OpenStack API endpoints, as well as using the Dashboard and the OpenStack CLI.
Available volume types
Volume type | eu-central-1 region |
---|---|
ceph-ssd | Yes (default) |
ceph-nvme | Yes |
ceph-ssd
The data will be stored on SATA SSDs in the firstcolo Cloud distributed storage cluster based on Ceph. The data will be replicated and stored on three different storage nodes and SSDs.
The volumes can only be attached to a single virtual machine at a time.
ceph-nvme
The data will be stored on NVMe SSDs in the firstcolo Cloud distributed storage cluster based on Ceph. The data will be replicated and stored on three different storage nodes and SSDs.
The volumes can only be attached to a single virtual machine at a time.
Available functionality
OpenStack Cinder Feature | eu-central-1 region |
---|---|
Block storage volumes | Yes |
Volume transfer | Yes |
Volume snapshots | Yes |
Save volume as glance image | Yes |
Multi-attach volumes | No |
Volume resizing | Yes |
Volume backups | Yes |
Block storage volumes
The OpenStack Cinder service allows end users to manage virtual block storage devices. Via a self service API it provides the functionality to create volumes for persistent storage and attach them to virtual machines. A volume can be moved from one VM to another by detaching it and re-attaching it somewhere else. Also you may delete or rebuild a VM without losing its data that is kept on a Cinder volume.
Inside the virtual machine the volume will be available as a block device (e.g. on Linux operating systems as /dev/vdX
). It might be necessary to format the device with the file system of your choice.
Volume transfer
Volume transfers allow you to transfer ownership of a volume to a different OpenStack project.
The transfer can be initiated in one project using openstack volume transfer request create
, and then completed using openstack volume transfer request accept
.
Volume snapshots
A snapshot saves a point-in-time copy of a block storage volume.
openstack volume snapshot create --volume volume_name_or_id snapshot_name
Snapshots can only be created while the volume is detached. The option --force
to create a snapshot from an attached volume is currently not supported and may lead to a snapshot in ERROR state. Boot volumes cannot be detached (not even while the instance is shut down).
You may use the snapshot as a source when creating a new volume:
openstack volume create --snapshot snapshot_id name_of_new_volume
Save volume as glance image
It is possible to copy the contents of a cinder volume to the glance image store, e.g. using the OpenStack CLI:
openstack image create --volume volume_name_or_id name_of_new_image
The cinder volume must be detached for the operation to succeed.
Volume resizing
Sometimes it is necessary to change the size of your volume.
Cinder volumes can be extended in size using the API or the OpenStack CLI:
openstack volume set --size XX volume_name_or_id
Following the volume size change it might be necessary to grow the filesystem. If you are using ext4 you may need to run this command on the VM where the volume is attached:
resize2fs /dev/vdX
Current limitations
- Shrinking volumes is not supported. If you need to reduce the size of your volume, create a new one and copy the data.