1.3.2. NFS バックエンドへの CephFS の使用
OpenStack Shared File Systems サービス (manila) の NFS バックエンドに CephFS を使用する構成には、Ceph メタデータサーバー (MDS)、NFS バックエンドに CephFS を使用するためのゲートウェイ (NFS-Ganesha)、および Ceph クラスターのサービスコンポーネントが含まれます。Shared File Systems サービスの CephFS NFS ドライバーは、NFS-Ganesha ゲートウェイを使用して NFSv4 プロトコルによる CephFS ファイル共有へのアクセスを提供します。Ceph MDS サービスは、ファイルシステムのディレクトリーおよびファイル名を RADOS クラスターに保管されたオブジェクトにマッピングします。NFS ゲートウェイは、Ceph 等の異なるストレージバックエンドを使用して NFS ファイル共有を提供します。NFS-Ganesha サービスは、Ceph サービスと共にコントローラーノード上で実行されます。
インスタンスは、少なくとも 2 つの NIC と共に起動します。1 つの NIC はテナントのルーターに接続され、2 つ目の NIC は StorageNFS ネットワークに接続され、そこから直接 NFS-Ganesha ゲートウェイに接続されます。インスタンスは、NFS プロトコルを使用してファイル共有をマウントします。Ceph OSD ノードがホストする CephFS ファイル共有は、NFS ゲートウェイを通じて提供されます。
NFS-Ganesha により、ユーザーのインスタンスは MDS および他の Ceph サービスに直接アクセスしなくなるので、セキュリティーが向上します。インスタンスは、Ceph デーモンに直接アクセスしません。
1.3.2.1. Ceph サービスとクライアントアクセス リンクのコピーリンクがクリップボードにコピーされました!
Ceph がオブジェクトストレージおよびブロックストレージを提供する際にデプロイされるモニター、OSD、Rados Gateway (RGW)、およびマネージャーサービスに加えて、CephFS には Ceph メタデータサービス (MDS) が必要です。また、NFS プロトコルを使用するネイティブ CephFS へのゲートウェイとして NFS-Ganesha サービスが必要です。(ユーザーが直接アクセスできるオブジェクトストレージの場合には、RGW サービスもデプロイされます。)ゲートウェイは Ceph パブリックネットワークにアクセスするために CephFS クライアントを実行し、エンドユーザーではなくシステムの管理下に置かれます。
NFS-Ganesha は、Ceph パブリックネットワークおよび新たな分離ネットワーク (StorageNFS) の両方とインターフェースする専用のコンテナー内で実行されます。この分離ネットワークをデプロイしてコントローラーノードに接続するのに、OpenStack director のコンポーザブルネットワーク機能が使用されます。その後、クラウド管理者はネットワークを neutron プロバイダーネットワークとして設定します。
NFS-Ganesha は Ceph パブリックネットワークを通じて CephFS にアクセスし、StorageNFS ネットワーク上のアドレスを使用してその NFS サービスをバインドします。
NFS 共有にアクセスするには、StorageNFS ネットワークに接続される新たな NIC と共に、ユーザー仮想マシン (nova インスタンス) をプロビジョニングします。CephFS ファイル共有のエクスポート場所は、StorageNFS ネットワーク上の NFS-Ganesha サーバーの仮想 IP を使用して、標準的な NFS IP:<path> タプルとして表示されます。ユーザー仮想マシンのアクセス制御は、そのネットワーク上の仮想マシンの IP を使用して行われます。
Neutron セキュリティーグループが、テナント 1 に属するユーザー仮想マシンが StorageNFS ネットワークを通じてテナント 2 に属するユーザー仮想マシンにアクセスするのを防ぎます。テナントは同じ CephFS ファイルシステムを共有しますが、ユーザー仮想マシンはエクスポートツリー下のファイル (/path/to/share1/…、/path/to/share2/…) にしかアクセスできないので、テナントデータパスの分離が確保されます。