カスタム Block Storage バックエンドのデプロイメントガイド
Red Hat OpenStack Platform オーバークラウドでのカスタム Block Storage バックエンドのデプロイメントガイド
概要
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform director は、完全な OpenStack 環境のインストールおよび管理を行うためのツールセットです。director は、主に OpenStack プロジェクト TripleO (OpenStack-on-OpenStack)をベースとしています。director の主な目的は、最小限の手動設定で、機能的なエンタープライズグレードの OpenStack デプロイメントを完全にオーケストレーションすることです。OpenStack の個々のコンポーネントを手動で設定する際に固有の問題の多くに対処するのに役立ちます。
director が提供する最終結果の OpenStack デプロイメントは、オーバークラウド と呼ばれ ます。オーバークラウドは、Block Storage を含むエンドユーザーにサービスを提供するすべてのコンポーネントを格納します。本ガイドでは、カスタムのバックエンドをオーバークラウドの Block Storage サービスにデプロイする方法について説明します。
このドキュメントは、Block Storage サービスを 手動で 設定する際に管理者の知識を活用することを目的としています。OpenStack のテストデプロイメント(たとえば、Packstack を使用)では、このサービスを設定するには、そのホストノードの /etc/cinder/cinder.conf を編集する必要があります。そのファイルの Block Storage 設定のほとんどは、他の場所でより詳細に文書化されています。このドキュメントでは、カスタムバックエンド をアタッチするために同じ設定をオーバークラウドに適用する方法を説明します。
この手順は、一部のユースケースでテストされています。最初に、計画したデプロイメントを実稼働環境以外の環境でテストするようにしてください。不明な点は Red Hat サポートにお問い合わせください。
1.1. カスタムバックエンド リンクのコピーリンクがクリップボードにコピーされました!
本書の目的上、カスタムバックエンドは、Red Hat OpenStack Platform director にまだ完全に統合されていないストレージサーバー/適用または設定として定義されます。サポートされている一部の Block Storage バックエンドは、すでに Director に統合されています。つまり、事前設定された Director ファイルはすでに追加設定なしで提供されています。これらのファイルを使用して、統合バックエンドを設定し、オーバークラウドにデプロイできます。統合されたバックエンドの例には、Red Hat Ceph と、Dell EqualLogic、Dell Storage Center、および NetApp アプライアンスのシングルバックエンド設定が含まれます。
また、すでに Director に統合されている一部のストレージアプライアンスは、単一インスタンスのバックエンドのみをサポートします。たとえば、Dell EqualLogic 用の事前設定された Director ファイルは、単一のバックエンドのデプロイメントのみを許可します。このアプライアンスの複数のバックエンドインスタンスをデプロイするには、このドキュメントで説明されているように、カスタム設定が必要です。
ノードの /etc/cinder/cinder.conf を直接編集して Block Storage サービスを手動で設定することは可能ですが、適切にオーケストレーションされたオーバークラウドの更新で、director によりすべての設定が上書きされます。したがって、Block Storage バックエンドのデプロイに推奨される方法は、director を使用することです。バックエンド設定がすでに完全に統合されている場合は、パッケージ化された環境ファイルを編集して呼び出すだけです。
ただし、カスタムバックエンドでは、独自の 環境ファイル を作成する必要があります。このドキュメントには、独自のデプロイメント用に編集できるアノテーション付きのサンプル、つまり /home/stack/templates/custom-env.yaml が含まれています。このサンプルファイルは、2 つの NetApp バックエンドを使用するように Block Storage サービスを設定するのに適しています。
1.2. 要件 リンクのコピーリンクがクリップボードにコピーされました!
Block Storage とデプロイするバックエンドを手動で設定する以前の知識を除き、本書では以下を前提としています。
- サードパーティーのバックエンドアプライアンスを使用している場合は、ストレージリポジトリーとして適切に設定されている必要があります。
- director の インストールと使用 の指示に従って、director からオーバークラウドがすでにデプロイされている。
- 昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。オーバークラウドのデプロイ用に作成されたものと同じアカウントを使用できる。Creating a Director Installation User では、この目的のために stack ユーザーを作成して使用します。
- /etc/cinder/cinder.conf で、Block Storage バックエンドに必要な結果の設定をすでにマッピングしている。これにより、そのすべてが director を介した計画された設定のオーケストレーションになります。
第2章 プロセスの説明 リンクのコピーリンクがクリップボードにコピーされました!
Block Storage サービスの設定は /etc/cinder/cinder.conf に保存されます。これらの設定には、バックエンド定義 が含まれます。Block Storage サービスで使用できる(またはサポートされている)サードパーティーのバックエンドのほとんどは、/etc/cinder/cinder.conf 設定の編集を含むセットアップ手順を提供します。1章はじめに で述べたように、これにより、Block Storage サービスが設定されます。ただし、これらの設定は今後のオーバークラウドの更新で上書きされます。
いずれにせよ、/etc/cinder/cinder.conf による手動設定に関するドキュメントは、オーバークラウドのデプロイメントでも役に立ちます。結局、director は Heat を介して同じ設定を /etc/cinder/cinder.conf に適用し ます。そのため、バックエンド設定を計画するには、次のことが必要です。
- 必要な Block Storage バックエンド設定を綿密に計画し、
- この設定の結果の /etc/cinder/cinder.conf ファイルをマッピングします。
結果の /etc/cinder/cinder.conf ファイルをマッピングしたら、バックエンド設定をオーケストレーションする環境ファイルを作成します。環境ファイル では、サンプルファイル /home/stack/templates/custom-env.yaml を使用して、この手順をより詳細に説明します。環境ファイルを手元に用意しておくと、今後のオーバークラウドの更新後もバックエンド設定が維持されるようになります。
第3章 環境ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
環境ファイルには、定義する各バックエンドの設定が含まれます。また、カスタムバックエンドのデプロイメントに関連するその他の設定も含まれます。環境ファイルについての詳細は、director の インストールと使用 ガイドの 環境ファイル を参照してください。
以下の環境ファイルは、netapp1 および netapp2 の 2 つの NetApp バックエンドを定義します。
/home/stack/templates/custom-env.yaml
- 1
- 以下のパラメーターは false に設定されているため、不要な他のバックエンドタイプを無効にします。
- CinderEnableIscsiBackend: 他の iSCSI バックエンド。
- CinderEnableRbdBackend: Red Hat Ceph
- CinderEnableNfsBackend: NFS
- NovaEnableRbdBackend: 一時 Red Hat Ceph ストレージ。
- 2
- GlanceBackend パラメーターは、Image サービスがイメージを保存するために使用するものを設定します。以下の値を使用できます。
- file: 各コントローラーノードの /var/lib/glance/images にイメージを保存します。
- Swift: イメージストレージに Object Storage サービスを使用します。
- Cinder: イメージストレージに Block Storage サービスを使用します。
- 3
- ControllerExtraConfig は、すべてのコントローラーノードに適用されるカスタム設定を定義します。cinder::config::cinder_config クラスは、設定を Block Storage (cinder)サービスに適用する必要があることを意味します。これは、バックエンド設定が最終的に各コントローラーノードの /etc/cinder/cinder.conf ファイルで終了することを意味します。
- 4
- netapp1/volume_driver および netapp2/volume_driver 設定は、section/setting の構文に準拠します。Block Storage サービスでは、各バックエンドは /etc/cinder/cinder.conf の独自のセクションで定義されます。netapp1 接頭辞を使用する各設定は、新しい netapp1] バックエンドセクションで定義されます。
- 5
- 同様に、netapp2 設定は別の netapp2] セクションで定義されます。
- 6
- 値 の接頭辞は、前述の設定の値を定義します。
- 7
- cinder_user_enabled_backends クラスは、カスタムバックエンドを設定して有効にします。名前が示すように、このクラスはユーザー対応のバックエンドにのみ使用する必要があります。具体的には、cinder::config::cinder_config クラスで定義されているクラスです。
cinder_user_enabled_backends を使用して、director を介してネイティブに有効にできるバックエンドを一覧表示しないでください。サポートされている NetApp アプライアンスまたは Dell アプライアンスには、Red Hat Ceph、NFS、および単一のバックエンドが含まれます。たとえば、Red Hat Ceph バックエンドも有効にする場合は、cinder_user_enabled_backends にリストしないでください。CinderEnableRbdBackend: true を使用して有効にします。
OpenStack Block Storage 用の Red Hat Ceph バックエンドの定義に関する詳細は、オーバークラウド向けの Red Hat Ceph Storage を参照してください。
] では、環境ファイル xref:envfile[/home/stack/templates/custom-env.yaml を使用してカスタムバックエンドのデプロイメントを調整する方法 を説明します。/home/stack/templates/custom-env.yaml から /etc/cinder/cinder.conf の設定を確認するには、「サンプル環境ファイルから得られる設定」 を参照してください。
第4章 設定済みのバックエンドのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
/home/stack/templates/ に custom-env.yaml ファイルを作成したら、stack ユーザーとしてログインします。次に、次を実行してカスタムバックエンド設定をデプロイします。
openstack overcloud deploy --templates -e /home/stack/templates/custom-env.yaml
$ openstack overcloud deploy --templates -e /home/stack/templates/custom-env.yaml
オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e オプションを使用して環境ファイルを再度渡します。
詳細は、オーバークラウドの スケーリング および オーバークラウドの 更新 を参照してください。
director がオーケストレーションを完了したら、バックエンドをテストします。手順については 5章設定したバックエンドのテスト を参照してください。
第5章 設定したバックエンドのテスト リンクのコピーリンクがクリップボードにコピーされました!
バックエンドをオーバークラウドにデプロイしたら、そこにボリュームを正常に作成できるかどうかをテストします。これを実行するには、最初に必要な環境変数を読み込む必要があります。これらの変数は、デフォルトで /home/stack/overcloudrc に定義されています。
これらの変数をロードするには、stack ユーザーとして次のコマンドを実行します。
source /home/stack/overcloudrc
$ source /home/stack/overcloudrc
詳細は、基本的なオーバークラウドへのアクセス を 参照してください。
次に、バックエンドごとに ボリューム種別 を作成します。stack ユーザーとしてオーバークラウドのコントローラーノードにログインし、以下のコマンドを実行します。
cinder type-create backend1 cinder type-create backend2
$ cinder type-create backend1
$ cinder type-create backend2
これらのコマンドにより、xref:envfile の cinder::config::cinder_config クラスで定義されるバックエンドごとに 1 つずつ、ボリュームタイプ backend1 および backend2 が作成されます。
最後に、各ボリュームタイプを、xref:envfile の cinder_user_enabled_backends クラスで有効にしたバックエンドの volume_backend_name にマッピングします。以下のコマンドは、ボリュームタイプ backend1 を netapp1 に、backend2 を netapp2 にマッピングします。
cinder type-key backend1 set volume_backend_name=netapp1 cinder type-key backend2 set volume_backend_name=netapp2
$ cinder type-key backend1 set volume_backend_name=netapp1
$ cinder type-key backend2 set volume_backend_name=netapp2
この時点で、各バックエンドをテストする準備が整いたはずです。起動するには、backend1 のボリュームタイプを呼び出して、netapp1 バックエンドに netapp_volume_1 という名前の 1 GB のボリュームを作成します。
cinder create --volume-type backend1 --display_name netappvolume_1 1
$ cinder create --volume-type backend1 --display_name netappvolume_1 1
同様に、backend2 のボリュームタイプを呼び出して、netapp2 バックエンド上に同様のボリュームを作成します。
cinder create --volume-type backend2 --display_name netappvolume_2 1
$ cinder create --volume-type backend2 --display_name netappvolume_2 1
付録A 付録 リンクのコピーリンクがクリップボードにコピーされました!
A.1. stack ユーザー リンクのコピーリンクがクリップボードにコピーされました!
Director Installation User の作成 セクションは、stack という名前のユーザーを作成するようにリーダーに指示します。このユーザーは、オーバークラウドのデプロイに使用されます。スタックアカウントを使用して、バックエンドのデプロイ(] のデプロイメントや、オーバークラウドにアクセスするために必要な環境変数の読み込み(xref:test[)など、昇格した権限を必要とするコマンドを実行できます。
Director のインストールおよび使用方法 の手順に従うと、stack ユーザーがすでに存在します。そのため、必要に応じて使用すると便利です。
A.2. サンプル環境ファイルから得られる設定 リンクのコピーリンクがクリップボードにコピーされました!
xref:envfile の環境ファイルは、Block Storage サービスが 2 つの NetApp バックエンドを使用するように設定します。以下のスニペットには、関連する設定が表示されます。