后面尽量每两周抽时间看下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这种链接的设备路径。具体是什么用处还没太了解,应该是一堆提交中的一个。