3.3. 将纠删代码池添加到 Ceph 文件系统


默认情况下,Ceph 将复制池用于数据池。若有需要,您还可以向 Ceph 文件系统添加额外的擦除数据池。与由复制池支持的 Ceph 文件系统相比,由纠删代码池支持的 Ceph 文件系统 (CephFS) 使用较少的总存储。尽管纠删代码池使用较少的总存储,它们也使用的内存和处理器资源要多于复制池。

重要

CephFS EC 池仅用于归档目的。

重要

对于生产环境,红帽建议为 CephFS 使用默认复制数据池。在 CephFS 中创建内节点,在默认数据池中至少创建一个对象。最好将复制池用于默认数据,以提高小对象写入性能,并提高更新后端的读取性能。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 现有的 Ceph 文件系统.
  • 使用 BlueStore OSD 的池。
  • Ceph 监控节点的根级别访问权限.
  • 安装 attr 软件包。

流程

  1. 为 CephFS 创建纠删代码数据池:

    语法

    ceph osd pool create DATA_POOL_NAME erasure

    示例

    [root@mon ~]# ceph osd pool create cephfs-data-ec01 erasure
    pool 'cephfs-data-ec01' created

  2. 验证是否已添加池:

    示例

    [root@mon ~]# ceph osd lspools

  3. 在纠删代码池中启用覆盖:

    语法

    ceph osd pool set DATA_POOL_NAME allow_ec_overwrites true

    示例

    [root@mon ~]# ceph osd pool set cephfs-data-ec01 allow_ec_overwrites true
    set pool 15 allow_ec_overwrites to true

  4. 验证 Ceph 文件系统的状态:

    语法

    ceph fs status FILE_SYSTEM_NAME

    示例

    [root@mon ~]# ceph fs status cephfs-ec
    cephfs-ec - 14 clients
    =========
    RANK  STATE              MDS                ACTIVITY     DNS    INOS   DIRS   CAPS
     0    active  cephfs-ec.example.ooymyq  Reqs:    0 /s  8231   8233    891    921
           POOL           TYPE     USED  AVAIL
    cephfs-metadata-ec  metadata   787M  8274G
      cephfs-data-ec      data    2360G  12.1T
    
           STANDBY MDS
    cephfs-ec.example.irsrql
    cephfs-ec.example.cauuaj

  5. 将擦除代码的数据池添加到现有的 CephFS 中:

    语法

    ceph fs add_data_pool FILE_SYSTEM_NAME DATA_POOL_NAME

    示例

    [root@mon ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec01

    本例将新数据池 cephfs-data-ec01 添加到现有的 erasure-code 文件系统 cephfs-ec 中。

  6. 验证纠删代码池是否已添加到 Ceph 文件系统中:

    语法

    ceph fs status FILE_SYSTEM_NAME

    示例

    [root@mon ~]# ceph fs status cephfs-ec
    cephfs-ec - 14 clients
    =========
    RANK  STATE              MDS                ACTIVITY     DNS    INOS   DIRS   CAPS
     0    active  cephfs-ec.example.ooymyq  Reqs:    0 /s  8231   8233    891    921
           POOL           TYPE     USED  AVAIL
    cephfs-metadata-ec  metadata   787M  8274G
      cephfs-data-ec      data    2360G  12.1T
     cephfs-data-ec01     data       0   12.1T
    
           STANDBY MDS
    cephfs-ec.example.irsrql
    cephfs-ec.example.cauuaj

  7. 在新目录中设置文件布局:

    语法

    mkdir PATH_TO_DIRECTORY
    setfattr -n ceph.dir.layout.pool -v DATA_POOL_NAME PATH_TO_DIRECTORY

    示例

    [root@mon ~]# mkdir /mnt/cephfs/newdir
    [root@mon ~]# setfattr -n ceph.dir.layout.pool -v cephfs-data-ec01 /mnt/cephfs/newdir

    在本例中,在 /mnt/cephfs/newdir 目录中创建的所有新文件都会继承目录布局,并将数据放在新添加的纠删代码池中。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.