美文网首页Ceph
ceph14.1.x的一下新功能(一)

ceph14.1.x的一下新功能(一)

作者: 月亮之上_cab4 | 来源:发表于2019-03-16 14:42 被阅读0次

            春节假期ceph大佬发布了Nautilus版新功能的介绍,也想来尝尝鲜。于是编译了ceph-14.0.1-3799-g4de85a5版本测试一番。这两天ceph14.1.0正式发布了,又重新安装了写篇测试心得。

            1、通过ceph config配置集群参数

              在ceph13之前的各个版本,参数都是在配置文件中设置,如果更改参数需要向每个ceph节点推送新的配置文件,非常麻烦。麻烦倒是其次,一个不小心就会造成各个节点间配置文件不一致,后续如果出现问题排查会很糟心。到了13版本已经提供了ceph config命令,但是并不完善,很多配置依旧需要手动更改配置文件解决。到了14版本类似问题已经很少了。但是依然有一些需要在链接mon前就要确定的参数,依然需要在配置文件里指定,比如:osd_op_queue就得在配置文件里写明。下面对ceph config做一下说明。

                ceph config dump 会列出所有已经修改的参数列表:

                config set <who> <name> <value>指定组件或者全局设定参数:

                如:在集群层面限制rbd的iops最大为100

                ceph config set global rbd_qos_iops_limit 100

                也可以对具体的进程设置参数,

                如: 告诉osd.0每天0时开始scrub

                ceph config set osd.0 osd_scrub_begin_hour 0

                ceph config rm 删除被参数修改

                如:ceph config rm global rbd_qos_iops_limit

                ceph config log 列出历史上的参数修改记录,每条记录都有唯一标号,它记录了当时的所有配置参数。

    1

                可以使用ceph config reset <int>命令将配置恢复到历史上的一个状态。

                如:ceph config reset 4

                这条命令将集群配置回滚到log id是4的状态。

                  ceph config generate-minimal-conf产生一个最小配置的ceph.conf文件

                  config help <key>列出参数的帮助说明

                  config show-with-defaults <who> 显示一个或一类进程的默认配置

                  config show <who> {<key>}显示一个或一类进程的特定参数的设置

    有了这些方法就不用去一个一个推送配置文件了,一次修改全局生效。参数的动态修改更是省心了很多,再也不用麻烦的使用ceph tell osd.* config set之类的命令。

    2、14版本引入了msgr2

            msgr2支持加密,支持kerberos授权认证等,但是还需要等待一段时间现在还没发体验,但是已经可以使用ceph mon enable-msgr2启用msgr2。这对提高ceph集群的安全性非常有益处,非常期待。在之前的文档都介绍msgr2在3000端口启用,但是实际测试发现,是在3300端口启用,被叫做“IANA monitor port”。

    在msgr.h头文件里定义

    #define CEPH_MON_PORT_IANA      3300  /* IANA monitor port */

    3、ceph14支持pg数减小和pg数根据pool容量自动调整

                在以往版本里ceph的pg_num只能调大不能调小,现在支持pg_num缩小了。这解决了ceph集群缩容时pg_num过大的问题。

                更重要的是14.0.1-3799-g4de85a5开始支持pg_num自动调整,在14.0.1时还没有。要启用这一功能必须启用mgr的pg_autoscaler模块。pg_autoscale模块将根据pool的实际容量调整pg_num数。

                使用ceph mgr module enable pg_autoscaler命令启用mgr的pg自动调整模块。

                ceph osd pool set <pool name> pg_autoscale_mode指定池的pg自动调整模式。pg_autoscale_mode有on、off、warn三个模式。开发版如果不指定模式,将默认将进入warn模式,正式发布的14.1.0必须指定一个模式。ceph osd pool autoscale-status  显示当前pg_num以及将要调整的pg_num数,和相关参数。

    这个功能使运维人员不必再为pg_num的调整而烦心,不过当数据量很大时,调整pg_num带来的集群抖动到底有多大还是未知数,还需要等待正式版出来后大量测试检验。

    4、ceph report也是很全面的命令,会以json格式报告非常全面的集群运行数据

    5、ceph rbd perf image counters 和ceph rbd perf image stats

            这是ceph14新增的两个命令,用来分析image的性能。要启用这个命令,首先要开启mgr的rbd_support模块。命令如下:

              ceph mgr module enable rbd_support

              counters会显示每个image的累计读写iops和累计读写量和平均读写延时。

                stats会显示每个image的即时iops和即时读写速率以及即时读写延时,延时单位是纳秒。

                在ceph14的开发版里有ceph osd perf query add,ceph  osd perf query remove,ceph osd perf counters get等命令,用于收集ceph14内定义的client_id,client_address,pool_id,namespace,osd_id,pg_id,object_name,snap_id这八类io数据。收集条件可以以正则表达式的形式注入,正式的ceph14.1.0把这些命令删除了,但保留了rbd相关的命令。rbd性能分析就是通过object_name类型增加SUBKEYS_QUERY查询条件实现的。查询条件过滤了所有和image相关的几类rbd对象:rbd_header、rbd_object_map、rbd_data、rbd_id,实现对image的io数据统计。不过由于mgr里统计的数据并不持久化,一旦mgr崩溃所有的统计数据都会丢失,或者统计条件超时都会丢失统计数据。

    6、 ceph progress

            用于显示恢复的进度,恢复过程终于可视化了,使运维人员心里踏实很多。

            ceph progress json回馈更详细的进度内容。

            ceph progress clear清除恢复进度。

    7、ceph device

            这也是一个对于ceph运维至关重要的命令,磁盘的健康度直接影响着集群的运行安全,如果能提前预警是再好不过了,这条命令提供了一些帮助。这条命令依赖smartmontools包,之前ceph14的开发版并没有把这条依赖加上,所以要单独安装,正式版不存在这个问题。开发版和正式版的ceph14跟smartctl还不完全匹配或者还没有完全开发完毕,执行ceph device query-daemon-health-metrics osd.13一直报错。

    这条非常诱人的命令只能等待后续完善了。

    8、ceph orchestrator

              这是大神着重提及的一个功能,主要是改善ceph的易用性的。目前它支持rook和ssh两个后端,由于对rook不熟悉,所以以ssh后端为例介绍。

                首先、执行ceph mgr module enable ssh开启mgr的ssh module。

                然后、执行ceph orchestrator set backend ssh开启orchestrator的ssh后端。

               现在就可以开始使用ceph orchestrator相关命令了。但是实际使用还是出错了,因该是mgr的ssh模块没有正确配置的原因。以后有空再深入,这里先跳过了。

    9、ceph telemetry命令用ceph mgr module enable telemetry启用,但是对telemetry不了解也跳过了。

    相关文章

      网友评论

        本文标题:ceph14.1.x的一下新功能(一)

        本文链接:https://www.haomeiwen.com/subject/teolpqtx.html