2.2. NFS バックエンドに CephFS を使用するためのオプションおよびカスタム network_data ファイルを使用した Red Hat OpenStack Platform (RHOSP) のインストール


NFS バックエンドに CephFS を使用する設定をインストールするには、以下の手順を実施します。

  1. ceph-ansible パッケージをインストールする。「ceph-ansible パッケージのインストール」 を参照
  2. カスタムロールファイル roles_data.yaml および network_data.yaml ファイルを生成する。「カスタムロールファイルの生成」 を参照
  3. カスタムロールおよび環境ファイルと共に openstack overcloud deploy コマンドを使用して、Ceph、Shared File Systems サービス (manila)、および CephFS をデプロイする。「更新された環境のデプロイ」 を参照
  4. StorageNFS 分離ネットワークを設定し、デフォルトのファイル共有種別を作成する。「デプロイメント後設定の完了」 を参照

以下の例では、Red Hat Platform (RHOSP) 環境の標準の stack ユーザーが使用されています。

RHOSP のインストールまたは環境の更新の一環としてタスクを実行します。

2.2.1. ceph-ansible パッケージのインストール

コンテナー化された Ceph をデプロイするには、アンダークラウドノードに ceph-ansible パッケージをインストールします。

手順

  1. アンダークラウドノードに stack ユーザーとしてログインします。
  2. ceph-ansible パッケージをインストールします。

    [stack@undercloud-0 ~]$ sudo dnf install -y ceph-ansible
    [stack@undercloud-0 ~]$ sudo dnf list ceph-ansible
    ...
    Installed Packages
    ceph-ansible.noarch    4.0.23-1.el8cp      @rhelosp-ceph-4-tools

2.2.1.1. カスタムロールファイルの生成

ControllerStorageNFS カスタムロールにより、StorageNFS 分離ネットワークを設定します。このロールはデフォルトの Controller.yaml ロールファイルに類似していますが、StorageNFS ネットワークおよび CephNfs サービス (OS::TripleO::Services:CephNfs コマンドで表される) が追加されています。

[stack@undercloud ~]$ cd /usr/share/openstack-tripleo-heat-templates/roles
[stack@undercloud roles]$ diff Controller.yaml ControllerStorageNfs.yaml
16a17
> 	- StorageNFS
50a45
> 	- OS::TripleO::Services::CephNfs

openstack overcloud roles generate コマンドに関する情報は、Advanced Overcloud CustomizationRoles を参照してください。

openstack overcloud roles generate コマンドにより、-o 以降に指定したサービスが含まれるカスタム roles_data.yaml ファイルが作成されます。以下の例では、作成される roles_data.yaml ファイルには、ControllerStorageNfsCompute、および CephStorage のサービスが含まれます。

注記

既存の roles_data.yaml ファイルがある場合には、それを変更して設定ファイルに ControllerStorageNfsCompute、および CephStorage サービスを追加します。詳しい情報は、Advanced Overcloud CustomizationRoles を参照してください。

手順

  1. アンダークラウドノードに stack ユーザーとしてログインします。
  2. openstack overcloud roles generate コマンドを使用して、roles_data.yaml ファイルを作成します。

    [stack@undercloud ~]$ openstack overcloud roles generate --roles-path /usr/share/openstack-tripleo-heat-templates/roles -o /home/stack/roles_data.yaml ControllerStorageNfs Compute CephStorage

2.2.2. 更新された環境のデプロイ

環境をデプロイする準備が整ったら、NFS-Ganesha と共に CephFS を実行するのに必要なカスタム環境およびロールを指定して、openstack overcloud deploy コマンドを使用します。

オーバークラウドのデプロイコマンドでは、その他の必要なオプションに加えて以下のオプションを指定します。

Expand
機能オプション補足情報

network_data_ganesha.yaml を使用して新たな StorageNFS ネットワークを追加する。

-n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml

「StorageNFS および network_data_ganesha.yaml ファイル」

前のセクションで作成した roles_data.yaml ファイルにより定義したカスタムロールを追加する。

-r /home/stack/roles_data.yaml

「カスタムロールファイルの生成」

ceph-ansible.yaml を使用して Ceph デーモンをデプロイする。

-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml

コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイオーバークラウドデプロイメントの開始

ceph-mds.yaml を使用して Ceph メタデータサーバーをデプロイする。

-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml

コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイオーバークラウドデプロイメントの開始

