2.3. ボリューム種別によるボリューム設定のグループ化
Red Hat OpenStack Platform では、ボリューム種別を作成することができ、関連する設定をボリューム種別に適用することができます。ボリュームの作成時に設定を適用することができます。「Block Storage ボリュームの作成」を参照してください。ボリュームの作成後に設定を適用することもできます。「Block Storage のボリューム種別の変更」を参照してください。ボリューム種別に適用することができる関連設定の一部を、リストにして以下に示します。
- ボリュームの暗号化。詳細は、「CLI を使用した Block Storage サービスボリューム暗号化の設定」 を参照してください。
- ボリュームが使用するバックエンド。詳しい情報は、「ボリュームを作成するバックエンドの指定」および「CLI を使用したバックエンド間でのボリュームの移行」を参照してください。
- Quality-of-Service (QoS) スペック
設定は、追加スペックと呼ばれるキーと値のペアを使用してボリューム種別に関連付けられます。ボリュームの作成時にボリューム種別を指定する際には、Block Storage のスケジューラーがこれらのキーと値のペアを設定として適用します。また、複数のキーと値のペアを同じボリューム種別に関連付けることができます。
ボリューム種別は、異なるユーザーにストレージ階層を使用できるようにする機能をします。特定のパフォーマンス、耐障害性、およびその他の設定をキーと値のペアとしてボリューム種別に関連付けることにより、階層固有の設定を異なるボリューム種別にマッピングすることができます。マッピングされた階層固有の設定は、ボリュームの作成時に対応するボリューム種別を指定することによって適用が可能です。
2.3.1. バックエンドドライバー機能のリスト表示
利用可能な追加スペックやサポートされている追加スペックは、バックエンドのドライバーにより異なります。有効な追加スペックのリストについては、ボリュームドライバーのマニュアルを参照してください。
または、Block Storage ホストに直接クエリーを送信して、そのドライバーがサポートしている、明確に定義された標準の追加スペックを確認することができます。まず、コマンドラインから Block Storage サービスをホストするノードにログインします。
前提条件
- アンダークラウドの正常なインストール。詳しくは、Director Installation and Usage の Installing director on the undercloud を参照してください。
手順
# cinder service-list
このコマンドは、各 Block Storage サービス (cinder-backup、cinder-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_
VOLSVCHOST は cinder-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-backup、cinder-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_
VOLSVCHOST は cinder-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 Usage の Installing director on the undercloud を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Director Installation and Usageの Creating a basic overcloud with CLI tools を参照してください。
- Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳しい情報は、Director Installation and Usageの Overcloud deployment output を参照してください。
手順
- Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
- ボリューム種別の作成 をクリックします。
- Name フィールドにボリューム種別の名前を入力します。
- Create Volume Type をクリックします。Volume Types の表に新しい種別が表示されます。
- ボリューム種別の View Extra Specs のアクションを選択します。
-
Create をクリックして Key と Value を指定します。キーと値のペアは有効である必要があります。有効でない場合には、ボリュームの作成時にそのボリューム種別を指定するとエラーが発生してしまいます。たとえば、このボリューム種別のバックエンドを指定するには、
volume_backend_name
Key を追加し、Value を必要なバックエンドの名前に設定します。 - Create をクリックします。関連付けられた設定 (キー/値のペア) が Extra Specs の表に表示されます。
デフォルトでは、OpenStack の全プロジェクトがすべてのボリューム種別にアクセス可能です。アクセスが制限されたボリューム種別を作成する必要がある場合は、CLI から作成する必要があります。その方法は、「プライベートボリューム種別の作成および設定」を参照してください。
QoS スペックをボリューム種別に関連付けることも可能です。詳細は、「Quality-of-Service 仕様とボリューム種別の関連付け」 を参照してください。
2.3.3. ボリューム種別の編集
Dashboard でボリューム種別を編集して、ボリューム種別の 追加スペック 設定を変更します。
前提条件
- アンダークラウドの正常なインストール。詳細は、Installing director on the undercloud を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Creating a basic overcloud with CLI tools を参照してください。
- Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳細は、Overcloud deployment output を参照してください。
手順
- Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
- ボリューム種別 の表で、ボリューム種別の 追加スペックの表示 のアクションを選択します。
このページの 追加スペック の表では、以下のような操作を行うことができます。
- ボリューム種別への新規設定の追加。そのためには、作成 をクリックして、ボリューム種別に関連付ける新規設定のキー/値ペアを指定します。
- ボリューム種別に関連付けられている既存の設定の編集。そのためには、設定の 編集 アクションを選択します。
- ボリューム種別に関連付けられている既存の設定の削除。そのためには、追加スペックのチェックボックスを選択して、表示中のダイアログ画面と次の画面で 追加スペックの削除 をクリックします。
ボリューム種別を削除するには、ボリューム種別 の表でそのボリューム種別のチェックボックスを選択して ボリューム種別の削除 をクリックします。
2.3.4. プライベートボリューム種別の作成および設定
デフォルトでは、全プロジェクトですべてのボリューム種別を使用することができます。アクセスが制限されたボリューム種別を作成するには、ボリューム種別を プライベート に指定します。そのためには、ボリューム種別の is-public
フラグを false に設定します。
プライベートのボリューム種別は、特定の属性を持つボリュームへのアクセスを制限するのに役立ちます。これは通常は、特定のプロジェクトのみが使用可能とする必要のある設定です。たとえば、テスト中の新規バックエンドや超ハイパフォーマンスの設定などが例としてあげられます。
前提条件
- アンダークラウドの正常なインストール。詳しくは、Director Installation and Usage の Installing director on the undercloud を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Director Installation and Usageの Creating a basic overcloud with CLI tools を参照してください。
手順
$ 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>
プライベートのボリューム種別へのアクセスは、デフォルトでは管理権限のあるユーザーのみが作成、表示、設定することが可能です。