2.2. NFS バックエンドに CephFS を使用するためのオプションおよびカスタム network_data ファイルを使用した OpenStack のインストール
NFS バックエンドに CephFS を使用する設定をインストールするには、以下の操作が必要です。
- ceph-ansible パッケージをインストールする。
-
openstack overcloud image prepareコマンドを使用して、オーバークラウドコンテナーイメージを準備する。 -
カスタムロールファイル (
roles_data.yaml) およびnetwork_data.yamlファイルを生成する。 -
カスタムロールおよび環境ファイルと共に
openstack overcloud deployコマンドを使用して、Ceph、Shared File System サービス (manila)、および CephFS をデプロイする。 - StorageNFS 分離ネットワークを設定し、デフォルトのファイル共有種別を作成する。
以下の例では、OpenStack 環境の標準の stack ユーザーが使用されています。
これらのタスクは、OpenStack のインストールまたは環境の更新と共に実施する必要があります。
2.2.1. ceph-ansible パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenStack director でコンテナー化された Ceph をデプロイするには、アンダークラウドノードに ceph-ansible パッケージをインストールする必要があります。
手順
- アンダークラウドノードにログインします。
root 権限で
yum installを使用して、ceph-ansible パッケージをインストールします。sudo yum install -y ceph-ansible sudo yum list ceph-ansible ... Installed Packages ceph-ansible.noarch 3.1.0-0.1.el7 rhelosp-13.
[stack@undercloud-0 ~]$ sudo yum install -y ceph-ansible [stack@undercloud-0 ~]$ sudo yum list ceph-ansible ... Installed Packages ceph-ansible.noarch 3.1.0-0.1.el7 rhelosp-13.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. オーバークラウドコンテナーイメージの準備 リンクのコピーリンクがクリップボードにコピーされました!
OpenStack ではすべてのサービスがコンテナー化されているので、openstack overcloud image prepare コマンドを使用してオーバークラウド用に Docker イメージを準備する必要があります。追加のオプションを指定して以下のコマンドを実行すると、ceph および manila サービスのデフォルトイメージが docker レジストリーに追加されます。Ceph MDS および NFS-Ganesha サービスは、同じ Ceph のベースコンテナーイメージを使用します。
コンテナーイメージに関する補足情報は、director のインストールと使用方法の 追加のサービス用のコンテナーイメージ セクションを参照してください。
手順
-eオプションにより以下の環境ファイルを追加して、アンダークラウドからopenstack overcloud image prepareコマンドを実行します。openstack overcloud container image prepare \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/manila.yaml \ ...
$ openstack overcloud container image prepare \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/manila.yaml \ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow grep コマンドを使用して、ceph および manila サービスのデフォルトイメージが
containers-default-parameters.yamlファイルに含まれていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.1. カスタムロールファイルの生成 リンクのコピーリンクがクリップボードにコピーされました!
StorageNFS 分離ネットワークのセットアップには、ControllerStorageNFS カスタムロールを使用します。このロールはデフォルトの Controller.yaml ロールファイルに類似していますが、StorageNFS ネットワークおよび CephNfs サービス (OS::TripleO::Services:CephNfs で表される) が追加されています。
openstack overcloud roles generate コマンドに関する情報は、オーバークラウドの高度なカスタマイズの ロール セクションを参照してください。
手順
openstack overcloud roles generate コマンドにより、-o 以降に指定したサービスが含まれるカスタム roles_data.yaml ファイルが作成されます。以下の例では、作成される roles_data.yaml ファイルには、ControllerStorageNfs、Compute、および CephStorage のサービスが含まれます。
既存の roles_data.yaml ファイルがある場合には、それを変更して設定ファイルに ControllerStorageNfs、Compute、および CephStorage サービスを追加します。オーバークラウドの高度なカスタマイズの ロール セクションを参照してください。
- アンダークラウドノードにログインします。
openstack overcloud roles generateコマンドを使用して、roles_data.yamlファイルを作成します。openstack overcloud roles generate --roles-path /usr/share/openstack-tripleo-heat-templates/roles -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorage
[stack@undercloud ~]$ openstack overcloud roles generate --roles-path /usr/share/openstack-tripleo-heat-templates/roles -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3. 更新された環境のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
環境をデプロイする準備が整ったら、NFS-Ganesha と共に CephFS を実行するのに必要なカスタム環境およびロールを指定して、openstack overcloud deploy コマンドを使用します。これらの環境およびロールについて、以下で説明します。
実際のオーバークラウドデプロイコマンドでは、その他の必要なオプションに加えて以下のオプションを指定します。
| 機能 | オプション | 補足情報 |
|---|---|---|
|
|
| |
|
|
| |
|
前のセクションで作成した |
| |
|
|
| コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイの オーバークラウドデプロイメントの開始 |
|
|
| コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイの オーバークラウドデプロイメントの開始 |
| NFS バックエンドに CephFS を使用した manila サービスをデプロイする。director で NFS-Ganesha を設定する。 |
|
以下は、CephFS を使用するための NFS-Ganesha、Ceph クラスター、Ceph MDS、および StorageNFS 分離ネットワークをデプロイするオプションを取り込んだ openstack overcloud deploy コマンドの例です。
openstack overcloud deploy コマンドに関する補足情報は、director のインストールと使用方法の CLI ツールを使用したオーバークラウドの作成 セクションを参照してください。
2.2.3.1. StorageNFS および network_data_ganesha.yaml ファイル リンクのコピーリンクがクリップボードにコピーされました!
コンポーザブルネットワークを使用すると、カスタムネットワークを定義して、それを任意のロールに割り当てることができます。StorageNFS コンポーザブルネットワークは、標準の network_data.yaml ファイルではなく、network_data_ganesha.yaml ファイルを使用して設定します。これらのロールは、共に /usr/share/openstack-tripleo-heat-templates ディレクトリーから利用可能です。
network_data_ganesha.yaml ファイルには、StorageNFS 分離ネットワークを定義する追加のセクションが含まれます。デフォルトの設定がほとんどのインストールで機能しますが、YAML ファイルを編集してご自分のネットワーク設定 (VLAN ID、サブネット等) を追加しなければならない場合があります。
コンポーザブルネットワークに関する詳しい情報は、オーバークラウドの高度なカスタマイズの コンポーザブルネットワーク の章を参照してください。
2.2.3.2. manila-cephfsganesha-config.yaml リンクのコピーリンクがクリップボードにコピーされました!
CephFS バックエンドを定義するための統合環境ファイルは、アンダークラウドノードの以下のパスにあります。
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
manila-cephfsganesha-config.yaml 環境ファイルには、Shared File System サービスのデプロイに関する設定が含まれます。バックエンドのデフォルト設定は、ほとんどの環境で機能するはずです。Shared File System サービスをデプロイする際に director が使用するデフォルト値を、以下の例で示します。
parameter_defaults ヘッダーから設定が始まります。具体的には、このヘッダーからの設定により、resource_registry で設定したデフォルト値を上書きすることができます。これには、CephFS バックエンドのデフォルトを設定する OS::Tripleo::Services::ManilaBackendCephFs で定義した値も含まれます。
- 1
ManilaCephFSBackendName: CephFS バックエンドの manila 設定の名前を定義します。ここでは、デフォルトのバックエンド名は cephfs です。- 2
ManilaCephFSDriverHandlesShareServers: 共有用サーバーのライフサイクルをコントロールします。false に設定すると、ドライバーはライフサイクルを処理しません。サポートされるオプションはこれだけです。- 3
ManilaCephFSCephFSAuthId: Ceph クラスターにアクセスするために director が manila サービスに作成する Ceph 認証 ID を定義します。- 4
ManilaCephFSCephFSEnableSnapshots: スナップショットのアクティブ化をコントロールします。値が false であれば、スナップショットが有効ではないことを意味します。この機能は現在サポートされていません。
環境ファイルについての詳細は、オーバークラウドの高度なカスタマイズの 環境ファイル を参照してください。
2.2.4. デプロイメント後設定の完了 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーにアクセスを許可する前に、以下に示す 2 つのデプロイメント後設定項目を完了する必要があります。
- neutron StorageNFS ネットワークをデータセンターの StorageNFS 分離ネットワークにマッピングする。
- デフォルトのファイル共有種別を作成する。
これらのステップが完了したら、テナントコンピュートインスタンスは NFS 共有を作成し、そのアクセスを許可し、マウントすることができます。
2.2.4.1. 分離ネットワークの設定 リンクのコピーリンクがクリップボードにコピーされました!
新しい StorageNFS 分離ネットワークを neutron 共有プロバイダーネットワークにマッピングする必要があります。NFS-Ganesha ゲートウェイの提供するファイル共有のエクスポート場所にアクセスするために、コンピュートノードの仮想マシンをこの neutron ネットワークにアタッチします。
Shared File Systems サービスのネットワークセキュリティーに関する一般情報は、Security and Hardening Guideの Hardening the Shared File System (Manila) の章を参照してください。
手順
openstack network create コマンドにより、StorageNFS neutron ネットワークの設定を定義します。以下のオプションを設定してこのコマンドを実行します。
- --provider-physical-network: tripleo-heat-templates の NeutronBridgeMappings で別途 br-isolated ブリッジのタグを設定していない限り、デフォルト値 datacentre を使用します。
- --provider-segment: Heat テンプレート (/usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml) で StorageNFS 分離ネットワークに設定した vlan の値を使用します。デプロイ時に分離ネットワークの定義を変更していない限り、この値は 70 です。
- --provider-network-type: 値 vlan を使用します。
このコマンドを使用するには、以下の手順を実施します。
アンダークラウドノードから以下のコマンドを実行します。
source ~/overcloudrc
[stack@undercloud ~]$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow アンダークラウドノードで openstack network create コマンドを実行して、StorageNFS ネットワークを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4.2. 共有プロバイダー StorageNFS ネットワークのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
neutron 共有プロバイダーネットワークに対応する StorageNFSSubnet を作成します。アンダークラウドの storage_nfs_subnet と同じサブネットを設定します。ただし、このサブネットと対応するアンダークラウドのサブネットの割り当て範囲が重複しないようにしてください。このサブネットは NFS 共有提供専用なので、ゲートウェイは必要ありません。
要件
- 割り当てプールの IP 範囲 (開始および終了アドレス)
- サブネットの IP 範囲
手順
- オーバークラウドノードにログインします。
下記のコマンド例を使用して、ネットワークをプロビジョニングします。必要に応じて値を更新してください。
-
start=172.16.4.150,end=172.16.4.250を、実際のネットワークの IP の値に置き換えます。 -
172.16.4.0/24を、実際のネットワークの正しいサブネット範囲に置き換えます。
-