2.2.7. ボリュームを複数のバックエンドに割り当てる方法の設定
Block Storage サービスが複数のバックエンドを使用するように設定されている場合には、設定済みのボリューム種別を使用して、ボリュームの作成先を指定することができます。詳しくは、「ボリュームを作成するバックエンドの指定」を参照してください。
ボリュームの作成時にバックエンドを指定していない場合には、Block Storage サービスにより、自動的に選択されます。Block Storage は、最初に定義したバックエンドをデフォルトとして設定します。このバックエンドは、容量がなくなるまで使用されます。容量がなくなった時点で、Block Storage は 2 番目に定義されたバックエンドをデフォルトに設定し、その容量がなくなるとさらに次のバックエンドがデフォルトに設定されるようになっています。
このメカニズムが必要な条件を満たさない場合には、フィルタースケジューラーを使用して、Block Storage がバックエンドを選択する方法を制御することができます。このスケジューラーは、以下の例に示したような異なるフィルターを使用して適切なバックエンドをトリアージすることができます。
- AvailabilityZoneFilter
- 要求されたボリュームのアベイラビリティーゾーン要件を満たさないバックエンドを除外します。
- CapacityFilter
- ボリュームを収容するのに十分な容量のあるバックエンドのみを選択します。
- CapabilitiesFilter
- ボリュームで指定した設定に対応可能なバックエンドのみを選択します。
- InstanceLocality
- クラスターが、同じノードに対してローカルのボリュームを使用するように設定します。
フィルタースケジューラーを設定するには、以下の内容を記載した環境ファイルをデプロイメントに追加します。
parameter_defaults: ControllerExtraConfig: # 1 cinder::config::cinder_config: DEFAULT/scheduler_default_filters: value: 'AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,InstanceLocality'
- 1
ControllerExtraConfig:
フックとそのネストされているセクションを、既存の環境ファイルのparameter_defaults:
セクションに追加することもできます。