NFS バックエンドに CephFS を使用する Shared File Systems (manila) サービスをデプロイする。director と共に NFS-Ganesha を設定する。

-e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml

「CephFS バックエンド環境ファイル」

以下は、CephFS を使用するための NFS-Ganesha、Ceph クラスター、Ceph MDS、および StorageNFS 分離ネットワークをデプロイするオプションを指定した openstack overcloud deploy コマンドの例です。

[stack@undercloud ~]$ openstack overcloud deploy \
--templates /usr/share/openstack-tripleo-heat-templates  \
-n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml \
-r /home/stack/roles_data.yaml \
-e /home/stack/containers-default-parameters.yaml   \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml   \
-e /home/stack/network-environment.yaml  \
-e/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml  \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml  \
-e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml

openstack overcloud deploy コマンドについての詳しい情報は、Director のインストールと使用方法デプロイメントコマンド を参照してください。

2.2.2.1. StorageNFS および network_data_ganesha.yaml ファイル

コンポーザブルネットワークを使用して、カスタムネットワークを定義して、それを任意のロールに割り当てます。標準の network_data.yaml ファイルを使用する代わりに、network_data_ganesha.yaml ファイルを使用して StorageNFS コンポーザブルネットワークを設定することができます。これらのロールは、共に /usr/share/openstack-tripleo-heat-templates ディレクトリーから利用可能です。

network_data_ganesha.yaml ファイルには、StorageNFS 分離ネットワークを定義する追加のセクションが含まれます。デフォルトの設定がほとんどのインストールで機能しますが、YAML ファイルを編集してご自分のネットワーク設定 (VLAN ID、サブネット、その他の設定など) を追加する必要があります。

name: StorageNFS
enabled: true
vip: true
name_lower: storage_nfs
vlan: 70
ip_subnet: '172.17.0.0/20'
allocation_pools: [{'start': '172.17.0.4', 'end': '172.17.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:7000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:7000::4', 'end': 'fd00:fd00:fd00:7000::fffe'}]

コンポーザブルネットワークについての詳しい情報は、オーバークラウドの高度なカスタマイズコンポーザブルネットワーク を参照してください。

2.2.2.2. CephFS バックエンド環境ファイル

CephFS バックエンド manila-cephfsganesha-config.yaml を定義するための統合環境ファイルは /usr/share/openstack-tripleo-heat-templates/environments/ にあります。

manila-cephfsganesha-config.yaml 環境ファイルには、Shared File Systems サービス (manila) のデプロイメントに関する設定が含まれます。バックエンドのデフォルト設定は、ほとんどの環境で機能します。Shared File Systems サービスをデプロイする際に director が使用するデフォルト値を以下の例で示します。

