第 4 章 程序错误修复
本节论述了在这个 Red Hat Ceph Storage 发行版本中修复的用户有严重影响的错误。此外,部分还包括之前版本中发现的固定已知问题的描述。
4.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
如果在初始 Ceph 配置中以逗号分隔的 IP 列表作为公共网络传递,则 Bootstrap 不再会失败
在以前的版本中,如果列表加引号,cephadm
bootstrap 会错误地解析以逗号分隔的 IP 地址列表。因此,如果以逗号分隔的 IP 地址列表(如 '172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24')作为公共_network 提供,在初始 Ceph 配置中以 public_network
提供,使用- config
参数传递给 bootstrap。
在这个版本中,您可以在传递给 public_network
或 cluster_network
的初始 Ceph 配置中,输入以逗号分隔的 IP 列表,它可以正常工作。
Cephadm
不再尝试解析提供的 yaml 文件超过必要信息
在以前的版本中,cephadm
bootstrap 会尝试手动解析提供的 yaml 文件。因此,有时即使用户为 cephadm
bootstrap 提供了有效的 yaml 文件,手动解析会失败,具体取决于单个规格,从而导致整个规格被丢弃。
在这个版本中,cephadm
不再尝试多次解析 yaml。主机规格仅搜索用于分发 SSH 密钥的目的。否则,规格只传递给 manager 模块。cephadm bootstrap --apply-spec
命令现在可以和任何有效的规格正常工作。
host.containers.internal
条目不再添加到部署的容器的 /etc/hosts
文件中
在以前的版本中,某些 podman 版本默认会将 host.containers.internal
条目添加到部署的容器的 /etc/hosts
文件中。因此,在这个条目的某些服务中会出现问题,因为它错误地代表实际节点的 FQDN。
在这个版本中,Cephadm 在部署容器时挂载主机的 /etc/hosts
文件。容器中 /etc/hosts
文件中的 host.containers.internal
条目已不存在,并避免了与该条目相关的所有错误,但用户仍然可以看到主机的 /etc/hosts
用于容器内的名称解析。
Cephadm
现在仅在发生实际更改时记录设备信息
在以前的版本中,cephadm'sould 比较为 OSD 报告的所有字段,以检查新的或更改的设备。但这些字段中包含一个时间戳,每次都有所不同。因此,"cephadm
会在每次刷新主机设备时都会记录它 'Detected new or changed devices',无论是否有实际更改。
在这个版本中,设备信息与之前的信息的比较不再考虑预期更改的时间戳字段。现在
,cephadm 仅在设备有实际更改时记录。
现在可以访问生成的 Prometheus URL
在以前的版本中,如果主机没有 FQDN,则生成的 Prometheus URL 为 http://_host-shortname:9095_,且无法访问。
在这个版本中,如果没有 FQDN 可用,则在短名称中使用主机 IP。现在,为 Prometheus 生成的 URL 的格式可以访问,即使主机 Prometheus 部署到没有 FQDN 的服务中。
在向主机写入文件时,cephadm 不再有权限问题
在以前的版本中,cephadm 会首先在 /tmp
目录中创建文件,然后将它们移到其最终位置。因此,在某些设置中,写入文件时会出现一个权限问题,因此 cephadm 有效地操作,直到修改权限为止。
在这个版本中,cephadm 使用'/tmp' 中的子目录将文件写入没有相同权限问题的主机。