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

Ceph配置参数(三)

2014-12-12 09:23:40         来源:uj_mosquito的专栏  
收藏   我要投稿
8、MONITOR CONFIG REFERENCE

 

客户端在读写数据前,都比去和monitor取得联系,获得cluster map,结合CRUSH算法计算得到对象的位置。

 

(1)最小配置

 

生成一个fsid和monitorde的最小配置,配置字段[mon]或[mon.a],ceph监视器默认监听6789端口。

 

主机名(e.g. mon host = hostname1,hostname2,hostname3):  mon host

 

主机IP(e.g. mon addr = 10.0.0.10:6789,10.0.0.11:6789,10.0.0.12:6789): mon addr

 

(2)初始成员

 

必须是个奇数,表示一个初始的最小monitor数,active的monitor达到这个数才能启动。

 

初始monitor成员ID:  mon initial members

 

(3)数据

 

monitor存储数据的路径,因为monitor也是在节点上的,monitor会做很多fsync()操作,影响OSD的工作负载,在0.58以前的版本中,monitor的数据是以文件形式存放的,可以用ls,cat等命令直接查看,但是一致性难以保障。之后的版本,数据以key/value的形式存放,并且需要原子性操作,保证一致性,数据保存路径不建议改动。

 

monitor数据保存路径(e.g. /var/lib/ceph/mon/$cluster-$id): mon data

 

(4)存储容量

 

当集群的使用率接近"最大容量"时,monitor会阻止对OSD的读写请求以避免数据丢失,考虑到多个主机可能同时断电造成集群容量剧减,这个"最大容量"通常小于实际的集群总容量,配置段位[global]。

 

被认为集群已满的最大使用百分比(默认.95): mon osd full ratio

 

被认为集群接近已满的最大使用百分比(默认.85): mon osd nearfull ratio

 

(5)monitor间的同步

 

集群间存在多Monitor共同工作时,存在同步的问题,不必每个monitor都active集群才工作,只要达到最小可工作数量就行了,这个数量在mon initial members中规定,所以有可能一些mon在某一时刻不工作,后来恢复正常后状态就落后了。monitor三种角色:leader,最先获得最新的cluster map;provider,拥有最新的cluster map,但不是最先获得的;requester,状态落后,必须同步后方可工作。

 

在一个同步过程中,requester向leader请求同步,leader负责分派同步工作给provider,并告知requester去找provider,这样做分摊了工作负载。provider以chunk为单位发给requester最新的状态数据,同步完后,requester告知leader完成,leader恢复一个ACK宣布同步结束。

 

同步总是在一个新的monitor加入集群时发生。在运行过程中,cluster map不断更新,这三个角色也不断变化,如果provider接受到同步任务但自身状态落后于leader时,它可以终止同步并告知leader。同步完成后,ceph发出一个trimming,这个操作大概是修剪多余的状态数据,并且这个操作必须在PG状态是active+clean时进行。

 

trimming操作超时(默认30s): mon sync trim timeout

 

同步时心跳超时(monotor之间的心跳检查,默认30s): mon sync heartbeat timeout

 

同步时心跳检查间隔(默认5s): mon sync heartbeat interval

 

同步超时(默认30s): mon sync timeout

 

同步最大重试次数(默认5): mon sync max retries

 

同步最大负载量(默认1045676): mon sync max payload size

 

leader等待requester同步的最大时间(默认10s): mon accept timeout

 

map更新前收集更新信息的时间间隔(默认1s): paxos propose interval

 

收集更新信息的最小时间(默认0.05s): paxos min wait

 

trimming操作前能容忍的最大proposal数(默认30): paxos trim tolerance

 

未trimming时最大的版本数(默认100): paxos trim disabled max versions

 

Monitor版本租约秒数(默认5): mon lease

 

leader去更新其他monitor租约的时间间隔数(默认3s): mon lease renew interval

 

leader等待provider告知其版本的秒数: mon lease ack timeout

 

OSD map维持的最小版本号数量(默认500): mon min osdmap epochs

 

monitor维护的最多的PG map版本号数量(默认500): mon max pgmap epochs

 

monitor保留的最大的log版本号数量(默认500): mon max log epochs

 

(6)时钟

 

不同节点间时钟应该同步,否则一些超时和时间戳相关的机制将无法正确运行,运行又monitor的节点还需要安装NTP来同步时钟。然而NTP 级别的时钟同步还不够,即使NTP同步好,ceph也会报出时钟偏移警告,工作量,网络延迟,配置覆盖等也会对同步有影响。

 

相对于系统时间的偏移: clock offset

 

monitor计时间隔秒数(默认5): mon tick interval

 

monitor间的clock drift(时钟嘀嗒数?,默认.05s): mon clock drift allowed

时钟偏移补偿指数(默认5): mon clock drift warn backoff

 

leader时间检查间隔(默认300s): mon timecheck interval

(7)客户端

 

客户端每隔Ns尝试一个Monitor直到建立连接(默认3): mon client hung interval

 

客户端每个Ns会去ping一个monitor(默认10): mon client ping interval

 

每一个客户端信息产生的log entires数(默认1000): mon client max log entries per message

 

内存中的客户端信息数据大小(默认100ul << 20): mon client bytes

 

(8)杂项

 

集群允许的最大OSD数量(默认10000) : mon max osd

 

集群为客户端和daemon预分配的全局ID数量(默认100): mon globalid prealloc

 

写了这么多个对象后和底层文件系统同步一次(默认5): mon sync fs threshold

 

subscription 间隔秒数(默认500): mon subscribe interval

 

使最近的N个PGmap统计数据呈现平滑趋势(默认2): mon stat smooth intervals

 

monitor在bootstrapping前寻找其他Monitor的时间(默认2s): mon probe timeout

 

元数据和OSD信息可以在内存中驻留的信息大小(默认400ul << 20byte): mon daemon bytes

 

每个事件最大的log entries数(默认4096): mon max log entries per event

9、Heartbeat Settings

 

OSD靠定期检查heartbeat来确认相邻的OSD有没有down,以及在peer过程中检查错误和向monitor汇报自身情况,包括故障发生,PG状态改变,以及检查monitor有没有down。

 

(1)MONITOR SETTINGS

 

向monitor报告down的最小OSD数(默认1): mon osd min down reporters

 

OSD向monitor报告OSD down的最小次数(默认3): mon osd min down reports

 

宣布一个无响应的OSD down的超时(默认900): mon osd report timeout

 

自动标记为out的最大的CRUSH单位类型(默认rack): mon osd downout subtree limit

注:是不是说最大可以标记一个机架out了?

 

标记一个OSD状态为down和out之前ceph等待的秒数(默认300): mon osd down out interval

 

自动标记一个新加入的OSD状态为in(默认true) :mon osd auto mark new in

 

自动标记启动中的OSD状态为in(默认为false): mon osd auto mark in

 

标记在启动过程中被自动标记为out的OSD状态为in(默认true): mon osd auto mark auto out in

 

The minimum ratio of up Ceph OSD Daemons before Ceph will mark Ceph OSD Daemons down(默认.3): mon osd min up ratio

 

The minimum ratio of in Ceph OSD Daemons before Ceph will mark Ceph OSD Daemons out(默认.3): mon osd min in ratio

 

The number of seconds laggy estimates will decay(默认60*60): mon osd laggy halflife

 

The weight for new samples in laggy estimation decay(默认0.3): mon osd laggy weight

 

If set to true, Ceph will scale based on laggy estimations(默认true): mon osd adjust heartbeat grace

 

The weight for new samples in laggy estimation decay(默认.3): mon osd laggy weight

 

(2)OSD SETTINGS

 

心跳检查的OSD网络地址(默认主机IP): osd heartbeat address

 

OSDping它的peer的时间间隔(默认6s): osd heartbeat interval

 

OSD心跳停止间隔(默认20s): osd heartbeat grace

 

OSD ping一个monitor的时间间隔(默认30s): osd mon heartbeat interval

 

OSD报告monitor前等待的最大时间(默认120s): osd mon report interval max

 

OSD报告monitor前等待的最小时间(默认5s): osd mon report interval max

 

monitor恢复ACK的超时(默认30s): osd mon ack timeout

 

10、网络配置

 

(1)集群网络配置

 

         配置字段为[global]

 

公共网络: public network

 

私有网络: cluster network

 

 注:建议私有地址和internet还有公共网络部能互通,这个地址用来做OSD的心跳检查,对象的复制和恢复,单独配置私有地址而不是用公用网络做这些对性能有提升。

 

(2)monitor网络配置

 

配置字段[mon.a]

 

主机名(不要使用loaclhost): host

 

monitor 地址: mon addr

 

(3)OSD网络配置

 

配置字段[osd.0]

 

公共地址: public addr 

 

私有地址: cluster addr

 

(4)绑定

 

OSD和MDS进程绑定的最小端口号(默认6800): ms bind port min

 

OSD和MDS进程绑定的最大端口号(默认:7100): ms bind port max

 

允许进程使用IPV6的地址(默认false): ms bind ipv6

 

(5)TCP

 

开启nodelay选项(默认true): tcp nodelay

 

注:ceph默认关闭了TCP的buffering,使得请求不缓存立即下发,这样增加了网络流量,增加了延迟如果你要传输大量小文件,就把这个选项关了吧。

 

收到网络连接终止时socket缓冲区大小(默认关闭): tcp rcvbuf

 

tcp读超时(默认900s): ms tcp read timeout

 

注:一个客户端请求另一个ceph daemon时需要新建立一个连接,但是又不想关闭现在的连接,现在的连接就不用了,过了这么多秒后,这个连接被标记为空闲状态。

相关TAG标签 参数
上一篇:Ceph配置参数(二)
下一篇:【SVN】SVN设置日志提交限制和日志模板设置(windows下)
相关文章
图文推荐

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

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