文档
注册
评分
提单
论坛
小智

EC Turbo特性使能

  1. 使能EC Turbo特性。

    创建EC存储池请参考《Ceph对象存储 部署指南(CentOS 7.6&openEuler 20.03)》中的“创建存储池”相关内容。

    • EC数据池的stripe_unit等于256KB。在k=4,m=2的条件下,条带大小(stripe_width)是1MB。EC Turbo对于1MB大小以内的IO有优化效果。
    • EC Turbo使用了isa-l的纠删码库,创建“EC profile”时必须启用isa-l插件,即增加“plugin=isa”参数。同时修改“stripe_unit”为256KB。创建EC profile的命令不能使用参考文档中的命令,正确的创建EC profile的命令是:
      ceph osd erasure-code-profile set myprofile k=4 m=2 crush-failure-domain=osd crush-device-class=hdd plugin=isa stripe_unit=256K  

      当集群的节点数量大于等于6(k+m)时,crush-failure-domain可以配置成host。

    修改ceph.conf,在[global]中增加以下项目。这些参数可以在创建池的前后修改。

    osd_ec_partial_read = true
    osd_ec_partial_write = true
    osd_ec_partial_update = true
    osd_ec_zero_opt = true
    bluestore_kpsallocator_enable = true
    • partial read与 ec 的fast read 冲突。开启osd_ec_partial_read必须关闭osd_pool_default_ec_fast_read(该参数默认关闭),否则partial read无法生效。
    • 上文中的五个参数的默认值为true。用户如果不在ceph.conf中添加这几个参数,系统将生效默认值。如需关闭EC Turbo特性,用户必须在ceph.conf中显示的将参数都改为false。
    • 检查参数当前生效情况,可执行“ceph daemon osd.<OSD编号> config show | grep -E 'osd_ec_partial_read|osd_ec_partial_write|osd_ec_partial_update|osd_ec_zero_opt|bluestore_kpsallocator_enable'”命令。
  2. 配置EC Turbo相关日志参数“kpsec_log_fullpath”,“kpsec_log_level”,“kpsec_log_memlogsize”。

    这些参数可以在ceph.conf的[global]区域中定义。如果用户没有定义这些参数,系统将使用默认值。

    下面列出这些参数的默认值:
    [global]
    ......
    kpsec_log_fullpath = /var/log/ceph/
    kpsec_log_level = CRITICAL/DEBUG
    kpsec_log_memlogsize = 100
    ......
    • EC Turbo的主要业务封装在libkps_ec动态库。该动态库不使用Ceph的日志系统,所以需要新增日志。
    • 一般情况下,Ceph的日志记录在“/var/log/ceph”目录里。如果定义其他目录,用户需要确保Ceph对应用户可以对该目录读写。
    • 日志等级分为文件日志等级和内存日志等级,两个等级需要分别定义。一般情况下内存日志记录的内容比文件日志记录的更详细。日志等级必须在[CRITICAL=0,ERROR=1,WARNING=2,INFORMATION=3,DEBUG=4]中选择。mem_log_size的范围是100-1000。
    • 用户在OSD进程运行时修改kpsec日志参数,需要重启OSD进程使之生效。
    • 如果不方便重启OSD进程,可以使用“ceph tell osd.<OSD编号> injectargs --<参数名>=<参数值>”命令在线修改参数,之后执行“ceph tell osd.<OSD编号> reload_kps_conf”重载kpsec日志参数。
  3. 将ceph.conf推送到各个节点。
    ceph-deploy --overwrite-conf admin {node1} {node2}

    {nodeX}是Ceph的节点名,一条命令可以将ceph.conf推送到集群下的多个节点。推送完成后重启集群。

  4. 验证EC Turbo生效。
    1. 调整ceph-osd的日志等级到20/20。例如修改OSD.3的日志等级。
      ceph daemon osd.3 config set debug_osd 20/20
    2. 执行EC池的数据读写业务,查看编号3的ceph-osd日志。日志中如有“partial_write=1 partial_update=1”的字样表示EC Turbo已生效。

    3. 将该ceph-osd的日志等级改回默认值。
      ceph daemon osd.3 config set debug_osd 0/1
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词