第6章 Shared File Systems サービス (manila) の設定

Shared File Systems サービス (manila) により、複数のコンピュートインスタンス、ベアメタルノード、またはコンテナーで消費可能な共有ファイルシステムをプロビジョニングすることができます。クラウド管理者は共有種別を作成してファイル共有サービスの準備を行い、エンドユーザーがファイル共有を作成および管理できるようにします。

前提条件

  • Shared File Systems サービスを使用するために、エンドユーザーには少なくとも 1 つの共有種別が必要です。
  • driver_handles_share_servers=False と設定したバックエンドの場合には、クラウド管理者は共有ファイルシステムバックエンドで動的にネットワークを設定するのではなく、必要なネットワークを事前に設定します。
  • NFS バックエンドに CephFS を使用する場合、クラウド管理者は分離ネットワーク、環境引数、およびカスタム network_data ファイルを使用して Red Hat OpenStack Platform (RHOSP) director をデプロイし、NFS エクスポート用の分離 StorageNFS ネットワークを作成します。デプロイ後オーバークラウドを使用する前に、管理者は対応する Networking サービス (neutron) StorageNFS 共有プロバイダーネットワークを作成して、データセンターの分離 StorageNFS ネットワークにマッピングします。
  • コンピュートインスタンスをこの共有プロバイダーネットワークに接続するためには、ユーザーは新たな neutron ポートを追加する必要があります。

6.1. Shared File Systems サービスのバックエンド

Red Hat OpenStack Platform (RHOSP) director を使用して Shared File Systems サービス (manila) をデプロイする場合、クラウド管理者は以下に示すサポート対象のバックエンドの 1 つまたは複数を選択することができます。

サポート対象のバックエンドアプライアンスおよびドライバーの完全なリストは、Component, Plug-In, and Driver Support in Red Hat OpenStack Platformを参照してください。

6.1.1. 複数のバックエンドの使用

バックエンドは、ファイルシステムをエクスポートする Shared File Systems サービス (manila) ドライバーとペアとなるストレージシステムまたはテクノロジーです。Shared File Systems サービスでは、少なくとも 1 つのバックエンドが動作している必要があります。多くの場合、1 つのバックエンドで十分です。ただし、単一の Shared File Systems サービスインストールで複数のバックエンドを使用することもできます。

重要

現在、Red Hat OpenStack Platform (RHOSP) では、Shared File Systems サービスのデプロイメントに対する同じバックエンドの複数インスタンスはサポートされていません。たとえば、同じデプロイメント内に 2 つの Ceph Storage クラスターをバックエンドとして追加することはできません。選択するバックエンドは異種である必要があります。CephFS ネイティブと NFS バックエンドに CephFS を使用する設定は、異なるプロトコルの 1 つのバックエンドとみなされます。

Shared File Systems サービスのスケジューラーは、ファイル共有作成要求の宛先バックエンドを決定します。Shared File Systems サービスの 1 つのバックエンドは、複数のストレージプールを公開することができます。

複数のバックエンドを設定する場合、スケジューラーは 1 つのストレージプールを選択し、設定されたすべてのバックエンドで公開されるすべてのプールからリソースを作成します。これは、エンドユーザーから抽象化されます。エンドユーザーは、クラウド管理者が公開する機能のみを認識します。

6.1.2. 複数のバックエンドのデプロイ

デフォルトでは、標準の Shared File Systems デプロイメント環境ファイルには、単一のバックエンドがあります。以下の手順例を使用して、複数のバックエンドを Shared File Systems サービス (manila) に追加し、CephFS-Ganesha および NetApp バックエンドを使用する環境をデプロイします。

前提条件

  • 2 つ以上のバックエンド
  • バックエンドにカスタムコンテナーが必要な場合は、標準の Shared File Systems サービスコンテナーではなく、Red Hat Ecosystem Catalog からのコンテナーを使用する必要があります。たとえば、Ceph と共に Dell EMC Unity ストレージシステムバックエンドを使用する場合は、カタログから Dell EMC Unity コンテナーを選択します。

手順

  1. ストレージのカスタマイズ用の YAML ファイルを作成します。このファイルを使用して、環境に適した値またはオーバーライドを指定できます。

    $ vi /home/stack/templates/storage_customizations.yaml
  2. ストレージのカスタマイズ用の YAML ファイルを設定し、複数のバックエンドを有効にするなど、すべてのオーバーライドを含めます。

    parameter_defaults:
      ManilaEnabledShareProtocols:
        - NFS
      ManilaNetappLogin: '<login_name>'
      ManilaNetappPassword: '<password>'
      ManilaNetappServerHostname: '<netapp-hostname>'
      ManilaNetappVserver: ‘<netapp-vserver>’
      ManilaNetappDriverHandlesShareServers: 'false'
  3. openstack overcloud deploy コマンドを使用して、バックエンドテンプレートを指定します。以下の設定例では、NetApp バックエンドおよび NFS バックエンドに CephFS を使用する Shared File Systems サービスを有効にします。

    注記

    openstack overcloud deploy コマンドを発行する前に、source ~/stackrc を実行します。

    [stack@undercloud ~]$ source ~/stackrc
    $ openstack overcloud deploy \
      --timeout 100 \
      --stack overcloud \
      --templates /usr/share/openstack-tripleo-heat-templates \
      -n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
      -r /home/stack/templates/roles/roles_data.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/manila-netapp-config.yaml \
    -e /home/stack/templates/storage_customizations.yaml \
    ...

関連情報

6.1.3. 複数バックエンドのデプロイメントの確認

