Dell EMC PS Series バックエンドガイド

Red Hat OpenStack Platform 15

Red Hat OpenStack Platform オーバークラウドで Dell EMC PS Series Storage を使用するためのガイド

概要

本書では、Red Hat OpenStack Platform 15 オーバークラウドへのバックエンドとして単一の Dell EMC PS Series デバイスをデプロイする方法について説明します。

第1章 Dell EMC PS Series バックエンドの使用について

本書では、1 つ以上の Dell EMC PS Series バックエンドを使用するように Red Hat OpenStack Platform(RHOSP)を設定する方法について説明します。また、Dell EMC PS Series デバイスと OpenStack Block Storage サービス間のボリュームサイズの不一致に対応する方法についても記載しています。

前提条件

  • Dell EMC PS Series デバイスおよび Block Storage バックエンド用のドライバーのみを使用する予定のこと。
  • 適切に機能する Block Storage サービスと共に RHOSP オーバークラウドをデプロイしていること。
  • Dell ストレージデバイスをストレージリポジトリーとしてデプロイし、設定している。
  • Dell EMC PS Series Group をデプロイしており、SSH 経由でアクセスできる。
  • 利用可能な Dell EMC PS Series Group(CHAP およびグループマネージャーの認証情報)の Group Manager に接続するために必要な認証情報がある。
  • 昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。作成する stack ユーザーを使用して、オーバークラウドをデプロイすることができます。詳しい情報は、『 director のインストールと 使用方法』の「 アンダークラウドの準備 」を参照してください。

director を使用して RHOSP をデプロイする場合、director を使用してすべての主要なオーバークラウド設定を定義してオーケストレーションする必要があります。これにより、その他のオーバークラウド更新でも設定が維持されます。director を使用した RHOSP のデプロイについての詳しい情報は、『director の インストールと使用方法』 を参照してください。

本書では、Dell の EqualLogic バックエンド設定をオーバークラウドの Block Storage サービスにオーケストレーションする方法について説明します。本書では、バックエンドで可能なさまざまなデプロイメント設定について説明しません。利用可能な複数の異なるデプロイメント設定の詳細は、お使いのデバイスの製品ドキュメントを参照してください。

注記

director には、Dell EqualLogic バックエンドの単一インスタンスしかデプロイするための統合コンポーネントがあります。

Dell EqualLogic バックエンドの複数のインスタンスをデプロイするには、カスタムバックエンドの設定が必要です。詳細は、『 カスタム Block Storage バックエンドデプロイメントガイド』 を参照してください。

第2章 Dell EMC PS Series バックエンドのデプロイ

Dell EMC PS Series バックエンドを設定するには、以下の手順を実行します。

  1. 1 つのバックエンドを定義します。単一の Dell デバイスをバックエンドとして設定するには、コア heat テンプレートコレクションからのデフォルトの環境ファイルを編集して、このファイルをオーバークラウドのデプロイメントに追加します。詳細は、「 単一バックエンドの定義」を 参照してください。
  2. 設定したバックエンドをデプロイし、director からこれを呼び出します。詳細は、「 Dell EMC PS Series バックエンドのデプロイ 」を参照してください。
  3. Dell EMC PS Series バックエンドのテスト
  4. Dell EqualLogic バックエンドとのボリュームサイズの不一致に対応します。詳細は、『 Dell EMC PS Series Back End Guideの「Addressing volume size discrepancies with Dell EqualLogic back End」を参照してください。

Red Hat OpenStack Platform には、Block Storage サービスがサポートするすべての Dell デバイスに必要なドライバーが含まれます。また、director には、デバイスをバックエンドとしてオーバークラウドに統合するために必要な puppet マニフェスト、環境ファイル、Orchestration(heat)テンプレートもあります。

第3章 単一バックエンドの定義

重要

本項では、単一のバックエンドのデプロイメントについて説明します。Dell EqualLogic バックエンドの複数のインスタンスをデプロイするには、カスタムバックエンドの設定が必要です。詳細は、『 カスタム Block Storage バックエンドデプロイメントガイド』 を参照してください。

単一の Dell EMC PS Series バックエンドを定義するには、以下の手順を実行します。

  1. コア heat テンプレートコレクションからデフォルトの cinder-dellps-config.yaml ファイルをコピーします。

    $ cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-dellps-config.yaml ~/templates/
  2. ~/templates/cinder-dellps-config.yaml ファイルの parameter_defaults セクションにある値を編集して、Dell EMC PS Series バックエンドを定義します。以下の表を使用して、各パラメーターの定義方法を説明します。

