Cinder provides a mechanism to assign volume management to a specific backend. As we have iterated previously through some of the most commonly used Cinder backends, an OpenStack operator could control the creation of different volumes that correspond to specific backends available in the storage pool. This becomes a very essential part of block storage operation when using a variety of multiple backends. The key component that takes care of automating the placement of new volumes is the cinder-scheduler service.
As shown in the following figure, the cinder-scheduler decides the best backend fit of a newly created volume based in the first place on filter policies. Filters can be applied according to a few storage information capabilities such as drive state, health, space, and types. The second scheduler stage will apply weighing policy if more than one...