ceph EC如何设置条带大小

问题描述:
在EC中有条带的概念,条带是编码的最小单位,在Ceph中也有stripe_width这个变量表示条带宽度,系统默认的条带宽度是4096,如果我现在想修改为8192,该怎么办呢?

解决方法:
使用参数:osd_pool_erasure_code_stripe_width
有三种方法来修改条带的宽度:

第一种方法:
这是一种永久性的方法,在config_opts.h文件中修改参数的值,重新编译后可以全局生效,且是永久的,例如:
OPTION(osd_pool_erasure_code_stripe_width, OPT_U32, 8192) // in bytes

第二种方式:
这也是一种永久性的方法,在ceph.conf文件中给参数赋值,这种永久性是基于本次配置文件的。修改方式:
在ceph.conf文件的“[global]” 项下加入:
osd pool erasure code stripe width = 8192

第三种方式:
这是一种临时的方式,使用asok文件来进行注入,再次启动集群后就恢复原样了。具体方式如下所示:
ceph tell osd.* injectargs ‘– osd_pool_erasure_code_stripe_width 8192’
//这里是对所有的osd都修改了 对于其它值 也可以针对某个osd进行修改

使用下面的命令查询修改后的值:
ceph daemon osd.1 config get osd_pool_erasure_code_stripe_width

你可能感兴趣的:(Ceph集锦)