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

        春节假期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不了解也跳过了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容