频道栏目
首页 > 系统 > 其他 > 正文

Ceph配置参数(二)

2014-12-12 09:23:38         来源:uj_mosquito的专栏  
收藏   我要投稿

Ceph配置参数(一)

 

6、KEYVALUESTORE CONFIG REFERENCE

 

http://ceph.com/docs/master/rados/configuration/keyvaluestore-config-ref/

 

KeyValueStore is an alternative OSD backend compared to FileStore. Currently, it uses LevelDB as backend. KeyValueStore doesn’t need journal device. Each operation will flush into the backend directly.

 

KeyValueStore所用的后端(leveldb): keyvaluestore backend

 

(1)队列

 

队列上可以存储的最大操作数: keyvaluestore queue max ops

 

队列上可以存储的最大btye数: keyvaluestore queue max bytes

 

(2)线程

 

并行线程数: keyvaluestore op threads

 

文件操作线程超时秒数: keyvaluestore op thread timeout

 

提交一个操作多少秒都可以取消: keyvaluestore op thread suicide timeout

 

(3)MISC

 

条带大小: keyvaluestore default strip size

 

注:每个对象会分割成多个键值对存储在后端

 

header cache大小: keyvaluestore header cache size

 

注:存的东西和文件系统中的inode差不多

 

7、OSD CONFIG REFERENCE

 

http://ceph.com/docs/master/rados/configuration/osd-config-ref/

 

(1)通用设置

 

OSD的UUID: osd uuid

 

注:一个uuid作用于一个OSD Daemon,一个fsid作用于整个cluster,这 两个不 一样

 

OSD数据存储的路径: osd data

 

注:实际底层设备挂载的地方e.g. /var/lib/ceph/osd/$cluster-$id

 

一次写入最大的MB数(默认90): osd max write size

 

在内存中允许存储的最大客户端数据信息(默认500MB): osd client message size cap

 

RADOS class插件地址($libdir/rados-classes): osd class dir

 

(2)文件系统设置

 

生成文件系统的类型: osd mkfs options {fs-type}

 

注:对XFS默认-f -i 2048,其他类型无默认,e.g. osd mkfs options xfs = -f -d agcount=24

 

挂载选项: osd mount options {fs-type}

 

注:对XFS默认rw,noatime,inode64,其他类型rw, noatime,e.g. osd mount options xfs = rw, noatime, inode64, nobarrier, logbufs=8 其中noatime表示取消读文件时记录最后一次读取的时间(access time),节省时间,inode64表示inode数有64位(近乎无限制)现在的很多文件系统会在数据提交时强制底层设备刷新cache,避免数据丢失,称为write barriers。但是,其实我们数据库服务器底层存储设备要么采用RAID卡,RAID卡本身的电池可以掉电保护;要么采用Flash卡,它也有自我保 护机制,保证数据不会丢失。所以我们可以安全的使用nobarrier挂载文件系统。

 

(3)日志设置

 

日志路径: osd journal

 

注: 建议使用硬盘或SSD单独存放,默认/var/lib/ceph/osd/$cluster-$id/journal

 

日志大小(默认5120MB,即5G): osd journal size

注:如果是0表示整个块设备都用来存日志,建议初始设为1G,至少为2 * (expected throughput * filestore max sync interval),其中throughput 为磁盘转速和网络速率的最小值,filestore max sync interval参数在上文filestore参数设置中有解释。

 

(4)SCRUBBING

 

scrubbing相当于一个周期性检查工作,保证数据完整性,对象没有丢失,轻量级的scrubbing每天进行,它检查对象的大小和属性,深度scrubbing每周进行,它读取数据并进行校验和来保证数据的完整性。

 

一个Ceph OSD Daemon内能够同时进行的scrubbing操作(默认1): osd max scrubs

scrub线程超时(默认60秒): osd scrub thread timeout

 

终止一个scrub最终线程(finalize thread)的超时(默认600秒): osd scrub finalize thread   timeout

 

最大负载(超过这个负载scrub不进行): osd scrub load threshold

 

最小scrub间隔(负载低时进行,默认每天): osd scrub min interval

 

最大scrub间隔(不管负载如何,默认每周): osd scrub max interval

 

深层scrub间隔(默认每周): osd deep scrub interval

 

深层scrub时的读大小(默认512K): osd deep scrub stride

 

(5)操作

 

Ceph OSD Daemon 并行线程数(0表示关闭多线程,默认是2): osd op threads

 

客户端操作的优先级(默认63): osd client op priority

 

修复操作的优先级(默认10): osd recovery op priority

 

线程超时(默认30秒): osd op thread timeout

 

一个操作变成 complaint worthy (不造啥意思)的超时(默认30s): osd op complaint time

 

后端磁盘线程数(如scrub操作和snap trimming操作。默认为1): osd disk threads

磁盘线程优先级(默认不设置)类: osd disk thread ioprio class

 

注:idle-磁盘线程优先级比任何一个OSD线程都低,这有助于在一个繁忙的OSD上不让他scrub;rt-磁盘线程优先级比任何一个OSD线程都高,如果scrub比较需要。这个参数要将内核设置为CFQ调度才有用。

 

磁盘线程优先级(默认是-1): osd disk thread ioprio priority

 

注:这个参数要个上面那个参数一起使用,有0-7(最低)个级别,-1表示不设置,单独设置每个OSD scrub的优先级,拥塞或存在IO竞争是可以用这个,这个参数要将内核设置为CFQ调度才有用。

 

可以跟踪到的已完成的操作数量(默认20): osd op history size

 

最老可以跟踪到的已完成的操作(默认600): osd op history duration

 

一次显示多少操作的log(默认5): osd op log threshold

 

(6)BACKFILLING

 

当新加入OSD或删除OSD时,部分PG会迁移已达到新的平衡,这一行为会导致性能下降,为避免性能下降,可以设置迁移为backfill操作,并设置它的优先级低于正常读写。(backfill我猜是先标志一下,等空闲的时候在实际操作)

 

一个OSD运行的最大的backfill操作数(默认10): osd max backfills

 

每一个backfill扫描的最小对象数(默认64): osd backfill scan min

 

每一个backfill扫描的最大对象数(默认512): osd backfill scan max

 

如果OSD Daemon的使用率高于这个值测不响应backfills请求(默认0.85): osd backfill full ratio

 

backfill请求重试间隔(默认10秒): osd backfill retry interval

 

(7)OSD MAP 

 

osd map记录着OSD所有信息,包括节点的改变,加入和退出等等信息,随着集群的运行,这个map会越变越大,一下一些配置保证了在map变大的情况下集群仍然能够运行良好。

 

开启删除Map中的重复内容(默认是true): osd map dedup

 

map的cache大小(默认500MB): osd map cache size

 

OSD进程运行时map在内存中的cache大小(默认50MB): osd map cache bl size

 

OSD进程运行时map在内存中的cache的增量大小: osd map cache bl inc size

 

每个MOSDMap消息的最大的映射项: osd map message max

 

(8)RECOVERY

 

延迟多少秒开始修复对象(默认0): osd recovery delay start

 

每个OSD一次可以接受的修复请求(默认15): osd recovery max active

 

注:增大会加速修复但同时也会增加集群负载

 

修复最大的chunk大小: osd recovery max chunk

 

修复过程的线程数量(默认1): osd recovery threads

 

修复线程超时(默认30s): osd recovery thread timeout

 

在恢复过程中保留克隆重叠(应始终设置为true): osd recover clone overlap

 

(9)杂项

 

snap trim线程的超时设定(默认1小时): osd snap trim thread timeout

 

后台log线程的超时设定(默认1小时): osd backlog thread timeout

 

默认通知超时(默认30s): osd default notify timeout

 

检查日志文件是否损坏(代价大,默认false): osd check for log corruption

 

命令线程超时设定(默认10分钟): osd command thread timeout

 

返回最大的丢失对象数(默认256): osd command max records

 

将tmap用作omap(默认false): osd auto upgrade tmap

 

只将tmap用作调试(默认false): osd tmapput sets users tmap

 

不删减log空间,多用磁盘空间(默认false): osd preserve trimmed log


相关TAG标签 参数
上一篇:线上服务器php5.3.8升级到php5.6.3
下一篇:Ceph配置参数(三)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站