表3.1 Dell EMC PS Series の設定

パラメーター/etc/cinder/cinder.conf setting説明

CinderDellPsBackendName

volume_backend_name

ボリュームのバックエンドを識別する任意の名前。

CinderDellPsSanIp

san_ip

SSH 経由で Dell EMC PS Series Group に到達するのに使用される IP アドレス。

CinderDellPsSanLogin

san_login

CinderDellPsSanIp IP アドレスで SSH 経由でグループマネージャーにログインするユーザー名。デフォルトのユーザー名は grpadmin です。

CinderDellPsSanPassword

san_password

CinderDellPsSanLogin の対応するパスワード。デフォルトのパスワードは password です。

CinderDellPsSanThinProvision

san_thin_provision

SAN ボリュームのシンプロビジョニングを有効にします。この設定にはシンプロビジョニングが必要です。

CinderDellPsGroupname

eqlx_group_name

Block Storage サービスがボリュームおよびスナップショットを作成するプールに使用するグループ。デフォルトのグループは group-0 です。

CinderDellPsPool

eqlx_pool

Block Storage サービスがボリュームおよびスナップショットを作成するプール。Block Storage サービスは、1 つの Dell EMC PS Series Group 上の複数のプールにこのオプションを使用することはできません。デフォルトのプールは default です。

CinderDellPsChapLogin

eqlx_chap_login

プール内の各ボリュームの CHAP ログインアカウント。デフォルトのアカウント名は chapadmin です。

CinderDellPsChapPassword

eqlx_chap_password

CinderDellPsChapLogin の対応するパスワード。デフォルトのパスワードは 16 進数で無作為に生成されるので、このパスワードは手動で設定する必要があります。

CinderDellPsUseChap

eqlx_use_chap

CHAP 認証を有効にします。デフォルト値は false です。

第4章 Dell EMC PS Series バックエンドのデプロイ

「単一バックエンドの 定義」の手順の一部として作成した単一バックエンド をデプロイするには、以下の手順を実行します。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. デプロイコマンドを実行します。

    $ openstack overcloud deploy --templates -e ~/templates/cinder-dellps-config.yaml
重要

オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e オプションを使用して環境ファイルを再度渡します。詳しい情報は、『 director のインストールと 使用方法』の「オーバークラウド環境 の変更」を参照してください。

director のオーケストレーションが完了したら、バックエンドをテストします。

第5章 Dell EMC PS Series バックエンドのテスト

バックエンドをデプロイしたら、ボリュームを正常に作成できることをテストします。

手順

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

    $ source /home/stack/overcloudrc
  3. 新規バックエンドを指定するのに使用することのできる新規ボリューム種別を作成します。以下のコマンドを実行して dellps という名前のボリューム種別を作成します。以下を実行します。

    $ cinder type-create dellps
  4. 3章単一バックエンドの定義CinderDellPsBackendName パラメーターで定義されているように、新しいボリューム種別を新しいバックエンド tripleo_dellps にマッピングします。

    $ cinder type-key dellps set volume_backend_name=tripleo_dellps
  5. 新しいバックエンドに 2GB のボリュームを作成します。

    $ cinder create --volume-type dellps 2
注記

詳しい情報は、『 director のインストールと 使用方法』 の「オーバークラウドへ のアクセス」を参照してください。

第6章 Dell EqualLogic バックエンドとのボリュームサイズの不一致への対応

Dell EqualLogic(EQL)バックエンドがボリュームのサイズを報告すると、内部ボリュームメタデータに必要な追加のストレージも評価します。この合計サイズは、Block Storage サービスが報告するボリュームサイズよりも若干大きくなります。ただし、EQL バックエンドが報告するボリュームサイズは、Image サービスが使用するサイズと同じです。

その結果、EQL バックエンドでイメージベースのボリュームを作成する場合には、まずイメージのサイズを確認します。イメージが元々ボリュームでサポートされる場合、EQL および Image サービスは、Block Storage サービスのレポートよりも若干大きなボリュームサイズを報告します。

EQL が報告するイメージサイズが少し大きい場合は、このイメージでサポートされるボリュームを作成する際に、サイズ不一致に対応する必要があります。

