6.4. 通过 NFS 协议导出 Ceph 文件系统命名空间(有限的可用性)
Ceph 文件系统(CephFS)命名空间可通过 NFS 协议使用 NFS Ganesha 文件服务器导出。要导出 CephFS 命名空间,您必须首先有一个正在运行的 NFS Ganesha 集群。
该技术是有限可用性。如需更多信息,请参阅 已弃用的功能 章节。
红帽只支持 NFS 版本 4.0 或更高版本。
NFS 客户端无法通过其原生 NFS 挂载创建 CephFS 快照。它们必须使用服务器端操作器工具来满足快照的需求。
先决条件
- 一个运行良好、健康的 Red Hat Ceph Storage 集群。
-
使用
ceph nfs cluster create
命令创建的 NFS 集群。
流程
创建 CephFS 导出:
对于 Red Hat Ceph Storage 5.0,按如下所示创建导出:
语法
ceph nfs export create cephfs FILE_SYSTEM_NAME CLUSTER_NAME BINDING [--readonly] [--path=PATH_WITHIN_CEPHFS]
ceph nfs export create cephfs FILE_SYSTEM_NAME CLUSTER_NAME BINDING [--readonly] [--path=PATH_WITHIN_CEPHFS]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph nfs export create cephfs cephfs01 nfs-cephfs /ceph --path=/
[ceph: root@host01 /]# ceph nfs export create cephfs cephfs01 nfs-cephfs /ceph --path=/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Red Hat Ceph Storage 5.1 及更高版本,按如下所示创建导出:
语法
ceph nfs export create cephfs CLUSTER_NAME BINDING FILE_SYSTEM_NAME [--readonly] [--path=PATH_WITHIN_CEPHFS]
ceph nfs export create cephfs CLUSTER_NAME BINDING FILE_SYSTEM_NAME [--readonly] [--path=PATH_WITHIN_CEPHFS]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph nfs export create cephfs nfs-cephfs /ceph cephfs01 --path=/
[ceph: root@host01 /]# ceph nfs export create cephfs nfs-cephfs /ceph cephfs01 --path=/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,BINDING (
/ceph
)是伪根路径,该路径必须是唯一且绝对路径。注意--readonly
选项导出具有只读权限的路径,默认是读取和写入权限。注意PATH_WITHIN_CEPHFS 可以是一个子卷。您可以使用以下命令获取绝对路径:
语法
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME [--group_name SUBVOLUME_GROUP_NAME]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs subvolume getpath cephfs sub0
[ceph: root@host01 /]# ceph fs subvolume getpath cephfs sub0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
根据伪根名称查看导出块:
语法
ceph nfs export get CLUSTER_NAME BINDING
ceph nfs export get CLUSTER_NAME BINDING
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出 NFS 导出:
语法
ceph nfs export ls CLUSTER_NAME [--detailed]
ceph nfs export ls CLUSTER_NAME [--detailed]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 NFS 导出的信息:
语法
ceph nfs export info CLUSTER_NAME [PSEUDO_PATH]
ceph nfs export info CLUSTER_NAME [PSEUDO_PATH]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在客户端主机上挂载导出的 Ceph 文件系统:
语法
mount -t nfs -o port=GANESHA_PORT HOST_NAME:BINDING LOCAL_MOUNT_POINT
mount -t nfs -o port=GANESHA_PORT HOST_NAME:BINDING LOCAL_MOUNT_POINT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
mount -t nfs -o port=2049 host01:/ceph/ /mnt/nfs-cephfs
[root@client01 ~]# mount -t nfs -o port=2049 host01:/ceph/ /mnt/nfs-cephfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在启动时自动挂载,请通过添加新行来打开并编辑
/etc/fstab
文件:语法
HOST_NAME:BINDING LOCAL_MOUNT_POINT nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
HOST_NAME:BINDING LOCAL_MOUNT_POINT nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
host01:/ceph/ /mnt/nfs-cephfs nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
host01:/ceph/ /mnt/nfs-cephfs nfs4 defaults,seclabel,vers=4.2,proto=tcp,port=2049 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在客户端主机上,挂载使用
入口
服务创建的导出的 NFS Ceph 文件系统:语法
mount -t nfs VIRTUAL_IP_ADDRESS:BINDING LOCAL_MOUNT_POINT
mount -t nfs VIRTUAL_IP_ADDRESS:BINDING LOCAL_MOUNT_POINT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 VIRTUAL_IP_ADDRESS 替换为用于创建 NFS 集群的
--ingress
--virtual-ip
IP 地址。 - 使用伪根路径替换 BINDING。
使用挂载点替换 LOCAL_MOUNT_POINT 以挂载导出。
示例
mount -t nfs 10.10.128.75:/nfs-cephfs /mnt
[root@client01 ~]# mount -t nfs 10.10.128.75:/nfs-cephfs /mnt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例在挂载点
/mnt
上挂载一个 NFS 集群(使用--ingress --virtual-ip 10.10.128.75
创建的导出nfs-cephfs
)。
-
将 VIRTUAL_IP_ADDRESS 替换为用于创建 NFS 集群的