Cinder supports configuring multiple storage backends with identical volume_backend_name
. In this configuration, Cinder-scheduler automatically schedules the placement of new volumes based on scheduler, which filter out storage backends that don't fit the filter policy, when multiple backends fit the filter policy, the backend storage is chosen, based on scheduler weighers.
CapacityFilter
and CapacityWeigher
are the default filter and weigher, respectively. When they are enabled, cinder-scheduler assigns the highest weight to the backend with the most available capacity.
VolumeNumberWeigher
spreads volumes evenly across all storage backends that passed the filters, so for example, if two storage providers share the same volume_backend_name
, and 10 volumes are created, each provider backend would host five volumes. This weigher provides another means of balancing workloads across multiple backend providers.