6.1. Dell EqualLogic ボリュームのサイズ不一致の例

ここでは、1 GB のボリュームを作成するケースを示します。

# cinder create --display-name vol1 1

+---------------------+--------------------------------------+
|       Property      |                Value                 |
+---------------------+--------------------------------------+
|     attachments     |                  []                  |
|  availability_zone  |                 nova                 |
|       bootable      |                false                 |
|      created_at     |      2014-12-19T03:57:47.730359      |
| display_description |                 None                 |
|     display_name    |                 vol1                 |
|      encrypted      |                False                 |
|          id         | 6bdace69-bd41-42fc-a63a-f834fb65a2e4 |
|       metadata      |                  {}                  |
|         size        |                  1                   |
|     snapshot_id     |                 None                 |
|     source_volid    |                 None                 |
|        status       |               creating               |
|     volume_type     |                 None                 |
+---------------------+--------------------------------------+

Block Storage サービスはボリュームサイズ 1GB を報告しますが、EQL アレイではサイズ(VolReserve)が若干大きくなります。

eql> volume select volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4

eql (volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4)> show

_______________________________ Volume Information ______...
Name: volume-6bdace69-bd41-42fc-a63a-f834fb65a2e4
Size: 1GB
VolReserve: 1.01GB
...

このボリュームから新規イメージを作成すると、Block Storage サービスはボリュームサイズ 1GB を正しく報告します。

# cinder upload-to-image --disk-format raw --container-format bare vol1 image_vol1

+---------------------+--------------------------------------+
|       Property      |                Value                 |
+---------------------+--------------------------------------+
|   container_format  |                 bare                 |
|     disk_format     |                 raw                  |
| display_description |                 None                 |
|          id         | 6bdace69-bd41-42fc-a63a-f834fb65a2e4 |
|       image_id      | c65f7eae-e2c1-44ba-8af1-e33695897559 |
|      image_name     |              image_vol1              |
|         size        |                  1                   |
|        status       |              uploading               |
|      updated_at     |      2014-12-19T03:57:48.000000      |
|     volume_type     |                 None                 |
+---------------------+--------------------------------------+

ただし、Image サービスはサイズを若干大きくします。

# glance image-list

...+------------+-------------+------------------+------------+--------+
...| Name       | Disk Format | Container Format | Size       | Status |
...+------------+-------------+------------------+------------+--------+
...| image_vol1 | raw         | bare             | 1085276160 | active |
...+------------+-------------+------------------+------------+--------+

glance ツールは、約 1.01 GB のイメージサイズを報告します。したがって、このイメージがサポートする新規の 1GB ボリュームを作成することはできません。

# cinder create --display-name vol2 --image-id c65f7eae-e2c1-44ba-8af1-e33695897559 1

ERROR: Invalid input received: Size of specified image 2 is larger than volume size 1

6.2. Dell EqualLogic ボリュームサイズ不一致に対する回避策

イメージベースのボリュームのサイズを指定する際には、Image が報告するボリュームサイズと Block Storage サービス間の不一致を考慮する必要があります。つまり、イメージベースのボリュームのサイズを指定すると、Image サービス(glance)が報告するイメージサイズの後に次の全体数を使用する必要があります。

「Dell EqualLogic ボリュームのサイズ不一致の例」 では、Image サービスはイメージサイズ 1.01GB を報告します。つまり、ボリュームを作成する場合には、1GB ではなく 2GB のボリュームサイズを指定する必要があります。

# cinder create --display-name vol2 --image-id c65f7eae-e2c1-44ba-8af1-e33695897559 2

+---------------------+--------------------------------------+
|       Property      |                Value                 |
+---------------------+--------------------------------------+
|     attachments     |                  []                  |
|  availability_zone  |                 nova                 |
|       bootable      |                false                 |
|      created_at     |      2014-12-19T04:54:07.036260      |
| display_description |                 None                 |
|     display_name    |                 vol2                 |
|      encrypted      |                False                 |
|          id         | fcf49715-094d-4bba-9f05-8b7fa6deffce |
|       image_id      | c65f7eae-e2c1-44ba-8af1-e33695897559 |
|       metadata      |                  {}                  |
|         size        |                  2                   |
|     snapshot_id     |                 None                 |
|     source_volid    |                 None                 |
|        status       |               creating               |
|     volume_type     |                 None                 |
+---------------------+--------------------------------------+