3.6. 将 Ceph 文件系统挂载为 FUSE 客户端
您可以将 Ceph 文件系统 (CephFS) 作为文件系统挂载到 User Space (FUSE) 客户端中,也可以手动在系统引导时自动挂载。
先决条件
- 对基于 Linux 的客户端节点的根级别访问权限.
- Ceph 监控节点的根级别访问权限.
- 现有的 Ceph 文件系统.
流程
配置客户端节点,以使用 Ceph 存储群集。
启用 Red Hat Ceph Storage 6 Tools 存储库:
Red Hat Enterprise Linux 8
[root@client01 ~]# subscription-manager repos --enable=6-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
[root@client01 ~]# subscription-manager repos --enable=6-tools-for-rhel-9-x86_64-rpms
安装
ceph-fuse
软件包:[root@client01 ~]# dnf install ceph-fuse
在监控节点上登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell
将 Ceph 客户端密钥环从 Ceph 监控节点复制到客户端节点:
语法
scp /ceph.client.ID.keyring root@CLIENT_NODE_NAME:/etc/ceph/ceph.client.ID.keyring
将 CLIENT_NODE_NAME 替换为 Ceph 客户端主机名或 IP 地址。
示例
[ceph: root@host01 /]# scp /ceph.client.1.keyring root@client01:/etc/ceph/ceph.client.1.keyring
将 Ceph 配置文件从 Ceph 监控节点复制到客户端节点:
语法
scp /etc/ceph/ceph.conf root@CLIENT_NODE_NAME:/etc/ceph/ceph.conf
将 CLIENT_NODE_NAME 替换为 Ceph 客户端主机名或 IP 地址。
示例
[ceph: root@host01 /]# scp /etc/ceph/ceph.conf root@client01:/etc/ceph/ceph.conf
在客户端节点中,为配置文件设置适当的权限:
[root@client01 ~]# chmod 644 /etc/ceph/ceph.conf
- 选择 自动 或 手动 挂载.
手动挂载
在客户端节点上,为挂载点创建一个目录:
语法
mkdir PATH_TO_MOUNT_POINT
示例
[root@client01 ~]# mkdir /mnt/mycephfs
注意如果您将
path
选项与 MDS 功能一起使用,则挂载点必须在pat
中指定的范围内。使用
ceph-fuse
实用程序挂载 Ceph 文件系统。语法
ceph-fuse -n client.CLIENT_ID --client_fs FILE_SYSTEM_NAME MOUNT_POINT
示例
[root@client01 ~]# ceph-fuse -n client.1 --client_fs cephfs01 /mnt/mycephfs
注意如果您不使用用户密钥环的默认名称和位置,即
/etc/ceph/ceph.client.CLIENT_ID.keyring
,则使用--keyring
选项指定用户密钥环的路径,例如:示例
[root@client01 ~]# ceph-fuse -n client.1 --keyring=/etc/ceph/client.1.keyring /mnt/mycephfs
注意使用
-r
选项指示客户端将该路径视为其根路径:语法
ceph-fuse -n client.CLIENT_ID MOUNT_POINT -r PATH
示例
[root@client01 ~]# ceph-fuse -n client.1 /mnt/cephfs -r /home/cephfs
注意如果要自动重新连接被驱除的 Ceph 客户端,请添加
--client_reconnect_stale=true
选项。示例
[root@client01 ~]# ceph-fuse -n client.1 /mnt/cephfs --client_reconnect_stale=true
验证文件系统是否已成功挂载:
语法
stat -f MOUNT_POINT
示例
[root@client01 ~]# stat -f /mnt/cephfs
自动挂载
在客户端节点上,为挂载点创建一个目录:
语法
mkdir PATH_TO_MOUNT_POINT
示例
[root@client01 ~]# mkdir /mnt/mycephfs
注意如果您将
path
选项与 MDS 功能一起使用,则挂载点必须在pat
中指定的范围内。编辑
/etc/fstab
文件,如下所示:语法
#DEVICE PATH TYPE OPTIONS DUMP FSCK HOST_NAME:PORT, MOUNT_POINT fuse.ceph ceph.id=CLIENT_ID, 0 0 HOST_NAME:PORT, ceph.client_mountpoint=/VOL/SUB_VOL_GROUP/SUB_VOL/UID_SUB_VOL, HOST_NAME:PORT:/ ceph.client_fs=FILE_SYSTEM_NAME,ceph.name=USERNAME,ceph.keyring=/etc/ceph/KEYRING_FILE, [ADDITIONAL_OPTIONS]
第一列 设置 Ceph monitor 主机名和端口号。
第二列 设置挂载点
第三列为 CephFS 设置文件系统类型,本例中为
fuse.ceph
。第四列设置各种选项,如使用
ceph.name
和ceph.keyring
选项的用户名和密钥环。您还可以使用ceph.client_mountpoint
选项设置特定的卷、子卷组和子卷。要指定可访问的 Ceph 文件系统,请使用ceph.client_fs
选项。设置_netdev
选项,以确保在网络子系统启动后挂载文件系统,以防止挂起和网络问题。如果您不需要访问时间信息,则设置noatime
选项可提高性能。如果要在驱除后自动重新连接,请设置client_reconnect_stale=true
选项。将第五个和第六个列设为零。
示例
#DEVICE PATH TYPE OPTIONS DUMP FSCK mon1:6789, /mnt/mycephfs fuse.ceph ceph.id=1, 0 0 mon2:6789, ceph.client_mountpoint=/my_vol/my_sub_vol_group/my_sub_vol/0, mon3:6789:/ ceph.client_fs=cephfs01,ceph.name=client.1,ceph.keyring=/etc/ceph/client1.keyring, _netdev,defaults
Ceph 文件系统将挂载到下一次系统启动时。
其它资源
-
ceph-fuse(8)手册页
。 - 有关创建 Ceph 用户 的更多详细信息,请参见 Red Hat Ceph Storage Administration Guide 中的 Ceph 用户管理一章。
- 详情请参阅 Red Hat Ceph Storage File System Guide 中的 Creating Ceph File Systems 部分。
其它资源
- 请参阅 第 2.5 节 “使用 Ceph Orchestrator 管理 MDS 服务” 来安装 Ceph 元数据服务器。
- 详情请查看 第 3.2 节 “创建 Ceph 文件系统”。
- 详情请查看 第 3.4 节 “为 Ceph 文件系统创建客户端用户”。
- 详情请查看 第 3.5 节 “将 Ceph 文件系统挂载为内核客户端”。
- 详情请查看 第 3.6 节 “将 Ceph 文件系统挂载为 FUSE 客户端”。
- 有关配置 CephFS 元数据服务器守护进程的详细信息,请参阅 第 2 章 Ceph 文件系统元数据服务器。