カスタムブロックストレージバックエンドデプロイメントガイド
Red Hat OpenStack Platform オーバークラウドでのカスタムの Block Storage バックエンドのデプロイガイド
OpenStack Documentation Team
rhos-docs@redhat.com概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Block Storage サービスのカスタムバックエンドのデプロイの概要
Red Hat OpenStack Platform director は、手動の設定を最小限に抑え、完全なエンタープライズレベルの OpenStack デプロイメントをインストールし、管理します。director の詳細は、director のインストールと使用方法 を参照してください。
director が作成する Openstack 環境は、オーバークラウドと呼ばれます。オーバークラウドには、Block Storage など、エンドユーザーにサービスを提供するすべてのコンポーネントが含まれます。本項では、オーバークラウド上の Block Storage サービス (cinder) にカスタムのバックエンドをデプロイする方法について説明します。デフォルトでは、Block Storage サービスはコントローラーノードにインストールされます。
前提条件
- director を使用してオーバークラウドがインストール済みである。
- オーバークラウドに、機能する Block Storage サービスが設定されている。
- Block Storage の概念および設定を理解している。Block Storage の詳細は、Storage GuideのBlock Storage and Volumesを参照してください。
この手順は、一部のユースケースで正常にテストされています。実稼働以外の環境で計画したデプロイメントを最初にテストするようにしてください。ご質問がございましたら、Red Hat サポートにお問い合わせください。
1.1. カスタムバックエンドについて
カスタムバックエンドは、Red Hat OpenStack Platform director に完全に統合されていないストレージサーバー、アプライアンス、または設定です。サポート対象の Block Storage バックエンドは、すでにビルトインの director ファイルで統合および事前設定されています。たとえば、Red Hat Ceph および Dell EMC PS Series、Dell Storage Center、および NetApp アプライアンスの設定などです。
統合ストレージアプライアンスは、シングルインスタンスのバックエンドのみをサポートします。たとえば、Dell Storage Center 向けに事前に設定された director ファイルでは、1 つのバックエンドしかデプロイできません。このアプライアンスの複数のバックエンドインスタンスをデプロイする場合は、カスタム設定が必要です。
Block Storage サービスが配置されているノード上の /etc/cinder/cinder.conf ファイルを直接編集して Block Storage サービスを手動で設定できますが、openstack overcloud deploy コマンドを実行すると、設定が director により上書きされます。詳細は、3章設定済みのバックエンドのデプロイ を参照してください。director を使用して Block Storage バックエンドをデプロイし、オーバークラウドのデプロイメントと更新を行っても、設定が永続されるようにします。
バックエンド設定が完全に統合されている場合は、パッケージ化された環境ファイルを編集して呼び出すことができます。ただし、カスタムバックエンドの場合は、独自の環境ファイルを作成する必要があります。本ガイドには、デプロイメント用に編集可能な /home/stack/templates/custom-env.yaml ファイルが含まれます。このサンプルファイルは、2 つの NetApp バックエンドを使用するように Block Storage サービスを設定するのに適しています。環境ファイルの詳細は、director のインストールと使用方法のオーバークラウドデプロイメントへの環境ファイルの追加を参照してください。
1.2. 要件
カスタムの Block Storage バックエンドを設定するには、以下の追加の前提条件を環境に適用する必要があります。
- サードパーティーのバックエンドアプライアンスを使用している場合には、それらをストレージリポジトリーとして設定している。
- director のインストールと使用方法に記載の手順に従って、director を使用してオーバークラウドをデプロイしている。
-
昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。作成した同じ
stackユーザーアカウントを使用して、オーバークラウドをデプロイできる。 -
/etc/cinder/cinder.confに Block Storage バックエンドに指定する設定がすでに計画されている。
1.3. 設定プロセスについて
カスタムバックエンドを使用するように Block Storage サービスを設定するには、以下の手順が必要です。
- 環境ファイルの作成。詳細は、2章環境ファイルの作成 を参照してください。
- 設定済みのバックエンドのデプロイ。詳細は、3章設定済みのバックエンドのデプロイ を参照してください。
- 設定したバックエンドのテスト。詳細は、を参照してください。 4章設定したバックエンドのテスト
第2章 環境ファイルの作成
カスタムバックエンド設定用に作成する環境ファイルには、定義する各バックエンドの設定が含まれます。また、カスタムバックエンドのデプロイメントに関連するその他の設定も含まれます。環境ファイルに関する詳しい情報は、オーバークラウドの高度なカスタマイズ の 環境ファイル を参照してください。https://access.redhat.com/documentation/ja-jp/red_hat_openstack_platform/16.1/html-single/advanced_overcloud_customization/index#sect-Environment_Files
以下のサンプル環境ファイルは、 netapp1 および netapp2 の 2 つの NetApp バックエンドを定義します。
/home/stack/templates/custom-env.yaml
parameter_defaults: # 1 CinderEnableIscsiBackend: false CinderEnableRbdBackend: false CinderEnableNfsBackend: false NovaEnableRbdBackend: false GlanceBackend: file # 2 ControllerExtraConfig: # 3 cinder::config::cinder_config: netapp1/volume_driver: # 4 value: cinder.volume.drivers.netapp.common.NetAppDriver netapp1/netapp_storage_family: value: ontap_7mode netapp1/netapp_storage_protocol: value: iscsi netapp1/netapp_server_hostname: value: 10.35.64.11 netapp1/netapp_server_port: value: 80 netapp1/netapp_login: value: root netapp1/netapp_password: value: p@$$w0rd netapp1/volume_backend_name: value: netapp1 netapp2/volume_driver: # 5 value: cinder.volume.drivers.netapp.common.NetAppDriver # 6 netapp2/netapp_storage_family: value: ontap_7mode netapp2/netapp_storage_protocol: value: iscsi netapp2/netapp_server_hostname: value: 10.35.64.11 netapp2/netapp_server_port: value: 80 netapp2/netapp_login: value: root netapp2/netapp_password: value: p@$$w0rd netapp2/volume_backend_name: value: netapp2 cinder_user_enabled_backends: ['netapp1','netapp2'] # 7
- 1
- 以下のパラメーターは
falseに設定され、他のバックエンド種別が無効になります。-
CinderEnableIscsiBackend: 他の iSCSI バックエンド。 -
CinderEnableRbdBackend: Red Hat Ceph。 -
CinderEnableNfsBackend: NFS. -
NovaEnableRbdBackend: 一時 Red Hat Ceph ストレージ。
-
- 2
- GlanceBackend パラメーターで、Image サービスがイメージ保管に使用するものを設定します。以下の値がサポートされます。
-
ファイル: 各コントローラーノードの/var/lib/glance/imagesにイメージを保存します。 -
Swift: イメージストレージに Object Storage サービスを使用します。 -
Cinder: イメージストレージに Block Storage サービスを使用します。
-
- 3
ControllerExtraConfigは、全コントローラーノードに適用されるカスタム設定を定義します。cinder::config::cinder_configクラスは、設定を Block Storage(cinder) サービスに適用する必要があることを意味します。- 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 を持つオーバークラウドのデプロイ を参照してください。
/home/stack/templates/custom-env.yaml から作成された /etc/cinder/cinder.conf の設定を確認するには、付録A 付録を参照してください。
第3章 設定済みのバックエンドのデプロイ
設定したバックエンドをデプロイするには、以下の手順を実施します。
-
stackユーザーとしてログインします。 以下のコマンドを実行して、カスタムバックエンド設定をデプロイします。
$ openstack overcloud deploy --templates -e /home/stack/templates/custom-env.yaml
重要オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで
-eオプションを使用して環境ファイルを再度渡します。詳しい情報は、director のインストールと使用方法ガイドの オーバークラウド環境の変更 を参照してください。
第4章 設定したバックエンドのテスト
バックエンドをオーバークラウドにデプロイした後に、そこにボリュームを正常に作成できることをテストします。
手順
stackユーザーとして以下のコマンドを実行し、home/stack/overcloudrecで定義した環境変数を読み込みます。$ source /home/stack/overcloudrc
詳細は、director のインストールと使用方法 のオーバークラウドへのアクセスを参照してください。
バックエンドごとにボリューム種別を作成します。
stackユーザーとしてオーバークラウドのコントローラーノードにログインし、以下のコマンドを実行します。$ cinder type-create backend1 $ cinder type-create backend2
これらのコマンドにより、作成した環境ファイルの
cinder::config::cinder_configクラスで定義されるバックエンドごとに、ボリューム種別のbackend1とbackend2が作成されます。作成した環境ファイルの
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
以下のコマンドを実行して、
backend1のボリューム種別を呼び出して、netapp1にバックエンドを作成できることを確認します。$ cinder create --volume-type backend1 --display_name netappvolume_1 1
backend2のボリューム種別を呼び出して、netapp2バックエンド上に同様のボリュームを作成します。$ cinder create --volume-type backend2 --display_name netappvolume_2 1
付録A 付録
サンプル環境ファイルの設定
2章環境ファイルの作成 で作成した環境ファイルは、Block Storage サービスが 2 つの NetApp バックエンドを使用するように設定します。以下のスニペットには、関連する設定が表示されます。
enabled_backends = netapp1,netapp2 [netapp1] volume_backend_name=netapp_1 volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_login=root netapp_storage_protocol=iscsi netapp_password=p@$$w0rd netapp_storage_family=ontap_7mode netapp_server_port=80 netapp_server_hostname=10.35.64.11 [netapp2] volume_backend_name=netapp_2 volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_login=root netapp_storage_protocol=iscsi netapp_password=p@$$w0rd netapp_storage_family=ontap_7mode netapp_server_port=80 netapp_server_hostname=10.35.64.11