5.9. 安装 NFS-Ganesha 网关
Ceph NFS Ganesha 网关是在 Ceph 对象网关基础上构建的 NFS 接口,为应用提供 POSIX 文件系统接口到 Ceph 对象网关,以便在文件系统内将文件迁移到 Ceph 对象存储。
先决条件
-
正在运行的 Ceph 存储集群,最好处于
active + clean
状态。 - 至少一个运行 Ceph 对象网关的节点.
- 在尝试运行 NFS-Ganesha 之前,禁用将运行 NFS-Ganesha 的任何主机上运行的任何内核 NFS 服务实例。如果另一个 NFS 实例正在运行,NFS-Ganesha 将不会启动。
确保 rpcbind 服务正在运行:
# systemctl start rpcbind
注意默认情况下,通常安装提供 rpcbind 的 rpcbind 软件包。否则,请先安装软件包。
如果 nfs-service 服务正在运行,请停止并禁用该服务:
# systemctl stop nfs-server.service # systemctl disable nfs-server.service
流程
在 Ansible 管理节点上执行下列任务:
从示例文件创建
nfss.yml
文件:[root@ansible ~]# cd /usr/share/ceph-ansible/group_vars [root@ansible ~]# cp nfss.yml.sample nfss.yml
将网关主机添加到
[nfss]
组下的/etc/ansible/hosts
文件中,以识别其组成员资格。[nfss] NFS_HOST_NAME_1 NFS_HOST_NAME_2 NFS_HOST_NAME[3..10]
如果主机具有连续命名,则可以使用范围指定符,例如:
[3..10]
。进入 Ansible 配置目录:
[root@ansible ~]# cd /usr/share/ceph-ansible
要将管理员密钥复制到 Ceph 对象网关节点,请取消注释
/usr/share/ceph-ansible/group_vars/nfss.yml
文件中的copy_admin_key
设置:copy_admin_key: true
配置
/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"
警告访问和密钥是可选的,可以生成。
运行 Ansible playbook:
裸机部署:
[ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit nfss -i hosts
容器部署:
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit nfss -i hosts
其它资源