6.9. RADOS
Progress 模块不再会被无限期的卡住
在以前的版本中,Ceph 状态中的进度 vents 会被无限期的卡住。这是因为 Progress 模块尽早检查 PG 状态,而不与 OSD map 的 epoch 同步。在这个版本中,进度事件按预期弹出。
导致 Ceph Monitor 崩溃的进度模块
在回填和恢复操作期间,progress 模块可以生成负进度事件。对于大型存储集群,太多的负进度事件可能会导致 Ceph Monitor 节点上的大型内存分配,从而导致 Ceph Monitor 崩溃。在这个版本中,代码可确保进度事件不为负数。因此,progress 模块不会导致 Ceph monitor 崩溃。
Ceph 监控现在在处理转发 OSD 故障报告时要小心
在以前的版本中,Ceph monitor 会错误地向管理员和日志记录系统报告速度较慢的操作。在这个版本中,Ceph monitor 会谨慎处理转发 OSD 故障报告,因此速度较慢的操作可能会发生很多。
适当地监控 osdmaps
在以前的版本中,尽管 monitor 已被"out" OSD 使用,但 monitor 无法修剪 stm stale osdmaps,因为在修剪 osdmaps 时监控器同时考虑了"in"和"out" OSD。在这个版本中,不会考虑"out" OSD,并且 osdsmaps 被正确修剪。
在混合集群中,BlueStore 和 FileStore OSD 以相同的顺序列出对象
在以前的版本中,在使用 BlueStore 和 FileStore OSD 的集群中,深度清理和回填可能会报告因为后端中的排序机制不一致而缺少的对象。在这个版本中,添加了一个功能标记 OSD_FIXED_COLLECTION_LIST
,以确保 BlueStore 中的 collection_list
方法以与 FileStore 相同的顺序列出对象。
创建的日志文件带有不正确的权限
在以前的版本中,代码加法改变了相关功能的调用顺序。这会导致一些守护进程创建具有不正确权限的日志文件。在这个版本中,以正确的顺序调用功能,守护进程会创建具有正确权限的日志文件。
启用 bluefs_buffered_io
可防止性能下降
在以前的版本中,禁用了 bluefs_buffered_io
选项,这会导致在某些情况下 RocksDB 和 OMAP 交互速度较慢。在此发行版本中,选项 bluefs_buffered_io
设置为 True
,从而防止性能下降。
现在控制 onodes 内存增长
在以前的版本中,bluestore_cache_trim_max_skip_pinned
选项的默认值为 64,大型集群非常低。由于这个选项控制修剪 onodes 的速度,使用当前的默认值,所以可能会导致 onode 的构建导致内存增长。在这个版本中,bluestore_cache_trim_max_skip_pinned' 的默认值是 1000,内存增长会被控制。