4.9. Ceph Object ゲートウェイを使用した NFS の設定


重要

Ceph Object Storage バックエンドを備えた NFS は、包括的な NFS サービスではありません。その目的は主に、NFS ファイルシステムを介してデータを取り込むことにより、ファイルを使用するレガシーアプリケーションを Ceph オブジェクトストレージを使用してオブジェクトストレージにシームレスに移行できるように支援することです。その後、データは S3 バケットとして S3 エンドポイント経由でアクセス可能になります。高可用性や透過的なフェイルオーバーなどの機能を備えた完全な NFS ソリューションを実現するには、CephFS バックエンドがある NFS を使用する必要があります。

NFS サービスは、Cephadm を使用して Ceph Object Storage バックエンドと合わせてデプロイされます。NFS の設定は nfs-ganesha プールに保存され、エクスポートはコマンドラインインターフェイス (CLI) コマンドと Ceph Dashboard を使用して管理されます。詳細は、Ceph Object Storage バックエンドを使用した NFS サービスのデプロイ名前空間の NFS-Ganesha へのエクスポート、および NFS Ganesha エクスポートの管理 を参照してください。

Ceph Object Gateway 名前空間は、従来の HTTP アクセスプロトコル (S3 および Swift) とともに、ファイルベースの NFSv4 プロトコル経由でエクスポートできます。特に、Ceph Object Gateway は、NFS-Ganesha NFS サーバーに組み込むときにファイルベースのアクセスを提供するように設定できるようになりました。

重要

Cephadm ベースまたは Rook ベースのデプロイメントを使用する場合、NFSv4 プロトコルのみがサポートされます。

名前空間の表記規則

NFS は、UNIX 形式のパス名を S3 バケットおよびオブジェクトにマッピングする Amazon Web Services (AWS) 階層名前空間の規則に準拠しています。

アタッチされた名前空間の最上位レベルは、NFS ディレクトリーとして表される S3 バケットで構成されます。バケットに従属するファイルとディレクトリーはそれぞれ、S3 接頭辞と区切り文字の規則に従ってオブジェクトとして表されます。サポートされているパス区切り文字は / のみです。

たとえば、NFS クライアントが /nfs に RGW 名前空間をマウントしている場合、NFS 名前空間内の /nfs/mybucket/www/index.html ファイルは、mybucket バケット/コンテナー内の RGW オブジェクト www/index.html に対応します。

サポートされている操作の制限

Ceph Object Storage NFS インターフェイスは、次の制限付きで、ファイルとディレクトリーに対するほとんどの操作をサポートします。

  • シンボリックリンクを含むリンクはサポートされていません。
  • NFS ACL はサポートされていません。

    • Unix ユーザーおよびグループの所有権と権限がサポートされています。
  • ディレクトリーを移動したり名前を変更したりすることはできません。

    • ファイルはディレクトリー間で移動される場合があります。
  • 完全な順次書き込み I/O のみがサポートされます。

    • 書き込み操作は アップロード に制限されます。
    • ファイルの直接編集などの一般的な I/O 操作の多くは、非順次的な保存を実行するため失敗します。
    • GNU tar の一部のバージョンなど、順次書き込みを行う一部のファイルユーティリティーでは、まれに非順次ストアが原因で失敗する場合があります。
    • NFS 経由でマウントする場合、通常、同期マウントオプションを使用して、順次アプリケーション I/O を NFS サーバーに順次書き込むように制限できます。たとえば、Linux では -osync です。
    • MS Windows など、同期的にマウントできない NFS クライアントは、ファイルをアップロードできません。

4.9.1. NFS-Ganesha への名前空間のエクスポート

Ceph Object Gateway で使用する新たな NFS Ganesha エクスポートを設定するには、Red Hat Ceph Storage Dashboard を使用する必要があります。詳細は、Red Hat Ceph Storage ダッシュボードガイドCeph Dashboard の NFS Ganesha エクスポートの管理 セクションを参照してください。

重要

Ceph Object Gateway を使用する既存の NFS 環境では、現時点で Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 へのアップグレードはサポートされません。

重要

Red Hat は、Ceph Object Gateway を使用した NFS バージョン 4 エクスポートのみをサポートします。

ユーザーレベルの NFS Ganesha エクスポートの作成は、コマンドラインインターフェイス (CLI) しか使用できません。

前提条件

  • 実行中の Red Hat Ceph Storage。
  • ユーザーが作成されている。詳細は、ユーザーの作成 を参照してください。

手順

  1. Cephadm シェルにログインします。

    構文

    [root@host01 ~]# cephadm shell

  2. ルートディレクトリーにユーザーレベルのエクスポートを作成します。

    構文

    ceph nfs export create rgw --cluster-id NFS_CLUSTER_NAME --pseudo-path PATH_FROM_ROOT --user-id USER_ID

    [ceph:root@host01 /]# ceph nfs export create rgw --cluster-id cluster1 --pseudo-path root/testnfs1/ --user-id nfsuser

  3. NFS をマウントします。

    構文

    mount -t nfs IP_ADDRESS:PATH_FROM_ROOT -osync MOUNT_POINT

    [ceph:root@host01 /]# mount -t nfs 10.0.209.0:/root/testnfs1 -osync /mnt/mount1

重要

200 GB を超える大規模なアップロードの場合、-osync を使用してマウントすると、入出力操作に影響する可能性があります。このようなオブジェクトをアップロードするには、マルチパートの S3 を使用します。

注記

バケットに対して setattr を実行すると、バケットを表すパス上の属性の設定が暗黙的に防止されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.