ceph merged commits – 0301~0318




后面尽量每两周抽时间看下ceph社区merge的pr,水平有限,很多也不理解是做什么的,如有错误请见谅。

看了这半个月大部分提交都是在搞cephadm相关的,也有很多mgr相关的。
我这边更多的是关注核心项目(rbd、rados、cephfs、osd、mon)

mon/MgrMonitor: make ‘mgr fail’ work with no arguments

https://github.com/ceph/ceph/pull/33997

这个commit比较简单,就是原来要fail一个mgr,要传入mgr的名称,现在不需要了,免去了查询active mgr的步骤。

librbd: optimize image copy state machine to use fast-diff

https://github.com/ceph/ceph/pull/33867

这个提交是在rbd-mirror同步image时,充分利用fast-diff这个特性,基于object-map来检查两个snapshot的dirty object,只把dirty的object同步过去,对对象数比较多的size比较大的image来说,会大大提升同步速度。

crimson/heartbeat: report to monitors about osd failure

https://github.com/ceph/ceph/pull/33836

这个是基于crimson实现的新功能,增加了osd故障上报流程。

crimson/osd: add tell command support

https://github.com/ceph/ceph/pull/33847

也是增加新功能,支持tell命令。

nautilus: mon: fix/improve mon sync over small keys

https://github.com/ceph/ceph/pull/33765

这个是backport的提交,用来改进mon启动时同步数据的速度,原来只限制payload size,没有限制每次同步的key的数量,如果数量很多并且size很小,就要花费很多时间。这个提交就是增加限制每次同步的key的数量,进而提高速度。

mon/MonClient: send logs to mon on separate schedule than pings

https://github.com/ceph/ceph/pull/33732

支持单独设置提交cluster log到mon的时间间隔,原来是跟ping消息相同。默认还是1s,增加时延应该可以降低mon(Paxos)的负载。

nautilus: common/blkdev: compilation of telemetry and device backports

https://github.com/ceph/ceph/pull/33726

这个是backport的提交,获取设备metadata的时候支持/dev/disk/by-path这种链接的设备路径。具体是什么用处还没太了解,应该是一堆提交中的一个。