manila service-list コマンドを使用して、バックエンドが正常にデプロイされたことを確認します。複数のバックエンドでヘルスチェックを使用する場合、バックエンドの 1 つが応答しなくても ping テストは応答を返すため、ping テストはデプロイメントを検証する信頼できる方法ではありません。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. overcloudrc 認証情報ファイルを入手します。

    $ source ~/overcloudrc
  3. Shared File Systems サービスのバックエンドのリストを確認します。

    $ manila service-list
    
    +----+--------+--------+------+---------+-------+----------------------------+
    | Id | Binary | Host | Zone | Status | State | Updated_at |
    +----+--------+--------+------+---------+-------+----------------------------+
    | 2 | manila-scheduler | hostgroup | nova | enabled | up | 2021-03-24T16:49:09.000000 |
    | 5 | manila-share | hostgroup@cephfs | nova | enabled | up | 2021-03-24T16:49:12.000000 |
    | 8 | manila-share | hostgroup@tripleo_netapp | nova | enabled | up | 2021-03-24T16:49:06.000000 |

    正常にデプロイされた各バックエンドのステータスは enabled と表示され、状態は up が表示されます。

6.1.4. 許可される NAS プロトコルの上書き

Shared File Systems サービスは、NFS、CIFS、または CEPHFS などの数多くのネットワーク接続ストレージ (NAS) プロトコルのいずれかでファイル共有をエクスポートできます。デフォルトでは、Shared File Systems サービスは、デプロイメント内のバックエンドがサポートする NAS プロトコルをすべて有効にします。

Red Hat OpenStack Platform (RHOSP) 管理者は、ManilaEnabledShareProtocols パラメーターを上書きし、クラウドで許可するプロトコルのみをリスト表示することができます。

たとえば、デプロイメントのバックエンドが NFS と CIFS の両方をサポートする場合、デフォルト値を上書きして 1 つのプロトコルのみを有効にすることができます。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. overcloudrc 認証情報ファイルを入手します。

    $ source ~/overcloudrc
  3. ストレージのカスタマイズ用の YAML ファイルを作成します。このファイルは、お使いの環境に適した値やオーバーライドを指定するのに使用できます。

    $ vi /home/stack/templates/storage_customizations.yaml
  4. 必要な値を使用して ManilaEnabledShareProtocols パラメーターを設定します。

    parameter_defaults:
      ManilaEnabledShareProtocols:
        - NFS
        - CEPHFS
  5. -e オプションを使用して、openstack overcloud deploy コマンドに新しいコンテンツが含まれる環境ファイルを追加します。デプロイメントに該当するその他すべての環境ファイルを追加するようにしてください。

    $ openstack overcloud deploy \
    ...
    -e /home/stack/templates/storage_customizations.yaml
    注記

    デプロイメントは設定を検証しません。割り当てる NAS プロトコルは、Shared File Systems サービスのデプロイメントのバックエンドによりサポートされる必要があります。

6.1.5. バックエンド機能の表示

Shared File Systems サービス (manila) のスケジューラーコンポーネントは、複数の要素に基づいて高度な配置決定を行います。これには、容量、プロビジョニング設定、配置ヒント、およびバックエンドストレージシステムドライバーが検出および公開する機能などが含まれます。

手順

  • 利用可能な機能を表示するには、以下のコマンドを実行します。

    $ manila pool-list --detail
    +------------------------------------+----------------------------+
    | Property                           | Value                      |
    +------------------------------------+----------------------------+
    | name                               | hostgroup@cephfs#cephfs    |
    | pool_name                          | cephfs                     |
    | total_capacity_gb                  | 1978                       |
    | free_capacity_gb                   | 1812                       |
    ...
    | driver_handles_share_servers       | False                      |
    | snapshot_support                   | True                       |
    | create_share_from_snapshot_support | False                      |
    | revert_to_snapshot_support         | False                      |
    | mount_snapshot_support             | False                      |
    ...
    +------------------------------------+----------------------------+
    +------------------------------------+-----------------------------------+
    | Property                           | Value                             |
    +------------------------------------+-----------------------------------+
    | name                               | hostgroup@tripleo_netapp#aggr1_n1 |
    | pool_name                          | aggr1_n1                          |
    | total_capacity_gb                  | 6342.1                            |
    | free_capacity_gb                   | 6161.99                           |
    ...
    | driver_handles_share_servers       | False                             |
    | mount_snapshot_support             | False                             |
    | replication_type                   | None                              |
    | replication_domain                 | None                              |
    | sg_consistent_snapshot_support     | host                              |
    | ipv4_support                       | True                              |
    | ipv6_support                       | False                             |
    +------------------------------------+-----------------------------------+
    +------------------------------------+-----------------------------------+
    | Property                           | Value                             |
    +------------------------------------+-----------------------------------+
    | name                               | hostgroup@tripleo_netapp#aggr1_n2 |
    | pool_name                          | aggr1_n2                          |
    | total_capacity_gb                  | 6342.1                            |
    | free_capacity_gb                   | 6209.26                           |
    ...
    | snapshot_support                   | True                              |
    | create_share_from_snapshot_support | True                              |
    | revert_to_snapshot_support         | True                              |
    | driver_handles_share_servers       | False                             |
    | mount_snapshot_support             | False                             |
    | replication_type                   | None                              |
    | replication_domain                 | None                              |
    | sg_consistent_snapshot_support     | host                              |
    | ipv4_support                       | True                              |
    | ipv6_support                       | False                             |
    +------------------------------------+-----------------------------------+

関連情報

配置の決定に影響を及ぼすには、管理者はファイル共有種別および追加の仕様を使用できます。共有種別に関する詳しい情報は、共有種別の作成 を参照してください。