Menu Close

5.9. NFS-Ganesha ゲートウェイのインストール

Ceph NFS Ganesha ゲートウェイは、Ceph Object Gateway 上に構築される NFS インターフェースで、ファイルシステム内のファイルを Ceph Object Storage に移行するために POSIX ファイルシステムインターフェースを使用するアプリケーションを Ceph Object Gateway に提供します。

前提条件

  • 稼働中の Ceph ストレージクラスター (active + clean の状態が望ましい)。
  • Ceph Object Gateway を実行するノードを少なくとも 1 つ。
  • NFS-Ganesha を実行する前に、NFS-Ganesha を実行するホストで実行中のカーネル NFS サービスインスタンスをすべて無効にします。NFS-Ganesha は、別の NFS インスタンスが実行している場合は起動しません。

*パスワードなしの SSH アクセスの有効化

  • rpcbind サービスが実行していることを確認します。

    # systemctl start rpcbind
    注記

    rpcbind を提供する rpcbind パッケージは通常、デフォルトでインストールされます。そうでない場合は、最初にパッケージをインストールします。

  • nfs-service サービスが実行中である場合は、これを停止して無効にします。

    # systemctl stop nfs-server.service
    # systemctl disable nfs-server.service

手順

Ansible 管理ノードで以下のタスクを実行します。

  1. サンプルファイルから nfss.yml ファイルを作成します。

    [root@ansible ~]# cd /usr/share/ceph-ansible/group_vars
    [root@ansible ~]# cp nfss.yml.sample nfss.yml
  2. [nfss] グループの下にゲートウェイホストを /etc/ansible/hosts ファイルに追加して、Ansible へのグループメンバーシップを特定します。

    [nfss]
    NFS_HOST_NAME_1
    NFS_HOST_NAME_2
    NFS_HOST_NAME[3..10]

    ホストに連続する命名がある場合は、[3..10] のように範囲指定子を使用できます。

  3. Ansible 設定ディレクトリーに移動します。

    [root@ansible ~]# cd /usr/share/ceph-ansible
  4. 管理者キーを Ceph Object Gateway ノードにコピーするには、/usr/share/ceph-ansible/group_vars/nfss.yml ファイルの copy_admin_key 設定をコメント解除します。

    copy_admin_key: true
  5. /usr/share/ceph-ansible/group_vars/nfss.yml ファイルの FSAL (File System Abstraction Layer) セクションを設定します。エクスポート ID (NUMERIC_EXPORT_ID)、S3 ユーザー ID (S3_USER)、S3 アクセスキー (ACCESS_KEY)、およびシークレットキー (SECRET_KEY) を提供します。

    # FSAL RGW Config #
    
    ceph_nfs_rgw_export_id: NUMERIC_EXPORT_ID
    #ceph_nfs_rgw_pseudo_path: "/"
    #ceph_nfs_rgw_protocols: "3,4"
    #ceph_nfs_rgw_access_type: "RW"
    ceph_nfs_rgw_user: "S3_USER"
    ceph_nfs_rgw_access_key: "ACCESS_KEY"
    ceph_nfs_rgw_secret_key: "SECRET_KEY"
    警告

    アクセスおよびシークレットキーは任意で、生成できます。

  6. Ansible Playbook を実行します。

    1. ベアメタル デプロイメント:

      [ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit nfss -i hosts
    2. コンテナー デプロイメント:

      [ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit nfss -i hosts