2.9. Block Storage サービス (cinder) の整合性グループ


Block Storage (cinder) サービスを使用して、整合性グループを設定して複数のボリュームを単一のエンティティーとしてグループ化することができます。つまり、複数のボリュームに対して個別に操作を実行するのではなく、同時に複数のボリュームに対して操作を実行することができます。整合性グループを使用して、複数ボリュームのスナップショットを同時に作成することができます。また、これらのボリュームを同時にリストアまたはクローン作成することも可能です。

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

2.9.1. Block Storage サービスの整合性グループの設定

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

"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",
Copy to Clipboard Toggle word wrap

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

前提条件

  • アンダークラウドがインストールされる。詳細は、director使用した Red Hat OpenStack Platform のインストールと管理の director のインストールを参照してください。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. stackrc アンダークラウド認証情報ファイルを入手します。

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 環境ファイルを編集し、parameter_defaults セクションに新しいエントリーを追加します。これにより、openstack overcloud deploy コマンドを使用して環境が再デプロイされるたびに、エントリーがコンテナーで更新され保持されるようになります。
  4. CinderApiPolicies を使用して環境ファイルに新規セクションを追加し、整合性グループの設定を定義します。JSON ファイルのデフォルト設定を持つ同等の parameter_defaults セクションは、次のように表示されます。

    parameter_defaults:
      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' }, \
     }
    Copy to Clipboard Toggle word wrap
  5. 'group:nobody' は、この機能を使用できるグループがないことを決定するため、効果的に無効になります。これを有効にするには、グループを別の値に変更します。
  6. セキュリティーを強化するためには、整合性グループの API とボリューム種別管理の API の両方に、同じアクセス権限を設定します。デフォルトでは、ボリューム種別管理の API は (同じ /etc/cinder/policy.json_ file) で "rule:admin_or_owner" に設定されています。

    "volume_extension:types_manage": "rule:admin_or_owner",
    Copy to Clipboard Toggle word wrap
  7. 整合性グループの機能をすべてのユーザーが利用できるようにするには、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’ }, \
     }
    Copy to Clipboard Toggle word wrap
  8. 更新を環境ファイルに保存します。
  9. その他の環境ファイルと共に環境ファイルをスタックに追加して、オーバークラウドをデプロイします。

2.9.2. Dashboard を使用した Block Storage 整合性グループの作成

整合性グループの API を有効にしたら、整合性グループの作成を開始することができます。

前提条件

手順

  1. 管理者ユーザーまたはボリューム所有者としてダッシュボードにログインします。
  2. Project > Compute > Volumes > Volume Consistency Groups を選択します。
  3. 整合性グループの作成 をクリックします。
  4. ウィザードの 整合性グループの情報 タブで、整合性グループの名前と説明を入力します。次に アベイラビリティーゾーン を指定します。
  5. 整合性グループにボリューム種別を追加することもできます。整合性グループにボリュームを作成する際には、Block Storage サービスにより、これらのボリューム種別から互換性のある設定が適用されます。ボリューム種別を追加するには、利用可能な全ボリューム種別 リストから追加するボリューム種別の + ボタンをクリックします。
  6. 整合性グループの作成 をクリックします。次回、作成した整合性グループが ボリュームの整合性グループ テーブルに表示されます。

2.9.3. Dashboard を使用した Block Storage サービスの整合性グループの管理

Dashboard で Block Storage ボリュームの整合性グループを管理できます。

前提条件

手順

  1. 管理ユーザーとして Dashboard にログインします。
  2. Project > Compute > Volumes > Volume Consistency Groups を選択します。
  3. (オプション) アクション コラムから 整合性グループの編集 を選択して、整合性グループの名前または説明を変更することができます。
  4. 整合性グループにボリュームを直接追加または削除するには、設定する整合性グループを見つけます。その整合性グループの アクション コラムで、ボリュームの管理 を選択します。これにより、整合性グループボリュームの追加/削除 ウィザードが起動します。

    1. 整合性グループにボリュームを追加するには、利用可能な全ボリューム リストから追加するボリュームの + ボタンをクリックします。
    2. 整合性グループからボリュームを削除するには、選択済みのボリューム リストから削除するボリュームの - ボタンをクリックします。
  5. 整合性グループの編集 をクリックします。

2.9.4. Block Storage サービス用の整合性グループのスナップショットの作成および管理

整合性グループにボリュームを追加したら、そこからスナップショットを作成することができます。

前提条件

  • 整合性グループのスナップショットを作成および管理するには、プロジェクト管理者である必要があります。

手順

  1. source コマンドでオーバークラウドの認証情報ファイルを読み込みます。

    $ source ~/<credentials_file>
    Copy to Clipboard Toggle word wrap
    • <credentials_file> を認証情報ファイルの名前 (overcloudrc など) に置き換えます。
  2. 利用可能な整合性グループおよびその ID をすべて表示します。

    $ cinder consisgroup-list
    Copy to Clipboard Toggle word wrap
  3. 整合性グループを使用してスナップショットを作成します。

    $ cinder cgsnapshot-create [--name <cgsnapname>] [--description "<description>"] <cgnameid>
    Copy to Clipboard Toggle word wrap
    • <cgsnapname> は、スナップショットの名前に置き換えます。
    • <description> は、スナップショットの説明に置き換えます。
    • <CGNAMEID> は、整合性グループの名前または ID に置き換えます。
  4. 利用可能な整合性グループのスナップショットの全リストを表示します。

    # cinder cgsnapshot-list
    Copy to Clipboard Toggle word wrap

2.9.5. Block Storage サービスの整合性グループのクローン作成

整合性グループを使用して、事前に設定されたボリューム群を一括で同時に作成することもできます。この操作は、既存の整合性グループをクローンするか、整合性グループのスナップショットをリストアすることによって実行できます。いずれのプロセスも同じコマンドを使用します。

前提条件

  • 整合性グループのクローンを作成し、整合性グループのスナップショットを復元するには、プロジェクト管理者である必要があります。

手順

  1. source コマンドでオーバークラウドの認証情報ファイルを読み込みます。

    $ source ~/<credentials_file>
    Copy to Clipboard Toggle word wrap
    • <credentials_file> を認証情報ファイルの名前 (overcloudrc など) に置き換えます。
  2. 既存の整合性グループのクローンを作成するには、以下のコマンドを実行します。

    $ cinder consisgroup-create-from-src --source-cg <cgnameid> [--name <cgname>] [--description "<description>"]
    Copy to Clipboard Toggle word wrap
    • <cgnameid> は、複製する整合性グループの名前または ID に置き換えます。
    • <cgname> は、整合性グループの名前に置き換えます。
    • <description> は、整合性グループの説明に置き換えます。
  3. 整合性グループのスナップショットから整合性グループを作成するには、以下のコマンドを実行します。

    $ cinder consisgroup-create-from-src --cgsnapshot <cgsnapname> [--name <cgname>] [--description "<description>"]
    Copy to Clipboard Toggle word wrap
    • <cgsnapname> は、整合性グループの作成に使用するスナップショットの名前または ID に置き換えてください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat