3.3. 创建 Ceph 文件系统


您可以在 Ceph 监控节点上创建多个 Ceph 文件系统(CephFS)。

先决条件

  • 一个运行良好、健康的 Red Hat Ceph Storage 集群。
  • 安装和配置 Ceph 元数据服务器守护进程 (ceph-mds)。
  • Ceph 监控节点的根级别访问权限.
  • Ceph 客户端节点的根级别访问权限。

流程

  1. 配置客户端节点,以使用 Ceph 存储群集。

    1. 启用 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

    2. 安装 ceph-fuse 软件包:

      [root@client ~]# dnf install ceph-fuse
    3. 将 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/

    4. 将 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

    5. 为配置文件设置适当的权限:

      [root@client ~]# chmod 644 /etc/ceph/ceph.conf
  2. 创建 Ceph 文件系统:

    语法

    ceph fs volume create FILE_SYSTEM_NAME

    示例

    [root@mon ~]# ceph fs volume create cephfs01

    重复此步骤以创建额外的文件系统。

    注意

    通过运行此命令,Ceph 会自动创建新的池,并部署新的 Ceph 元数据服务器(MDS)守护进程来支持新文件系统。这也相应地配置 MDS 关联性。

  3. 从 Ceph 客户端验证对新 Ceph 文件系统的访问。

    1. 授权 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=0gid=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。

    2. 将 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

    3. 在 Ceph 客户端节点上,创建一个新目录:

      语法

      mkdir PATH_TO_NEW_DIRECTORY_NAME

      示例

      [root@client ~]# mkdir /mnt/mycephfs

    4. 在 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

    5. 在 Ceph 客户端节点上,列出新挂载点的目录的内容,或者在新挂载点上创建文件。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.