付録A インスタンスの局所性の有効化
クラスターのパフォーマンスは、同じノードにローカルのボリュームのみを使用する場合、大幅に改善されます。特に volume_local_to_instance プロパティーを True に設定すると、クラスターがこのようなボリュームのみを使用するように強制できます。
このプロパティーを使用する前に、Block Storage サービスで対応するフィルターを有効にする必要があります。そのためには、InstanceLocality
を /etc/cinder/cinder.conf
で有効なフィルタースケジューラーの一覧に含める必要があります。
scheduler_default_filters = AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,InstanceLocality
director を使用してこれを設定するには、以下の内容を記述した環境ファイルをデプロイメントに追加します。
parameter_defaults: ControllerExtraConfig: # 1 cinder::config::cinder_config: DEFAULT/scheduler_default_filters: value: 'AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,InstanceLocality'
- 1
ControllerExtraConfig:
フックとそのネストされているセクションを、既存の環境ファイルのparameter_defaults:
セクションに追加することもできます。
フィルタースケジューラーの詳細は、「 ボリュームの複数のバックエンドへの割り当て方法 ( ストレージガイド)」を参照してください。
OpenStack Data Processing が有効なオーバークラウドのデプロイに関する詳細は、2章インストールシステム を参照してください。
InstanceLocality
フィルターを有効にした後に、クラスターで同じノードにローカルのボリュームを使用するように強制できるようになりました。改善点を報告する場合は、以下のように行います。
コマンドラインで、利用可能なすべてのノードグループテンプレートの名前を一覧表示します。
$ sahara node-group-template-list +------------+--------------------------------------+ | name | id ... +--------------+------------------------------------+ | mytemplate | 3d6b4b7c-bca7-4f3a-a6ae-621a31ab7a75 ... +------------+--------------------------------------+
テンプレートのプロパティーを表示します。
$ sahara node-group-template-show --name mytemplate +---------------------------+---------------+ | Property | Value | +---------------------------+---------------+ | volume_local_to_instance | False | | volumes_availability_zone | None | | description | | | availability_zone | | | volume_mount_prefix | /volumes/disk | | updated_at | None | ...
ここで、
volume_local_to_instance
は False に設定されます。以下の文字列を含む
setting.json
という名前のファイルを作成します。{"volume_local_to_instance": true}
ノードグループテンプレートを、settings.
json の文字列で更新します。
$ sahara node-group-template-update --json setting.json --id 3d6b4b7c-bca7-4f3a-a6ae-621a31ab7a75 +---------------------------+---------------+ | Property | Value | +---------------------------+---------------+ | volume_local_to_instance | True | | volumes_availability_zone | None | | description | | | availability_zone | | | volume_mount_prefix | /volumes/disk | | updated_at | None | ...
これにより、volume_local_to_instance プロパティーを True に設定します。