2.3. ボリューム種別によるボリューム設定のグループ化

Red Hat OpenStack Platform では、ボリューム種別を作成することができ、関連する設定をボリューム種別に適用することができます。ボリュームの作成時に設定を適用することができます。「Block Storage ボリュームの作成」を参照してください。ボリュームの作成後に設定を適用することもできます。「Block Storage のボリューム種別の変更」を参照してください。ボリューム種別に適用することができる関連設定の一部を、リストにして以下に示します。

設定は、追加スペックと呼ばれるキーと値のペアを使用してボリューム種別に関連付けられます。ボリュームの作成時にボリューム種別を指定する際には、Block Storage のスケジューラーがこれらのキーと値のペアを設定として適用します。また、複数のキーと値のペアを同じボリューム種別に関連付けることができます。

ボリューム種別は、異なるユーザーにストレージ階層を使用できるようにする機能をします。特定のパフォーマンス、耐障害性、およびその他の設定をキーと値のペアとしてボリューム種別に関連付けることにより、階層固有の設定を異なるボリューム種別にマッピングすることができます。マッピングされた階層固有の設定は、ボリュームの作成時に対応するボリューム種別を指定することによって適用が可能です。

2.3.1. バックエンドドライバー機能のリスト表示

利用可能な追加スペックやサポートされている追加スペックは、バックエンドのドライバーにより異なります。有効な追加スペックのリストについては、ボリュームドライバーのマニュアルを参照してください。

または、Block Storage ホストに直接クエリーを送信して、そのドライバーがサポートしている、明確に定義された標準の追加スペックを確認することができます。まず、コマンドラインから Block Storage サービスをホストするノードにログインします。

前提条件

手順

# cinder service-list

このコマンドは、各 Block Storage サービス (cinder-backupcinder-scheduler、および cinder-volume) のホストが含まれるリストを返します。以下に例を示します。

+------------------+---------------------------+------+---------
|      Binary      |            Host           | Zone |  Status ...
+------------------+---------------------------+------+---------
|  cinder-backup   |   localhost.localdomain   | nova | enabled ...
| cinder-scheduler |   localhost.localdomain   | nova | enabled ...
|  cinder-volume   | *localhost.localdomain@lvm* | nova | enabled ...
+------------------+---------------------------+------+---------

Block Storage サービスのドライバーの機能を表示するには (これによりサポートされる追加スペックを判断)、以下のコマンドを実行します。

# cinder get-capabilities _VOLSVCHOST_

VOLSVCHOSTcinder-volume のホストの完全な名前に置き換えます。以下に例を示します。

