Menu Close

第4章 Shared File Systems サービス

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

前提条件

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

Shared File Systems サービスについて理解および使用するには、以下の概念および手順を使用します。

4.1. Shared File Systems サービス (manila) バックエンド

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

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

4.1.1. 共有ファイルシステムのネットワーク

共有ファイルシステムには、ネットワーク経由でアクセスします。エンドユーザークライアントが Red Hat OpenStack Platform (RHOSP) 仮想マシン、ベアメタルサーバー、およびコンテナーで実行されるワークロードに共有を接続できるように、クラウド上のネットワークのプランニングを行うことが重要です。

エンドユーザーに必要なセキュリティと分離のレベルに応じて、管理者は driver_handles_share_servers パラメーターをtrueまたはfalseに設定できます。

driver_handles_share_servers パラメーターを true に設定すると、サービスは、分離された共有サーバーを使用して、エンドユーザー定義の共有ネットワークに共有をエクスポートできるようになります。

driver_handles_share_servers パラメーターが true の場合、ユーザーはセルフサービス共有ネットワークでワークロードをプロビジョニングできます。これにより、専用のネットワークセグメント上の完全に分離された NAS ファイルサーバーにより共有がエクスポートされるようになります。

エンドユーザーが使用する共有ネットワークは、作成可能なプライベートプロジェクトネットワークと同じになります。管理者は、分離ネットワークをマッピングする物理ネットワークがストレージインフラストラクチャーに拡張するようにする必要があります。

また、プロジェクトネットワークによるネットワークのセグメント化スタイルが、使用するストレージシステムによりサポートされるようにする必要もあります。NetApp ONTAP および Dell EMC PowerMax、Unity、ならびに VNX 等のストレージシステムは、GENEVE または VXLAN 等の仮想オーバーレイセグメント化スタイルをサポートしません。

代替として、オーバーレイネットワークをトップオブラックのスイッチで終端し、プロジェクトネットワークに VLAN 等のよりプリミティブなネットワーク形式を使用することができます。さらに別の方法として、共有プロバイダーネットワーク上の VLAN セグメントを許可するか、ストレージシステムにすでに接続されている既存のセグメント化ネットワークへのアクセスを提供することもできます。

driver_handles_share_servers パラメーターを false に設定すると、ユーザーは自分の共有ネットワーク上に共有を作成できなくなります。代わりに、クライアントをクラウド管理者が設定したネットワークに接続する必要があります。

driver_handles_share_servers パラメーターが false に等しい場合、directorは専用の共有ストレージネットワークを作成できます。たとえば、標準の director テンプレートを使用してネイティブ CephFS バックエンドをデプロイする場合、director は Storage と呼ばれる共有プロバイダーネットワークを作成します。NFSバックエンドを介してCephFSを展開する場合、共有プロバイダーネットワークはStorageNFSと呼ばれます。エンドユーザーは、共有にアクセスするためにクライアントを共有ストレージネットワークに接続する必要があります。

すべての共有ファイルシステムのストレージドライバーが、両方のモードの操作に対応しているわけではありません。選択したモードに関係なく、サービスはハードデータパスのマルチテナンシー分離の保証を確保します。

セルフサービスモデルの一部としてテナントワークロードにハードネットワークパスマルチテナンシー分離保証を提供する場合は、driver_handles_share_servers ドライバーモードをサポートするバックエンドを使用してデプロイする必要があります。

ファイル共有へのネットワーク接続に関する情報は、「ファイル共有へのネットワーク接続の確保」を参照してください。

4.1.2. 共有種別の作成

共有種別は、配置の決定を行う Shared File Systems サービスのスケジューラーへのヒントとして機能します。Red Hat OpenStack Platform (RHOSP) director は default という名前のデフォルト共有種別で Shared File Systems サービスを設定しますが、共有種別を作成する訳ではありません。

重要
Shared File Systems サービスを使用するために、エンドユーザーには少なくとも 1 つの共有種別が必要です。

手順

  1. オーバークラウドをデプロイしたら、クラウド管理者として以下のコマンドを実行して共有種別を作成します。

    # manila type-create default <spec_driver_handles_share_servers>

    <spec_driver_handles_share_servers> パラメーターはブール値で、以下のように設定します。

    • NFS バックエンドに CephFS を使用する構成またはネイティブ CephFS の場合、値は false です。
    • 他のバックエンドの場合、値はtrueまたはfalseになります。Manila<backend>DriverHandlesShareServers パラメーターの値と一致するように <spec_driver_handles_share_servers> を設定します。たとえば、NetApp バックエンドを使用する場合、パラメーターは ManilaNetappDriverHandlesShareServers と呼ばれます。
  2. デフォルトの共有種別に仕様を追加するか、または複数のバックエンドが設定された環境で使用するために追加の共有種別を作成します。たとえば、デフォルトの共有タイプを構成して、CephFS バックエンドと、NetApp driver_handles_share_servers=True バックエンドを使用する追加の共有タイプを選択します。

    (overcloud) [stack@undercloud-0 ~]$ manila type-create default false --extra-specs share_backend_name='cephfs'
    (overcloud) [stack@undercloud-0 ~]$ manila type-create netapp true --extra-specs share_backend_name='tripleo_netapp'
