付録A インスタンスのローカリティーの有効化
クラスターのパフォーマンスは、同じノードにローカルのボリュームのみを使用する場合に大幅に改善できます。クラスターに対して、ノードグループテンプレートを介してこのようなボリュームのみを使用するように強制できます。具体的には、volume_local_to_instance プロパティーを True に設定することで行います。
このプロパティーを使用する前に、Block Storage サービスで対応するフィルターを有効にする必要があります。そのためには、/etc/cinder/cinder.conf
の有効なフィルタースケジューラーの一覧に InstanceLocalityFilter
を含める必要があります。
scheduler_default_filters = AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,InstanceLocalityFilter
director を使用してこれを設定するには、以下を含む環境ファイルをデプロイメントに追加します。
parameter_defaults: ControllerExtraConfig: # 1 cinder::config::cinder_config: DEFAULT/scheduler_default_filters: value: 'AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,InstanceLocalityFilter'
- 1
ControllerExtraConfig:
フックとそのネストされているセクションを、既存の環境ファイルのparameter_defaults:
セクションに追加することもできます。
フィルタースケジューラーの詳細は、Storage Guide の Configure Volumes are Allocated to Multiple Back Ends を参照してください。
OpenStack Data Processing が有効なオーバークラウドのデプロイに関する詳細は、2章インストールシステム を参照してください。
InstanceLocalityFilter
を有効にしたら、クラスターが同じノードに対してローカルのボリュームを使用するように強制できるようになりました。これを行うには、以下を行います。
コマンドラインから、利用可能なすべてのノードグループテンプレートの名前を一覧表示します。
$ 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}
ノードグループテンプレートを
setting.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 に設定します。