# cinder get-capabilities localhost.localdomain@lvm
    +---------------------+-----------------------------------------+
    |     Volume stats    |                        Value            |
    +---------------------+-----------------------------------------+
    |     description     |                         None            |
    |     display_name    |                         None            |
    |    driver_version   |                        3.0.0            |
    |      namespace      | OS::Storage::Capabilities::localhost.loc...
    |      pool_name      |                         None            |
    |   storage_protocol  |                        iSCSI            |
    |     vendor_name     |                     Open Source         |
    |      visibility     |                         None            |
    | volume_backend_name |                         lvm             |
    +---------------------+-----------------------------------------+
    +--------------------+------------------------------------------+
    | Backend properties |                        Value             |
    +--------------------+------------------------------------------+
    |    compression     |      {u'type': u'boolean', u'description'...
    |        qos         |              {u'type': u'boolean', u'des ...
    |    replication     |      {u'type': u'boolean', u'description'...
    | thin_provisioning  | {u'type': u'boolean', u'description': u'S...
    +--------------------+------------------------------------------+

Backend properties のコラムには設定可能な追加スペックキーのリストが、Value のコラムには、Backend properties に対する有効な値が表示されます。

注記

利用可能な追加スペックやサポートされている追加スペックは、バックエンドのドライバーにより異なります。有効な追加スペックのリストについては、ボリュームドライバーのマニュアルを参照してください。

または、Block Storage ホストに直接クエリーを送信して、そのドライバーがサポートしている、明確に定義された標準の追加スペックを確認することができます。まず、コマンドラインから Block Storage サービスをホストするノードにログインします。次に、以下のコマンドを実行します。

# cinder service-list

このコマンドは、各 Block Storage サービス (cinder-backupcinder-scheduler、および cinder-volume) のホストが含まれるリストを返します。以下に例を示します。

+------------------+---------------------------+------+---------
|      Binary      |            Host           | Zone |  Status ...
+------------------+---------------------------+------+---------
|  cinder-backup   |   localhost.localdomain   | nova | enabled ...
| cinder-scheduler |   localhost.localdomain   | nova | enabled ...
|  cinder-volume   | *localhost.localdomain@lvm* | nova | enabled ...
+------------------+---------------------------+------+---------

Block Storage サービスのドライバーの機能を表示するには (これによりサポートされる追加スペックを判断)、以下のコマンドを実行します。

# cinder get-capabilities _VOLSVCHOST_

VOLSVCHOSTcinder-volume のホストの完全な名前に置き換えます。以下に例を示します。

# cinder get-capabilities localhost.localdomain@lvm
    +---------------------+-----------------------------------------+
    |     Volume stats    |                        Value            |
    +---------------------+-----------------------------------------+
    |     description     |                         None            |
    |     display_name    |                         None            |
    |    driver_version   |                        3.0.0            |
    |      namespace      | OS::Storage::Capabilities::localhost.loc...
    |      pool_name      |                         None            |
    |   storage_protocol  |                        iSCSI            |
    |     vendor_name     |                     Open Source         |
    |      visibility     |                         None            |
    | volume_backend_name |                         lvm             |
    +---------------------+-----------------------------------------+
    +--------------------+------------------------------------------+
    | Backend properties |                        Value             |
    +--------------------+------------------------------------------+
    |    compression     |      {u'type': u'boolean', u'description'...
    |        qos         |              {u'type': u'boolean', u'des ...
    |    replication     |      {u'type': u'boolean', u'description'...
    | thin_provisioning  | {u'type': u'boolean', u'description': u'S...
    +--------------------+------------------------------------------+

Backend properties のコラムには設定可能な追加スペックキーのリストが、Value のコラムには、Backend properties に対する有効な値が表示されます。

2.3.2. ボリューム種別の作成および設定

関連する設定をボリューム種別に適用できるように、ボリューム種別を作成します。

注記

Block Storage サービス (cinder) が複数のバックエンドを使用するように設定されている場合、バックエンドごとにボリューム種別を作成する必要があります。

ボリューム種別は、異なるユーザーにストレージ階層を使用できるようにする機能をします。特定のパフォーマンス、耐障害性、およびその他の設定をキーと値のペアとしてボリューム種別に関連付けることにより、階層固有の設定を異なるボリューム種別にマッピングすることができます。マッピングされた階層固有の設定は、ボリュームの作成時に対応するボリューム種別を指定することによって適用が可能です。

前提条件

  • アンダークラウドの正常なインストール。詳しくは、Director Installation and UsageInstalling director on the undercloud を参照してください。
  • オーバークラウドの正常なデプロイメント。詳細は、Director Installation and UsageCreating a basic overcloud with CLI tools を参照してください。
  • Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳しい情報は、Director Installation and UsageOvercloud deployment output を参照してください。

手順

  1. Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
  2. ボリューム種別の作成 をクリックします。
  3. Name フィールドにボリューム種別の名前を入力します。
  4. Create Volume Type をクリックします。Volume Types の表に新しい種別が表示されます。
  5. ボリューム種別の View Extra Specs のアクションを選択します。
  6. Create をクリックして KeyValue を指定します。キーと値のペアは有効である必要があります。有効でない場合には、ボリュームの作成時にそのボリューム種別を指定するとエラーが発生してしまいます。たとえば、このボリューム種別のバックエンドを指定するには、volume_backend_name Key を追加し、Value を必要なバックエンドの名前に設定します。
  7. Create をクリックします。関連付けられた設定 (キー/値のペア) が Extra Specs の表に表示されます。

デフォルトでは、OpenStack の全プロジェクトがすべてのボリューム種別にアクセス可能です。アクセスが制限されたボリューム種別を作成する必要がある場合は、CLI から作成する必要があります。その方法は、「プライベートボリューム種別の作成および設定」を参照してください。

注記

QoS スペックをボリューム種別に関連付けることも可能です。詳細は、「Quality-of-Service 仕様とボリューム種別の関連付け」 を参照してください。

2.3.3. ボリューム種別の編集

Dashboard でボリューム種別を編集して、ボリューム種別の 追加スペック 設定を変更します。

前提条件

手順

  1. Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
  2. ボリューム種別 の表で、ボリューム種別の 追加スペックの表示 のアクションを選択します。
  3. このページの 追加スペック の表では、以下のような操作を行うことができます。

    • ボリューム種別への新規設定の追加。そのためには、作成 をクリックして、ボリューム種別に関連付ける新規設定のキー/値ペアを指定します。
    • ボリューム種別に関連付けられている既存の設定の編集。そのためには、設定の 編集 アクションを選択します。
    • ボリューム種別に関連付けられている既存の設定の削除。そのためには、追加スペックのチェックボックスを選択して、表示中のダイアログ画面と次の画面で 追加スペックの削除 をクリックします。

ボリューム種別を削除するには、ボリューム種別 の表でそのボリューム種別のチェックボックスを選択して ボリューム種別の削除 をクリックします。

2.3.4. プライベートボリューム種別の作成および設定

デフォルトでは、全プロジェクトですべてのボリューム種別を使用することができます。アクセスが制限されたボリューム種別を作成するには、ボリューム種別を プライベート に指定します。そのためには、ボリューム種別の is-public フラグを false に設定します。

プライベートのボリューム種別は、特定の属性を持つボリュームへのアクセスを制限するのに役立ちます。これは通常は、特定のプロジェクトのみが使用可能とする必要のある設定です。たとえば、テスト中の新規バックエンドや超ハイパフォーマンスの設定などが例としてあげられます。

前提条件

手順

$ cinder type-create --is-public false  <TYPE-NAME>

デフォルトでは、プライベートのボリューム種別には作成者のみがアクセスできます。ただし、管理ユーザーは、以下のコマンドを使用してプライベートボリューム種別を特定/表示することができます。

$ cinder type-list

このコマンドは、パブリックとプライベートの両方のボリューム種別をリスト表示します。リストには、各ボリューム種別の名前と ID も表示されます。ボリューム種別にアクセスするには、そのボリューム種別の ID が必要となります。

プライベートのボリューム種別へのアクセスは、プロジェクトレベルで許可されます。プロジェクトがプライベートのボリューム種別にアクセスできるようにするには、以下のコマンドを実行します。

$ cinder  type-access-add --volume-type <TYPE-ID> --project-id <TENANT-ID>

プライベートのボリューム種別にアクセス可能なプロジェクトを確認するには、以下のコマンドを実行します。

$ cinder  type-access-list --volume-type <TYPE-ID>

プライベートのボリューム種別のアクセスリストからプロジェクトを削除するには、以下のコマンドを実行します。

$ cinder  type-access-remove --volume-type <TYPE-ID> --project-id <TENANT-ID>
注記

プライベートのボリューム種別へのアクセスは、デフォルトでは管理権限のあるユーザーのみが作成、表示、設定することが可能です。