Fujitsu ETERNUS バックエンドガイド
Red Hat OpenStack Platform 環境で Fujitsu ETERNUS バックエンドを使用するためのガイド
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
本書では、Block Storage サービスのバックエンドとして Fujitsu ETERNUS Disk Storage System を使用するように Red Hat OpenStack Platform を設定する方法を説明します。本書では、オーバークラウドのデプロイメントで ETERNUS デバイスが提供する Fibre Channel および iSCSI バックエンドを定義する方法について説明します。このプロセスでは、両方のバックエンドを Block Storage サービスの custom back end として定義します。デフォルトでは、コントローラーノードには Block Storage サービスが含まれます。
前提条件
-
富士通プラグインのコンテナー
registry.connect.redhat.com/fujitsu/rhosp13-fujitsu-cinder-volume-161を使用して、Red Hat OpenStack Platform オーバークラウドが director を介してデプロイされている。詳細は、ベンダープラグインのプラグイン を参照してください。 - Block Storage バックエンドには、Fujitsu ETERNUS Disk Storage System デバイスおよびドライバーのみを使用する。
- オーバークラウドデプロイメントで作成した director インストールユーザーを使用できる。詳細は、Director のインストールおよび使用法 から スタックユーザーの作成 を参照してください。
-
ETERNUS Web GUI または CLI から ETERNUS デバイスの
Adminアカウントにアクセスできる。
Red Hat は、Fujitsu ETERNUS デバイスでの Fibre Channel または iSCSI インターフェイスの使用と、それぞれのドライバーおよび設定の使用をサポートしています。
カスタムバックエンドの定義に関する詳しい情報は、カスタム Block Storage バックエンドデプロイメントガイド を参照してください。
第2章 Fujitsu ETERNUS デバイスの設定 リンクのコピーリンクがクリップボードにコピーされました!
Fujitsu ETERNUS デバイスを Block Storage バックエンドとして定義する前に、デバイスにストレージプールおよびポートを設定します。各手順の詳細については、デバイスのドキュメントを参照してください。
手順
- Block Storage サービスをホストするコントローラーノードと ETERNUS デバイスの MNT ポート間の LAN 接続を設定します。
- コンピュートノードと ETERNUS デバイスの CA ポートとの間の SAN 接続を設定します。
-
Adminロールのアカウントを使用して ETERNUS デバイスにログインします。 - ETERNUS DX の SMI-S を有効にします。
- SSH キーを設定します。
-
softwareロール のユーザーアカウントを追加します。 -
Advanced Copy Featureライセンスを登録し、コピーテーブルのサイズを設定します。 -
ボリュームのストレージプールを作成します。このプールは後で、「Fujitsu ETERNUS バックエンドごとのドライバー定義の作成」 の
EternusPool設定で使用します。 -
オプション: ボリュームのスナップショット用に別のストレージプールを作成します。このプールは、「Fujitsu ETERNUS バックエンドごとのドライバー定義の作成」 の
EternusSnapPool設定を表します。 オプション:
Snap Data Pool Volume (SDPV)を作成して、create a snapshot機能を作成する ための Snap Data Pool (SDP) を有効にします。ヒントEternusSnapPoolにシンプロビジョニングプールを使用する場合は、この手順を省略します。-
Block Storage サービスが使用する
storage portsを設定します。 -
storage portsポートをCAモードに設定します。 ストレージポートの
host-affinityを有効にするには、各ポートに対して ETERNUS CLI から次のコマンドを入力します。set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>
set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<PROTO> を、
fcやiscsiなどのストレージプロトコルに置き換えます。 - <CM#> および <CA#> を、ポートが置かれているコントローラーエンクロージャーの名前に置き換えます。
- <PORT> をポート番号に置き換えます。
-
<PROTO> を、
以下のコマンドを使用してアンダークラウドで SSH キーを生成し、
eternus.ietfファイルを ETERNUS デバイスにアップロードします。ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietf
ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記後で使用できるように
eternusファイルを保存します。セキュリティー上の理由から、アンダークラウドまたはオーバークラウドからコピーしたり、移動したりしないでください。
第3章 Fujitsu ETERNUS heat テンプレートの準備 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Open Stack Platform オーバークラウドへの今後の更新を通じて設定が維持されるようにするには、director を介したデプロイメント中にすべてのサービス設定を実行します。
Block Storage サービスをホストする ETERNUS バックエンドのコントローラーノードに、以下の設定を追加します。
- 各バックエンドのドライバー設定に XML 設定ファイルを含めます。
- ETERNUS デバイスと通信するための SSH サーバーキーを含めます。
heat テンプレートを使用して、director で両方のタスクをオーケストレーションすることができます。director heat テンプレートの構文の詳細については、オーバークラウの詳細ドガイドの Heat テンプレートの概要 を参照してください。
以下のテンプレート eternus-temp.yaml は、必要な heat テンプレートの基本的な構文を示しています。
eternus-temp.yaml
- 1
EternusSetupセクションには、コントローラーノードのタスクをオーケストレーションするリソースが含まれます。- 2
configセクションには、コントローラーノードで実行するコマンドが含まれます。- 3
- Block Storage サービスがホストされる各コントローラーノードに秘密鍵の情報をコピーし、「Fujitsu ETERNUS バックエンドごとのドライバー定義の作成」 の各バックエンドのドライバー設定用に XML 設定ファイルを作成するコマンドを追加します。
このファイルを director ノードのカスタム heat テンプレートディレクトリー /home/stack/templates/ に保存します。
3.1. Fujitsu ETERNUS バックエンドごとのドライバー定義の作成 リンクのコピーリンクがクリップボードにコピーされました!
Block Storage 設定ファイル /etc/cinder/cinder.conf ではなく、別の XML ファイルで各 ETERNUS バックエンド用のドライバー設定を定義します。各バックエンドに、以下の設定が含まれる XML ファイルがあることを確認します。
- EternusIP
- ETERNUS デバイスの SMI-S 接続の IP アドレス。デバイスの MNT ポートの IP アドレスを使用します。
- EternusPort
- ETERNUS デバイスの SMI-S 接続ポートのポート番号。
- EternusUser
-
接続
EternusIPのsoftwareロールのユーザー名。 - EternusPassword
-
EternusIP上のEternusUserの対応するパスワード。 - EternusPool
- 2章Fujitsu ETERNUS デバイスの設定 からのボリュームのストレージプールの名前。ETERNUS デバイスのプール RAID Group 名または TPP 名を使用します。
- EternusSnapPool
-
2章Fujitsu ETERNUS デバイスの設定 からのボリュームスナップショットのストレージプールの名前。ETERNUS デバイスのプール RAID Group 名を使用します。スナップショットに別のプールを作成していない場合は、
EternusPoolと同じ値を使用します。
以下の xml の例を使用して Fibre Channel 設定を定義します。
eternus-fc.xml
以下の xml の例で ISCSI 設定を定義します。
eternus-iscsi.xml
これらの XML ファイルの作成をオーケストレーションするには、3章Fujitsu ETERNUS heat テンプレートの準備 の /home/stack/templates/eternus-temp.yaml ファイルの EternusSetup リソースの config セクションに bash コマンドを含めます。以下のコマンド例を使用して、eternus-fc.xml および eternus-iscsi.xml の作成をオーケストレーションします。
sudo cat コマンドを使用して、必要な数の XML 設定ファイルを作成します。
cinder ユーザーおよびグループに対するこれらの XML ファイルの所有権および権限を設定します。
sudo chown cinder:cinder /etc/cinder/eternus-*.xml sudo chmod 0600 /etc/cinder/eternus-*.xml
sudo chown cinder:cinder /etc/cinder/eternus-*.xml
sudo chmod 0600 /etc/cinder/eternus-*.xml
完了した heat テンプレートの例については、「Fujitsu ETERNUS heat テンプレートの例」 を参照してください。
3.2. Fujitsu ETERNUS heat テンプレートの例 リンクのコピーリンクがクリップボードにコピーされました!
以下の /home/stack/templates/eternus-temp.yaml ファイルには、XML 設定ファイルのサンプルを宣言するために必要なパラメーター (eternus-fc.xml や eternus-iscsi.xml など) が含まれます。
/home/stack/templates/eternus-temp.yaml
第4章 Fujitsu ETERNUS 環境ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
環境ファイルには、定義する各バックエンドの設定と、その他の関連する設定が含まれています。環境ファイルについての詳細は、オーバークラウドの高度なカスタマイズ の 環境ファイル を参照してください。
また、環境ファイルは、3章Fujitsu ETERNUS heat テンプレートの準備 で作成した heat テンプレートを登録します。heat テンプレートで定義した installation コマンドと echo コマンドは、デプロイメント中に適切なノードで実行されます。
以下の環境ファイルの例には、Block Storage バックエンドとして ETERNUS デバイスを定義するのに必要なセクションが含まれています。また、「Fujitsu ETERNUS バックエンドごとのドライバー定義の作成」 および 「Fujitsu ETERNUS heat テンプレートの例」 でオーケストレーションされる対応する各 XML ファイルのバックエンド定義も作成します。
eternusbackend-env.yaml
- 1
Node Extra Configを使用して、コア Puppet 設定の前にすべてのノードのカスタム設定を定義します。これにより、Block Storage サービスがオーバークラウドにデプロイされる際に、以下の設定が可能になります。- 各バックエンドの XML 設定ファイルが存在する。
- 秘密鍵が生成される。
- 2
- 他のバックエンド種別を無効にするには、以下のパラメーターを
falseに設定します。-
CinderEnableIscsiBackend: 他の iSCSI バックエンド。 -
CinderEnableRbdBackend: Red Hat Ceph Storage. -
CinderEnableNfsBackend: NFS. -
NovaEnableRbdBackend: ephemeral Red Hat Ceph Storage。
-
- 3
GlanceBackendパラメーターを使用して、Image サービスのイメージストレージ設定を定義します。以下の値がサポートされます。-
この
ファイルは、各コントローラーノードの/var/lib/glance/imagesにイメージを保存します。 -
swiftは、イメージストレージに Object Storage サービスを使用します。 -
cinderは、イメージストレージに Block Storage サービスを使用します。
-
この
- 4
controllerExtraConfigを使用して、全コントローラーノードのカスタム設定を定義します。cinder::config::cinder_configクラスは Block Storage サービス用です。director は、これらのバックエンド設定を各ノードの/etc/cinder/cinder.confファイルに保存します。- 5
FJFCという名前のバックエンド定義をFJFC/文字列で設定し、そのバックエンド定義でvolume_driverパラメーターを宣言します。volume_driverパラメーターを使用して、バックエンドの Fibre Channel ETERNUS ドライバーを設定します (例:cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_fc.FJDXFCDriver)。- 6
cinder_eternus_config_fileを使用して、ドライバーがバックエンドに使用する XML 設定ファイルへのパスを設定します。/home/stack/templates/eternus-temp.yamlなどの heat テンプレートを使用して、/etc/cinder/eternus-fc.xmlの作成をオーケストレーションします。- 7
volume_backend_nameは、Block Storage サービスがバックエンドを有効にするために使用する名前です。- 8
FJISCSI/文字列で新しいバックエンド定義を設定します。volume_driverパラメーターを使用して、バックエンドの iSCSI ETERNUS ドライバーを設定します (例:cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_iscsi.FJDXISCSIDriver)。- 9
cinder_user_enabled_backendsクラスでカスタムバックエンドを設定して有効にします。このクラスは、ユーザー対応バックエンド (cinder::config::cinder_configクラスで定義されるものなど) にのみ使用します。- 10
CinderVolumeOptVolumesを使用して、コンテナーで実行中の cinder-volume サービスがホストのカスタム設定ファイルを利用できるようにします。
環境ファイルを作成したら、設定をデプロイできます。環境ファイル /home/stack/templates/eternusbackend-env.yaml の詳細については、5章設定された Fujitsu ETERNUS バックエンドのデプロイ を参照してください。
第5章 設定された Fujitsu ETERNUS バックエンドのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
/home/stack/templates/ に eternusbackend-env.yaml ファイルを作成したら、以下の手順を実行します。
手順
-
stackユーザーとしてログインします。 - 以下のコマンドを使用して、バックエンド設定をデプロイします。
openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/eternusbackend-env.yaml
$ openstack overcloud deploy --templates \
-e [your environment files] \
-e /home/stack/templates/eternusbackend-env.yaml
オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e オプションを使用して環境ファイルを再度渡します。詳細は、director のインストールと使用方法ガイドの オーバークラウド環境の変更 を参照してください。
director のオーケストレーションが完了したら、バックエンドをテストします。6章Fujitsu ETERNUS 設定のテストを参照してください。
第6章 Fujitsu ETERNUS 設定のテスト リンクのコピーリンクがクリップボードにコピーされました!
新しい ETERNUS バックエンドを使用するように Block Storage サービスを設定した後、各バックエンドの volume type を宣言します。ボリュームタイプを使用して、新しいボリュームを作成するときに使用するバックエンドを指定します。
- Fibre Channel バックエンドを作成し、以下のコマンドで該当するバックエンドにマッピングします。
cinder type-create FJFC cinder type-key FJFC set volume_backend_name=FJFC
# cinder type-create FJFC
# cinder type-key FJFC set volume_backend_name=FJFC
- iSCSI バックエンドを作成し、以下のコマンドで該当するバックエンドにマッピングします。
cinder type-create FJISCSI cinder type-key FJISCSI volume_backend_name=FJISCSI
# cinder type-create FJISCSI
# cinder type-key FJISCSI volume_backend_name=FJISCSI
ボリュームタイプの詳しい情報は、4章Fujitsu ETERNUS 環境ファイルの作成 を参照してください。
-
test_iscsiという名前の 1GB の iSCSI ボリュームを作成し、設定を確認します。
cinder create --volume_type FJISCSI --display_name test_iscsi 1
# cinder create --volume_type FJISCSI --display_name test_iscsi 1
- Fibre Channel バックエンドをテストします。
cinder create --volume_type FJFC --display_name test_fc 1
# cinder create --volume_type FJFC --display_name test_fc 1