第 4 章 程序错误修复


本节论述了在这个 Red Hat Ceph Storage 发行版本中修复的用户有严重影响的错误。此外,部分还包括之前版本中发现的固定已知问题的描述。

4.1. Cephadm 实用程序

PID 限制已被删除,容器中的工作负载不再崩溃

在以前的版本中,在 Red Hat Enterprise Linux 9 部署中,pid 限制强制限制可在容器中运行的进程数量。因此,某些操作(如 Ceph 对象网关同步)会导致崩溃。

在这个版本中,pid 限制 为所有 Ceph 容器设置 无限,从而防止容器中的工作负载崩溃。

(BZ#2165644)

Cephadm 不再随机临时删除配置和密钥环文件

在以前的版本中,由于在计算客户端 conf 和密钥环时的时间不正确,cephadm 会计算不应放在任何主机上配置和密钥环,然后删除所有它们。

在这个版本中,计算的时间被改变,以保证计算的最新信息。Cephadm 不再随机,临时删除它所管理的配置和密钥环文件。

(BZ#2125002)

Ceph 对象网关守护进程现在可以正确绑定到回送地址

在以前的版本中,当查找主机上的有效 IP 地址来绑定 Ceph 对象网关守护进程时,cephadm 排除回送接口,因此守护进程不会绑定到回环地址。

在这个版本中,Ceph 对象网关守护进程可以通过执行显式检查来绑定到回环地址。如果检测到回环接口,则 127.0.0.1 地址用于 IPv4,::1 用于 IPv6 作为环回地址。

(BZ#2018245)

Cephadm 现在在超过 Ceph 监控存储大小限制后将设备信息分成多个条目

在以前的版本中,当设备信息超过 monitor 存储默认最大大小限制时,cephadm 无法刷新主机并完成大多数操作。这会导致条目大小错误。因此,如果用户有大量磁盘的主机,用户必须提高默认限制。

在这个版本中,如果设备信息空间超过大小限制,则 cephadm 现在会将设备信息分成多个条目。如果用户有大量磁盘的主机,用户不再需要提高 monitor 存储条目大小限制。

(BZ#2053276)

崩溃守护进程现在可以正确地记录崩溃事件并将其报告到存储集群

在以前的版本中,当向存储集群发送崩溃报告时,崩溃守护进程无法正确验证,这会导致它无法正确记录崩溃事件发送到集群。

在这个版本中,崩溃守护进程在发送崩溃报告时可以正确地使用其身份验证信息。现在,它可以正确地记录崩溃事件并将其报告给集群。

(BZ#2062989)

cephadm.log 的日志轮转应该不会再造成问题

在以前的版本中,如果 /var/log/ceph 目录是由 cephadm 以外的其他目录创建的,则 logrotate 命令会导致问题,如 ceph-commonceph-ansible。因此,cephadm.log 无法轮转。

在这个版本中,su root 被添加到 logrotate 配置中,以 root 用户身份轮转。logrotate 命令不再导致 var/log/ceph 目录的所有权出现问题,因此 cephadm.log 会如预期轮转。

(BZ#2099670)

cephadm 日志记录配置已更新。

在以前的版本中,cephadm 脚本将所有输出记录到 stderr。因此,cephadm bootstrap 日志表示部署也被发送到 stderr,而不是 stdout

在这个版本中,cephadm 脚本对某些命令有不同的日志记录配置,用于 bootstrap 现在只会将错误记录到 stderr

(BZ#2103707)

网络检查不再导致主机从监控网络中排除

在以前的版本中,网络检查会失败,因为 cephadm 会查找主机网络和一些配置的公共网络之间的完全匹配。这会导致具有有效网络配置的主机(属于 public_network 的接口)从主机排除在监控网络中。

在这个版本中,它会检查主机网络是否与任何配置的公共网络重叠,而不是查找完全匹配,因此有效的主机不再从监控网络中排除。

(BZ#2104947)

cephadm 不再删除主机级别的 osd_memory_target 配置设置

在以前的版本中,如果将 osd_memory_target_autotune 全局关闭,cephadm 将删除用户在主机级别为 osd_memory_target 设置的值。另外,对于具有 FQDN 名称的主机,虽然 crush map 使用短名称,cephadm 仍会使用 FQDN 设置配置选项。因此,用户无法在主机级别手动设置 osd_memory_targetosd_memory_target 自动性能优化无法使用 FQDN 主机。

在这个版本中,如果 osd_memory_target_autotune 设置为 falseosd_memory_target 配置设置在主机一级不再会被从 cephadm 中删除。在设置主机级别 osd_memory_target 时,它也始终为主机使用短名称。如果在主机级别 osd_memory_target_autotune 被设置为 false,用户可以手动设置 osd_memory_target,并可以选择不从 cephadm 中删除。另外,自动调整应该使用 FQDN 名称添加到 cephadm 中的主机。

(BZ#2107849)

Cephadm 重写 Ceph OSD 配置文件

在以前的版本中,在重新部署 OSD 时,cephadm 不会编写用于 Ceph OSD 的配置,因此当 Ceph 监控守护进程被添加或删除时,OSD 不会在其配置文件中获取更新的监控器配置。

在这个版本中,当重新部署 OSD 和 OSD 配置文件更新时,cephadm 会自动重写配置文件,以便在 monitor 添加或删除 monitor 时显示 monitor 的新位置,而无需用户干预。

(BZ#2111525)

用户现在可以排空在显式放置中列出的主机

在以前的版本中,排空列为显式放置一部分的主机会导致主机无法正确排空,并在排空停止或主机从任何显式放置中删除前,会记录回溯。

在这个版本中,内部实施对显式放置的处理,cephadm 可以确定它是否需要从主机移除守护进程。因此,用户现在可以排空列为显式放置一部分的主机,而无需首先从放置中删除主机。

但是,在删除明确列出主机的主机前,用户仍然需要从任何显式放置中删除主机。

(BZ#2112768)

--apply-spec 选项在 bootstrap 过程中失败时,cephadm 返回非零代码

在以前的版本中,如果操作完成,cephadm bootstrap 始终返回代码 0。如果使用 --apply-spec 选项部署中存在失败,它不会反映返回码中的任何故障。

在这个版本中,当在 bootstrap 中应用规格失败时,cephadm 会返回非零值。

(BZ#2116689)

现在,复杂的 OSD 部署或被共享 DB 设备的替换不需要一次完成

在以前的版本中,当 cephadm 创建 OSD 时,已经用作之前 OSD 的 db 设备的设备被过滤为不可用的设备。因此,复杂的 OSD 部署将设备用作其 DB,但不会一次部署,因为创建后续 OSD 时也不会过滤 DB 设备,即使它们不应遵循 OSD 规格。

在这个版本中,使用共享 DB 设备的复杂 OSD 部署不需要一次性完成。如果用户更新 OSD 规格,使其包含要与规格中已列出的 db 设备配对的额外数据设备,cephadm 应能够创建这些新 OSD。

(BZ#2119715)

如果 cephadm检测到无效的 tuned-profile 规格,则会引发正确的错误

在以前的版本中,cephadm 不会验证 tuned-profile 的 YAML 规格,因此在在无效的 tuned-profile 规格中应用无效和缺失的数据时不会返回错误或警告。

在这个版本中,添加了多个检查来验证 tuned-profile 规格。现在,当 cephadm 检测到无效的 tuned-profile 规格时,会引发正确的错误:

  • YAML 规格中的"settings"中提到无效的可调整。
  • YAML 规格中的"settings"部分为空。
  • 检测到无效的放置。

(BZ#2123609)

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat