カスタム Block Storage バックエンドのデプロイ

Red Hat OpenStack Platform 17.1

Red Hat OpenStack Platform オーバークラウドに統合されていないカスタムの Block Storage バックエンドをデプロイする

OpenStack Documentation Team

概要

まだ RHOSP director に完全に統合されていない Red Hat OpenStack Platform (RHOSP) オーバークラウドに Block Storage サービス (cinder) のバックエンドをデプロイします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。

Jira でドキュメントのフィードバックを提供する

ドキュメントに関するフィードバックを提供するには、Create Issue フォームを使用します。Red Hat OpenStack Platform Jira プロジェクトで Jira Issue が作成され、フィードバックの進行状況を追跡できます。

  1. Jira にログインしていることを確認してください。Jira アカウントをお持ちでない場合は、アカウントを作成してフィードバックを送信してください。
  2. Create Issue をクリックして、Create Issue ページを開きます。
  3. Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
  4. Create をクリックします。

第1章 Block Storage サービスのカスタムバックエンドのデプロイ

Red Hat OpenStack Platform director は、最小限の手動設定で、完全なエンタープライズレベルの OpenStack デプロイメントをインストールし、管理します。director の詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 を参照してください。

director が作成する Openstack 環境は、オーバークラウドと呼ばれます。オーバークラウドには、Block Storage など、エンドユーザーにサービスを提供するすべてのコンポーネントが含まれます。このドキュメントでは、オーバークラウド上の Block Storage サービス (cinder) にカスタムのバックエンドをデプロイする方法について説明します。デフォルトでは、Block Storage サービスはコントローラーノードにインストールされています。

前提条件

  • director を使用してオーバークラウドをインストールしている。
  • オーバークラウドに、機能する Block Storage サービスが設定されている。
  • Block Storage の概念および設定を理解している。Block Storage の詳細は、永続ストレージの設定Block Storage およびボリューム を参照してください。
警告

この手順は、一部のユースケースでテストされています。最初に、計画したデプロイメントを実稼働環境以外の環境でテストするようにしてください。不明な点は Red Hat サポートにお問い合わせください。

第2章 カスタムバックエンドについて

カスタムバックエンドは、まだ Red Hat OpenStack Platform director に完全に統合されていないストレージサーバー、アプライアンス、または設定です。サポート対象の Block Storage バックエンドは、すでにビルトインの director ファイルで統合および事前設定されています。たとえば、Red Hat Ceph および Dell EMC PS Series、Dell Storage Center、NetApp アプライアンスの設定などです。

一部の統合済みストレージアプライアンスは、シングルインスタンスのバックエンドのみをサポートします。たとえば、Dell Storage Center 向けに事前に設定された director ファイルでは、単一のバックエンドしかデプロイできません。このアプライアンスのバックエンドインスタンスを複数デプロイする場合は、カスタム設定が必要です。

Block Storage サービスが配置されているノード上の /etc/cinder/cinder.conf ファイルを直接編集して Block Storage サービスを手動で設定できます。ただし、openstack overcloud deploy コマンドを実行すると、設定が director により上書きされます。詳細は、設定されたバックエンドのデプロイ を参照してください。director を使用して Block Storage バックエンドをデプロイし、オーバークラウドのデプロイメントと更新を実行しても設定が保持されるようにします。

バックエンド設定が完全に統合されている場合は、パッケージ化された環境ファイルを編集して呼び出すことができます。ただし、カスタムバックエンドの場合は、独自の環境ファイルを作成する必要があります。このドキュメントには、デプロイメント用に編集できるアノテーション付きの /home/stack/templates/custom-env.yaml ファイルが含まれています。サンプル環境ファイルの設定 を参照してください。

このサンプルファイルは、2 つの NetApp バックエンドを使用するように Block Storage サービスを設定するのに適しています。環境ファイルの詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドデプロイメントへの環境ファイルの追加 を参照してください。

2.1. 要件

カスタムの Block Storage バックエンドを設定するには、以下の前提条件を追加で環境に適用する必要があります。

  • サードパーティーのバックエンドアプライアンスを使用している場合には、それらをストレージリポジトリーとして設定している。
  • director を使用した Red Hat OpenStack Platform のインストールと管理 の手順に従って、director を使用してオーバークラウドをデプロイしている。
  • 昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。作成したのと同じ stack ユーザーアカウントを使用して、オーバークラウドをデプロイできる。
  • /etc/cinder/cinder.conf で、Block Storage バックエンドに必要な設定をすでに計画している。

2.2. 設定プロセスについて

カスタムバックエンドを使用するように Block Storage サービスを設定するには、以下の手順が必要です。

第3章 カスタムバックエンド環境ファイルの作成

カスタムバックエンド設定用に作成する環境ファイルには、定義する各バックエンドの設定が含まれます。また、カスタムバックエンドのデプロイメントに関連するその他の設定も含まれます。環境ファイルの詳細は、Red Hat OpenStack Platform デプロイメントガイドのカスタマイズ環境ファイル を参照してください。

以下のサンプル環境ファイルは、 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 サービスがイメージを保存するために使用するものを設定します。以下の値を使用できます。
  • file: 各コントローラーノードの /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
value の接頭辞は先行設定を行います。
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 に一覧表示しないでください。CinderEnableRbdBackendtrue に設定して有効にします。

注記

OpenStack Block Storage 用の Red Hat Ceph バックエンドの定義についての詳細は director を使用した Red Hat Ceph Storage および Red Hat OpenStack Platform のデプロイ を参照してください。

/home/stack/templates/custom-env.yaml から /etc/cinder/cinder.conf 設定を確認するには、サンプル環境ファイルからの設定 を参照してください。

第4章 設定したバックエンドのデプロイ

設定したバックエンドをデプロイするには、以下の手順を実行します。

手順

  1. stack ユーザーとしてログインします。
  2. 以下のコマンドを実行して、カスタムバックエンド設定をデプロイします。

    $ openstack overcloud deploy --templates -e /home/stack/templates/custom-env.yaml
重要

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

第5章 設定したバックエンドのテスト

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

手順

  1. stack ユーザーとして以下のコマンドを実行し、home/stack/overcloudrec で定義した環境変数を読み込みます。

    $ source /home/stack/overcloudrc
    注記

    詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドへのアクセス を参照してください。

  2. バックエンドごとにボリュームタイプを作成します。stack ユーザーとしてオーバークラウドのコントローラーノードにログインし、以下のコマンドを実行します。

    $ cinder type-create backend1
    $ cinder type-create backend2

    これらのコマンドにより、作成した環境ファイルの cinder::config::cinder_config クラスで定義されるバックエンドごとに、backend1backend2 のボリュームタイプが作成されます。

  3. 作成した環境ファイルの cinder_user_enabled_backends クラスで有効化されたバックエンドの volume_backend_name に、各ボリュームタイプをマップします。以下のコマンドは、ボリュームタイプ backend1netapp1 に、backend2netapp2 にマッピングします。

    $ cinder type-key backend1 set volume_backend_name=netapp1
    $ cinder type-key backend2 set volume_backend_name=netapp2
  4. 以下のコマンドを実行して、backend1 のボリュームタイプを呼び出して、netapp1 にバックエンドを作成できることを確認します。

    $ cinder create --volume-type backend1 --display_name netappvolume_1 1
  5. backend2 のボリュームタイプを呼び出して、netapp2 バックエンド上に同様のボリュームを作成します。

    $ cinder create --volume-type backend2 --display_name netappvolume_2 1

第6章 サンプル環境ファイルの設定

カスタムバックエンド環境ファイルの作成 で作成した環境ファイルは、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

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.