2.2.9. 整合性グループの設定と使用


Block Storage サービスでは、整合性グループ を設定することができます。これにより、複数のボリュームを単一のエンティティーとしてグループ化することができます。その結果、複数のボリュームに対する操作を、個別に実施せずに 1 度に実施することができます。特に本リリースでは、整合性グループを使用して、複数ボリュームのスナップショットを同時に作成することができます。その延長で、これらのボリュームを同時に復元またはクローン作成することも可能です。

1 つのボリュームを複数の整合性グループのメンバーにすることができます。ただし、ボリュームを整合性グループに追加したら、そのボリュームを削除、種別変更、移行することはできません。

2.2.9.1. 整合性グループの設定

デフォルトでは、整合性グループの API は Block Storage のセキュリティーポリシーにより無効にされています。この機能を使用するには、ここで有効にする必要があります。Block Storage API サービス (openstack-cinder-api) をホストするノードの /etc/cinder/policy.json の関連整合性グループエントリーに、デフォルト設定の一覧が表示されます。

"consistencygroup:create" : "group:nobody",
"consistencygroup:delete": "group:nobody",
"consistencygroup:update": "group:nobody",
"consistencygroup:get": "group:nobody",
"consistencygroup:get_all": "group:nobody",
"consistencygroup:create_cgsnapshot" : "group:nobody",
"consistencygroup:delete_cgsnapshot": "group:nobody",
"consistencygroup:get_cgsnapshot": "group:nobody",
"consistencygroup:get_all_cgsnapshots": "group:nobody",

これらの設定を環境ファイルで変更し、openstack overcloud deploy コマンドを使用してオーバークラウドにデプロイする必要があります。JSON ファイルを直接編集すると、次回オーバークラウドがデプロイされる際に変更が上書きされます。

整合性グループを有効にするには、環境ファイルを編集して、parameter_defaults セクションに新規エントリーを追加します。これにより、エントリーがコンテナーで更新され、openstack overcloud deploy コマンドを使用して director で環境を再デプロイするたびにエントリーが維持されるようになります。

CinderApiPolicies を使用して環境ファイルに新規セクションを追加し、整合性グループの設定を定義します。JSON ファイルからのデフォルト設定を示す同等の parameter_defaults セクションは、以下のようになります。

parameter_defauts:
  CinderApiPolicies: { \
     cinder-consistencygroup_create: { key: 'consistencygroup:create', value: 'group:nobody' }, \
     cinder-consistencygroup_delete: { key: 'consistencygroup:delete', value: 'group:nobody' },  \
     cinder-consistencygroup_update: { key: 'consistencygroup:update', value: 'group:nobody' }, \
     cinder-consistencygroup_get: { key: 'consistencygroup:get', value: 'group:nobody' }, \
     cinder-consistencygroup_get_all: { key: 'consistencygroup:get_all', value: 'group:nobody' }, \
     cinder-consistencygroup_create_cgsnapshot: { key: 'consistencygroup:create_cgsnapshot', value: 'group:nobody' }, \
     cinder-consistencygroup_delete_cgsnapshot: { key: 'consistencygroup:delete_cgsnapshot', value: 'group:nobody' }, \
     cinder-consistencygroup_get_cgsnapshot: { key: 'consistencygroup:get_cgsnapshot', value: 'group:nobody' }, \
     cinder-consistencygroup_get_all_cgsnapshots: { key: 'consistencygroup:get_all_cgsnapshots', value: 'group:nobody' }, \
 }

'group:nobody' の値により、どのグループもこの機能を使用できないことが定義され、結果的にその機能が無効化されます。この機能を有効にするには、グループを別の値に変更する必要があります。

セキュリティーを強化するためには、整合性グループの API とボリューム種別管理の API の両方に、同じアクセス権限を設定します。デフォルトでは、ボリューム種別管理の API は "rule:admin_or_owner" に設定されています (同じ /etc/cinder/policy.json ファイルで)。

"volume_extension:types_manage": "rule:admin_or_owner",

整合性グループの機能をすべてのユーザーが利用できるようにするには、API ポリシーのエントリーを設定して、ユーザーが専用の整合性グループを作成、使用、および管理できるようにします。そのためには、rule:admin_or_owner を使用します。

CinderApiPolicies: { \
     cinder-consistencygroup_create: { key: 'consistencygroup:create', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_delete: { key: 'consistencygroup:delete', value: 'rule:admin_or_owner' },  \
     cinder-consistencygroup_update: { key: 'consistencygroup:update', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_get: { key: 'consistencygroup:get', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_get_all: { key: 'consistencygroup:get_all', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_create_cgsnapshot: { key: 'consistencygroup:create_cgsnapshot', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_delete_cgsnapshot: { key: 'consistencygroup:delete_cgsnapshot', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_get_cgsnapshot: { key: 'consistencygroup:get_cgsnapshot', value: 'rule:admin_or_owner' }, \
     cinder-consistencygroup_get_all_cgsnapshots: { key: 'consistencygroup:get_all_cgsnapshots', value: 'rule:admin_or_owner’ }, \
 }

/home/stack/templates/ に環境ファイルを作成したら、stack ユーザーとしてログインします。続いて、以下のコマンドを実行して設定をデプロイします。

$ openstack overcloud deploy --templates \
-e /home/stack/templates/<ENV_FILE>.yaml

ここで、ENV_FILE.yaml は、前のステップで ExtraConfig 設定を追加したファイルの名前です。

重要

オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e オプションを使用して環境ファイルを再度渡します。

openstack overcloud deploy コマンドに関する補足情報は、『director のインストールと 使用方法 』の「CLI ツールを使用したオーバークラウドの作成 」セクションを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.