Cinder is the code name for the OpenStack Block Storage project. OpenStack Block Storage provisions and manages block devices known as Cinder volumes. Cinder also provides a self-service application programming interface (API) to enable users to request and consume storage resources without having to know anything about their type or location.
Under a typical scenario, Cinder volumes provide persistent storage to guest virtual machines -- known as instances -- that are managed by OpenStack Compute software. Cinder can also be used independent of other OpenStack services as stand-alone software-defined storage.
OpenStack Cinder permits organizations that deploy it to make available a catalog of block-based storage devices with differing characteristics. For instance, one potential storage volume type might be a high-performance option for database storage. Another storage volume might be devoted to lower performing backup storage.
Cinder features basic storage capabilities, such as replication, snapshot management and volume clones. However, because OpenStack Cinder is an abstraction layer for storage management, a user may not have access to the special features and functionality of a given storage device or system unless the vendor makes those capabilities available through product-specific drivers.
The physical storage media, whether disks or solid-state drives, can be located within or directly attached to the Cinder server nodes, or they can be located in external storage systems from third-party vendors. Third-party storage vendors use Cinder's plug-in architecture to do the necessary integration work to develop drivers. The back-end path from the external storage systems to the compute nodes where the hypervisors are located can be iSCSI, Network File System (NFS) or Fibre Channel.
Cinder was originally known as nova-volume when it was a component of the OpenStack Compute project, which is known by its code name, Nova. The OpenStack Block Storage project emerged in the fall of 2012 with the OpenStack Folsom release.
OpenStack Block Storage features
The OpenStack Block Storage project team works continuously on storage capabilities, drivers and bug fixes designed to improve the performance, stability, reliability, scalability and usability of the Cinder software service. Many project team members are employees of vendors that maintain Cinder drivers. The OpenStack Block Storage group releases major updates twice a year at the same time as other OpenStack project teams.
More than 100 drivers are available to enable hardware and software devices, systems, and public cloud storage to serve as back ends for OpenStack Cinder. The list includes volume drivers, backup drivers and Fibre Channel zone manager drivers. Available drivers are listed at https://docs.openstack.org/cinder/latest/drivers.html.
The leading Cinder driver in production use is the Ceph RADOS Block Device (RBD), according to annual surveys from the OpenStack Foundation. Other drivers include the default logical volume manager (LVM) for Linux, NetApp, NFS, Dell EMC, VMware Virtual Machine Disk, Hewlett Packard Enterprise 3PAR and SolidFire.
The OpenStack Block Storage project team enforces testing requirements to enable drivers to become part of the Cinder source code base. The team flags drivers as unsupported if their respective vendors are unwilling or unable to meet the testing and reporting requirements. The team removes the unsupported drivers from the next Cinder release if the vendor fails to comply after the warning.