3.3. 创建 Ceph 文件系统
您可以在 Ceph 监控节点上创建多个 Ceph 文件系统(CephFS)。
先决条件
- 一个运行良好、健康的 Red Hat Ceph Storage 集群。
-
安装和配置 Ceph 元数据服务器守护进程 (
ceph-mds
)。 - Ceph 监控节点的根级别访问权限.
- Ceph 客户端节点的根级别访问权限。
流程
配置客户端节点,以使用 Ceph 存储群集。
启用 Red Hat Ceph Storage Tools 存储库:
Red Hat Enterprise Linux 8
[root@client ~]# subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
[root@client ~]# subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
安装
ceph-fuse
软件包:[root@client ~]# dnf install ceph-fuse
将 Ceph 客户端密钥环从 Ceph 监控节点复制到客户端节点:
语法
scp root@MONITOR_NODE_NAME:/etc/ceph/KEYRING_FILE /etc/ceph/
将 MONITOR_NODE_NAME 替换为 Ceph Monitor 主机名或 IP 地址。
示例
[root@client ~]# scp root@192.168.0.1:/etc/ceph/ceph.client.1.keyring /etc/ceph/
将 Ceph 配置文件从 Ceph 监控节点复制到客户端节点:
语法
scp root@MONITOR_NODE_NAME:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
将 MONITOR_NODE_NAME 替换为 Ceph Monitor 主机名或 IP 地址。
示例
[root@client ~]# scp root@192.168.0.1:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
为配置文件设置适当的权限:
[root@client ~]# chmod 644 /etc/ceph/ceph.conf
创建 Ceph 文件系统:
语法
ceph fs volume create FILE_SYSTEM_NAME
示例
[root@mon ~]# ceph fs volume create cephfs01
重复此步骤以创建额外的文件系统。
注意通过运行此命令,Ceph 会自动创建新的池,并部署新的 Ceph 元数据服务器(MDS)守护进程来支持新文件系统。这也相应地配置 MDS 关联性。
从 Ceph 客户端验证对新 Ceph 文件系统的访问。
授权 Ceph 客户端访问新文件系统:
语法
ceph fs authorize FILE_SYSTEM_NAME CLIENT_NAME DIRECTORY PERMISSIONS
重要PERMISSIONS 支持的值是
r
(读取)和rw
(读/写)。示例
[root@mon ~]# ceph fs authorize cephfs01 client.1 / rw [client.1] key = BQAmthpf81M+JhAAiHDYQkMiCq3x+J0n9e8REK== [root@mon ~]# ceph auth get client.1 exported keyring for client.1 [client.1] key = BQAmthpf81M+JhAAiHDYQkMiCq3x+J0n9e8REK== caps mds = "allow rw fsname=cephfs01" caps mon = "allow r fsname=cephfs01" caps osd = "allow rw tag cephfs data=cephfs01"
注意另外,您可以通过指定
root_squash
选项来添加安全措施。这可防止禁止带有uid=0
或gid=0
的客户端进行写入操作,但仍然允许读操作意外删除场景。示例
[root@mon ~]# ceph fs authorize cephfs01 client.1 / rw root_squash /volumes rw [client.1] key = BQAmthpf81M+JhAAiHDYQkMiCq3x+J0n9e8REK== [root@mon ~]# ceph auth get client.1 [client.1] key = BQAmthpf81M+JhAAiHDYQkMiCq3x+J0n9e8REK== caps mds = "allow rw fsname=cephfs01 root_squash, allow rw fsname=cephfs01 path=/volumes" caps mon = "allow r fsname=cephfs01" caps osd = "allow rw tag cephfs data=cephfs01"
在本例中,除非在
/volumes
目录树中,为文件系统cephfs01
启用了root_squash
。重要Ceph 客户端只能看到它已被授权的 CephFS。
将 Ceph 用户的密钥环复制到 Ceph 客户端节点上:
语法
ceph auth get CLIENT_NAME > OUTPUT_FILE_NAME scp OUTPUT_FILE_NAME TARGET_NODE_NAME:/etc/ceph
示例
[root@mon ~]# ceph auth get client.1 > ceph.client.1.keyring exported keyring for client.1 [root@mon ~]# scp ceph.client.1.keyring client:/etc/ceph root@client's password: ceph.client.1.keyring 100% 178 333.0KB/s 00:00
在 Ceph 客户端节点上,创建一个新目录:
语法
mkdir PATH_TO_NEW_DIRECTORY_NAME
示例
[root@client ~]# mkdir /mnt/mycephfs
在 Ceph 客户端节点上,挂载新的 Ceph 文件系统:
语法
ceph-fuse PATH_TO_NEW_DIRECTORY_NAME -n CEPH_USER_NAME --client-fs=_FILE_SYSTEM_NAME
示例
[root@client ~]# ceph-fuse /mnt/mycephfs/ -n client.1 --client-fs=cephfs01 ceph-fuse[555001]: starting ceph client 2022-05-09T07:33:27.158+0000 7f11feb81200 -1 init, newargv = 0x55fc4269d5d0 newargc=15 ceph-fuse[555001]: starting fuse
- 在 Ceph 客户端节点上,列出新挂载点的目录的内容,或者在新挂载点上创建文件。
其它资源
- 如需更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的为 Ceph 文件系统创建客户端部分。
- 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的将 Ceph 文件系统挂载为内核客户端部分。
- 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的将 Ceph 文件系统挂载为 FUSE 客户端部分。
- 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的 Ceph 文件系统限制和 POSIX 标准 部分。
- 如需了解更多详细信息,请参见 Red Hat Ceph Storage 策略指南中的 池 一章。