4.8. RADOS


如果池存储零对象,Ceph 会报告 POOL_APP_NOT_ENABLED 警告

在以前的版本中,如果池为空,如果 RGW 池启用了应用程序标签,Ceph 状态将无法报告池应用程序警告。

在这个版本中,即使池存储了 0 个对象,Ceph 也会报告 POOL_APP_NOT_ENABLED 警告。

Bugzilla:2029585

在扩展集群的两个站点之间为不均匀的 OSD 权重添加检查

在以前的版本中,扩展集群部署后没有检查相等的 OSD 权重。因此,用户可以使 OSD 权重不相等。

在这个版本中,在扩展集群的两个站点间添加了不均匀的 OSD 权重。集群现在在两个站点之间提供有关不均匀 OSD 权重的警告。

Bugzilla:2125107

当设置了 norecover 标志时,自动扩展不再运行

在以前的版本中,当设置 norecover 标志时,自动扩展会运行,从而导致创建新 PG,而这些 PG 需要回填。当缺少或降级对象时出现允许 norecover 标志时运行自动扩展,以避免客户端 I/O 无限期挂起。

在这个版本中,当设置了 norecover 标志时,自动扩展不会运行。

Bugzilla:2134786

ceph config dump 命令输出现在一致

在以前的版本中,没有用户打印格式化的输出的 ceph config dump 命令会显示 localized 选项名称及其值。规范化与本地化选项的示例如下:

Normalized: mgr/dashboard/ssl_server_port

Localized: mgr/dashboard/x/ssl_server_port

但是,该命令的用户打印(例如 JSON)版本仅显示规范化选项名称,如上例中所示。在没有 pretty-print 选项的情况下,ceph config dump 命令结果不一致。

在这个版本中,输出一致,在使用 ceph config dump --format TYPE 命令时始终显示 localized 选项名称,TYPE 作为 pretty-print 类型。

Bugzilla:2213766

MGR 模块每分钟不再占用一个 CPU 内核,CPU 使用量是正常的

在以前的版本中,从放置组 auto-scaler 模块获取 OSDMap 的昂贵调用从 monitor 获取 OSDMap,这会导致 MGR 模块每分钟占用一个 CPU 内核。因此,MGR 守护进程中的 CPU 使用率很高。

在这个版本中,从放置组 auto-scaler 模块进行的 OSD map 调用数量会减少。CPU 用量现在正常。

Bugzilla:2241030

OSD 父(主机)的正确 CRUSH 位置是确定的

在以前的版本中,当启用 osd_memory_target_autotune 选项时,内存目标会在主机级别应用。这可以通过在自动调整内存时使用主机掩码来完成。但是,应用到内存目标的代码不会决定父主机的 CRUSH 位置,以使更改传播到主机的 OSD。因此,由机器配置观察器托管的 OSD 都不会获得通知,osd_memory_target 对于那些 OSD 集合,osd_memory_target 保持不变。

在这个版本中,OSD 父(主机)的正确 CRUSH 位置取决于主机掩码。这允许更改传播到主机上的 OSD。每当 auto-tuner 应用新的 osd_memory_target 且更改反映时,机器托管的所有 OSD 都会获得通知。

Bugzilla:2244604

监控在崩溃/关闭测试过程中不再处于选举状态

在以前的版本中,只有进入 stretch_mode 时才会填充 MonitorMap 的 disallowed_leaders 属性。但是,在有些情况下,被 revived 不会立即进入 stretch_mode 实例,因为它们将处于 probing 状态。这会导致跨集群的监控器之间设置的 disallowed_leaders 不匹配。因此,监控器无法选举领导机,选举会卡住,从而导致 Ceph 无响应。

在这个版本中,监控器不必处于 stretch_mode 来填充 disallowed_leaders 属性。监控在崩溃/关闭测试过程中不再处于选举状态。

Bugzilla:2248939

'error get attr on' 信息不再发生

在以前的版本中,当使用-- op 列表 时,ceph-objectstore-tool 列出 pgmeta 对象,从而导致 "Error get attr on" 信息。

在这个版本中,会跳过 pgmeta 对象,并不再显示错误消息。

Bugzilla:2251004

分配器中的 LBA 校准不再被使用,因为分配失败,OSD 守护进程不会 assert

在以前的版本中,OSD 守护进程会断言,无法重启,这有时可能会导致数据不可用或数据丢失。如果分配器被分配给 4000 请求并配置了不同的分配单元,则会发生此情况,因为 OSD 守护进程不会 assert。

在这个版本中,分配器中的 LBA 校准不会被使用,OSD 守护进程不会因为分配失败而断言。

Bugzilla:2260306

使用 "libcephsqlite" 库的 sqlite 数据库不再被破坏,因为简短的读取无法正确为零内存页面失败。

在以前的版本中,"libcephsqlite"无法正确处理简短的读取,这可能会导致 sqlite 数据库崩溃。

在这个版本中,"libcephsqlite"零页可以正确地进行简短的读取,以避免潜在的崩溃。

Bugzilla:2240139

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.