ceph 性能调整和基准
ceph 性能综述
一般ceph性能影响因素——硬件水平
ceph 性能调整——软件水平
ceph 擦除码
ceph cache 层次、等级
ceph 基准 使用 RADOs 工作台
性能调整 软件水平
ceph的配置文件ceph.conf里面,global 部分是全局的,
如果其他部分(mon,mds,osd)部分重复定义了global里面已有的参数,
则以其他(mon,mds,osd)的参数为准。
集群性能调整
1、global 部分:
网络:
ceph 集群最好有2个网络:public 网络主要用于客户端与集群的交互
语法:`public network = {public network / netmask}`
例子:`public network = 192.168.100.0/24`
cluster 网络是集群内部各节点使用,如数据复制、恢复,再平衡和心跳监测等
(从性能考虑,带宽最好为 10Gb 或 41Gb)
语法:`cluster network = {cluster network / netmask}`
例子:`cluster network = 192.168.1.0/24`
Max open files:
此参数默认为0,我们可以设置一个能到2^64的整数
例子:`max open files = 131072`
2、osd 部分
XATTRSAs: 对存储文件元数据很有用
例子:filestore xattr use omap = true
Filestore sync interval:定义日志盘和数据盘同步的最短和最长时间间隔
例子:filestore min sync interval = 10
filestore max sync interval = 15
Filestore queue: 对性能影响较小
例子:filestore queue max ops = 25000
filestore queue max bytes = 10485760
filestore queue committing max ops = 5000
filestore queue committing max bytes = 10485760000
filestore op threads = 32
OSD config 调整:
例子:osd max write size = 512
osd client message size cap = 2048
osd deep scrub stride = 131072
osd op threads = 16
osd disk threads = 4
osd map cache size = 1024
osd map cache bl size = 128
osd mount options xfs =
"rw,noatime,inode64,logbsize=256k,delaylog,allocsize=4M"
OSD recovery 调整:
osd recovery op priority = 4
osd recovery max active = 10
osd recovery max backfills = 4
3.client 调整参数
rbd cache = true
rbd cache size = 268435456 # 单位是bytes
rbd cache max dirty = 134217728 # 单位是bytes
rbd cache max dirty age = 5 #单位是秒
性能调整 硬件水平
1、ceph 支持不同的硬件组合在一起使用
2、对于一般的 osd 节点,使用双核的处理器就可以了
如何以 擦除码 的方式 使用osd ,最好使用 四核的处理器,因为 擦除码操作需要很多计算。
对于ceph的 MDS 节点,使用四核的处理器比较好一些
3、从性能角度考虑,osd 的日志推荐用 SSD :可以大幅提高吞吐率,通过减少进入时间和读时延。
为实现SSD较好的性能,每个SSD硬盘上不能存超过4个osd的日志
擦除码
n = k + m
K: 是原始数据分成的份数
M:在原始数据上添加的
例子:
n = k + m
similarly, 5 = 3 + 2
hence n = 5 , k = 3 and m = 2
说明:ceph 数据恢复最少需要n 块中的k 块 数据块来进行数据恢复,
即最多允许 m 块数据块不可用; Encoding rate = k/n=0.6
存储空间需求=1/(Encoding rate)=1/0.6=1.6:如果1G的数据,需要1.6G的空间来存放、
优点:
1、相比 replicated pool ,erasure-coded pool 需要较少的存储空间,但是以性能为代价的。
当数据比较多时,数据恢复时,erasure-coded pool恢复较慢。
2、冷存储是erasure code 的一个很好的实例,省钱
本文出自“he ivy”的博客,转载请务必保留此出处:http://blog.csdn.net/heivy/article/details/51133802