[stack@undercloud ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml
# A Heat environment file which can be used to enable a
# a Manila CephFS-NFS driver backend.
resource_registry:
  OS::TripleO::Services::ManilaApi: ../deployment/manila/manila-api-container-puppet.yaml
  OS::TripleO::Services::ManilaScheduler: ../deployment/manila/manila-scheduler-container-puppet.yaml
  # Only manila-share is pacemaker managed:
  OS::TripleO::Services::ManilaShare: ../deployment/manila/manila-share-pacemaker-puppet.yaml
  OS::TripleO::Services::ManilaBackendCephFs: ../deployment/manila/manila-backend-cephfs.yaml
  # ceph-nfs (ganesha) service is installed and configured by ceph-ansible
  # but it's still managed by pacemaker
  OS::TripleO::Services::CephNfs: ../deployment/ceph-ansible/ceph-nfs.yaml

parameter_defaults:
  ManilaCephFSBackendName: cephfs 
1

  ManilaCephFSDriverHandlesShareServers: false 
2

  ManilaCephFSCephFSAuthId: 'manila' 
3

  ManilaCephFSCephFSEnableSnapshots: false 
4

  # manila cephfs driver supports either native cephfs backend - 'CEPHFS'
  # (users mount shares directly from ceph cluster), or nfs-ganesha backend -
  # 'NFS' (users mount shares through nfs-ganesha server)
  ManilaCephFSCephFSProtocolHelperType: 'NFS'

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 であれば、スナップショットが有効ではないことを意味します。この機能は現在サポートされていません。

環境ファイルについての詳細は、Director のインストールと使用方法環境ファイル を参照してください。

2.2.3. デプロイメント後設定の完了

NFS 共有を作成し、ユーザーにアクセス権限を付与し、NFS 共有をマウントする前に、2 つのデプロイメント後設定タスクを完了する必要があります。

  • Networking サービス (neutron) の StorageNFS ネットワークをデータセンターの StorageNFS 分離ネットワークにマッピングする。
  • デフォルトのファイル共有種別を作成する。

これらのステップを完了したら、テナントコンピュートインスタンスは NFS 共有を作成し、そのアクセスを許可し、マウントすることができます。

2.2.3.1. ストレージプロバイダーネットワークの作成

新しい StorageNFS 分離ネットワークを Networking (neutron) プロバイダーネットワークにマッピングする必要があります。NFS-Ganesha ゲートウェイの提供するファイル共有のエクスポート場所にアクセスするために、コンピュートノードの仮想マシンをネットワークにアタッチします。

Shared File Systems サービスのネットワークセキュリティーに関する情報は、セキュリティーおよび強化ガイドShared File System (Manila) の強化 を参照してください。

手順

openstack network create コマンドにより、StorageNFS neutron ネットワークの設定を定義します。

  1. アンダークラウドノードから、以下のコマンドを入力します。

    [stack@undercloud ~]$ source ~/overcloudrc
  2. アンダークラウドノードで、StorageNFS ネットワークを作成します。

    (overcloud) [stack@undercloud-0 ~]$ openstack network create StorageNFS --share  --provider-network-type vlan --provider-physical-network datacentre --provider-segment 70

    以下のオプションを設定してこのコマンドを入力することができます。

    • --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 を使用します。

2.2.3.2. 共有プロバイダー StorageNFS ネットワークの設定

neutron 共有プロバイダーネットワークに対応する StorageNFSSubnet を作成します。サブネットが network_data.yml ファイルの storage_nfs ネットワーク定義と同じであることを確認し、StorageNFS サブネットと対応するアンダークラウドのサブネットの割り当て範囲が重複しないようにしてください。StorageNFS サブネットは NFS 共有の提供用であるため、ゲートウェイは必要ありません。

前提条件

  • 割り当てプールの IP 範囲 (開始および終了アドレス)
  • サブネットの IP 範囲
2.2.3.2.1. 共有プロバイダー StorageNFS IPv4 ネットワークの設定

手順

  1. オーバークラウドノードにログインします。
  2. source コマンドでオーバークラウドの認証情報を読み込みます。
  3. 下記のコマンド例を使用して、以下の変更を行いネットワークをプロビジョニングします。

    1. start=172.17.0.4,end=172.17.0.250 の IP の値を、実際のネットワークの IP の値に置き換えます。
    2. 172.17.0.0/20 のサブネット範囲を、実際のネットワークのサブネット範囲に置き換えます。
[stack@undercloud-0 ~]$ openstack subnet create --allocation-pool start=172.17.0.4,end=172.17.0.250 --dhcp --network StorageNFS --subnet-range 172.17.0.0/20 --gateway none StorageNFSSubnet
2.2.3.2.2. 共有プロバイダー StorageNFS IPv6 ネットワークの設定

手順

  1. オーバークラウドノードにログインします。
  2. 下記のコマンド例を使用して、必要に応じて値の変更を行いネットワークをプロビジョニングします。

    • fd00:fd00:fd00:7000::/64 のサブネット範囲を、実際のネットワークのサブネット範囲に置き換えます。
[stack@undercloud-0 ~]$ openstack subnet create --ip-version 6 --dhcp --network StorageNFS --subnet-range fd00:fd00:fd00:7000::/64 --gateway none --ipv6-ra-mode dhcpv6-stateful --ipv6-address-mode dhcpv6-stateful StorageNFSSubnet -f yaml

2.2.3.3. デフォルトのファイル共有種別の設定

Shared File Systems サービスを使用して、ファイル共有の種別を定義することができます。これを使用して、特定の設定のファイル共有を作成することができます。ファイル共有の種別は、Block Storage のボリューム種別に類似した機能を持ちます。それぞれの種別には、追加の仕様などの関連する設定があります。ファイル共有の作成時に種別を呼び出すと、その設定が共有ファイルシステムに適用されます。

Red Hat OpenStack Platform (RHOSP) director を使用する場合、ユーザーにクラウドへのアクセスを許可する前に、デフォルトのファイル共有種別を作成する必要があります。NFS バックエンドに CephFS を使用する設定では、manila type-create コマンドを使用します。

$ manila type-create default false

ファイル共有種別に関する詳しい情報は、ストレージガイド共有タイプの作成 を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る