注記

デフォルトでは共有種別はパブリックなので、すべてのクラウドプロジェクトが認識して使用することができます。ただし、特定プロジェクト用にプライベートの共有種別を作成することもできます。プライベートの共有種別を作成する、または追加の共有種別オプションを設定する方法についての詳細は、『Security and Hardening Guide』を参照してください。

4.1.3. 共有種別の一般的な機能

ファイル共有の種別は、ファイル共有の一般的な機能を定義します。共有種別の一般的な機能を確認し、ファイル共有での操作について理解するようにしてください。

表4.1 共有種別の機能

機能詳細

driver_handles_share_servers

true または false

共有ネットワークを使用してファイル共有を作成する権限を付与します。

snapshot_support

true または false

ファイル共有のスナップショットを作成する権限を付与します。

create_share_from_snapshot_support

true または false

共有スナップショットのクローンを作成する権限を付与します。

revert_to_snapshot_support

true または false

ファイル共有を最新のスナップショットに戻す権限を付与します。

mount_snapshot_support

true または false

スナップショットをエクスポートおよびマウントする権限を付与します。

replication_type

dr

障害復旧用のレプリカを作成する権限を付与します。1 度に許可されるアクティブなエクスポートは 1 つだけです。

readable

読み取り専用レプリカを作成する権限を付与します。1 度に許可される書き込み可能なアクティブなエクスポートは 1 つだけです。

writable

読み取り/書き込みレプリカを作成する権限を付与します。共有ごとに 1 度に任意の数のアクティブなエクスポートが許可されます。

availability_zones

1 つまたは複数のアベイラビリティーゾーンの一覧

一覧表示されるアベイラビリティーゾーンでのみ共有を作成する権限を付与します。

4.1.4. 共有種別の検出

クラウドユーザーは、ファイル共有の作成時に共有種別を指定する必要があります。

手順

  1. 利用可能な共有種別を検出します。

    $ manila type-list

    コマンド出力には、共有種別の名前と ID が一覧表示されます。

4.1.5. ファイル共有の作成

データの読み取りと書き込みを行うための共有を作成します。

ファイル共有を作成するには、以下のようなコマンドを使用します。

$ manila create [--share-type <sharetype>] [--name <sharename>] proto GB

以下の値を置き換えます。

  • sharetype は、指定された共有タイプに関連付けられた設定を適用します。

    • オプション: 指定しない場合には、default 共有種別が使用されます。
  • sharenameは共有の名前です。

    • (オプション) ファイル共有名は必須ではありません。また、名前は一意でなくても構いません。
  • protoは、使用する共有プロトコルです。

    • NFSを使用するCephFSの場合、protonfsです。
    • CephFSネイティブの場合、protocephfs です。
    • NetApp および DellEMC ストレージバックエンドの場合、protonfs または cifs です。
  • GB は、ファイル共有のサイズ (GB) に置き換えます。

たとえば、「共有種別の作成」 では、クラウド管理者は CephFS バックエンドを選択する default 共有種別および NetApp バックエンドを選択する netapp という名前の別の共有種別を作成しました。

手順

  1. 共有種別の例を使用して CephFS バックエンド上に share-01 という名前の 10 GB の NFS 共有を作成します。以下の例では、NFS バックエンドに CephFS を使用しています。

    (user) [stack@undercloud-0 ~]$ manila create --name share-01 nfs 10
  2. オプションとして、NetApp バックエンド上に share-02 という名前の 20 GB の NFS 共有を作成します。

    (user) [stack@undercloud-0 ~]$ manila create --name share-02 --share-type netapp --share-network mynet nfs 20

4.1.6. ファイル共有とエクスポート情報の一覧表示

ファイル共有が正常に作成されていることを確認するには、以下の手順を実施します。

手順

  1. ファイル共有を一覧表示します。

    (user) [stack@undercloud-0 ~]$ manila list
    
    +--------------------------------------+----------+-----+-----------+           | ID                                   | Name     | ... | Status    ...
    +--------------------------------------+----------+-----+-----------+
    | 8c3bedd8-bc82-4100-a65d-53ec51b5fe81 | share-01 | ... | available ...
    +--------------------------------------+----------+-----+-----------+
  2. ファイル共有のエクスポート場所を表示します。

    (user) [stack@undercloud-0 ~]$ manila share-export-location-list share-01
    
     +------------------------------------------------------------------
     | Path
     |  172.17.5.13:/volumes/_nogroup/e840b4ae-6a04-49ee-9d6e-67d4999fbc01
     +------------------------------------------------------------------
  3. ファイル共有のパラメーターを表示します。

    manila share-export-location-show <id>
    注記

    この情報は、「ファイル共有のマウント」でファイル共有をマウントする際に使用します。