============================== Block Storage service overview ============================== The OpenStack Block Storage service (cinder) adds persistent storage to a virtual machine. Block Storage provides an infrastructure for managing volumes, and interacts with OpenStack Compute to provide volumes for instances. The service also enables management of volume snapshots, and volume types. The Block Storage service consists of the following components: cinder-api Accepts API requests, and routes them to the ``cinder-volume`` for action. cinder-volume Interacts directly with the Block Storage service, and processes such as the ``cinder-scheduler``. It also interacts with these processes through a message queue. The ``cinder-volume`` service responds to read and write requests sent to the Block Storage service to maintain state. It can interact with a variety of storage providers through a driver architecture. cinder-scheduler daemon Selects the optimal storage provider node on which to create the volume. A similar component to the ``nova-scheduler``. cinder-backup daemon The ``cinder-backup`` service provides backing up volumes of any type to a backup storage provider. Like the ``cinder-volume`` service, it can interact with a variety of storage providers through a driver architecture. Messaging queue Routes information between the Block Storage processes.