发行注记
Red Hat Ceph Storage 5.3 发行注记
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
提供有关 Red Hat Ceph Storage 文档的反馈 复制链接链接已复制到粘贴板!
我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。要做到这一点,创建一个 Bugzilla ticket:
- 进入 Bugzilla 网站。
- 在组件下拉列表中选择 Documentation。
- 在 Sub-Component 下拉菜单中,选择适当的子组件。
- 选择相应的文档版本。
- 在 Summary 和 Description 字段中填写您要改进的建议。包括文档相关部分的链接。
- 可选:添加一个附件(若有)。
- 点 Submit Bug。
第 1 章 简介 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 是一个可大规模扩展、开放、软件定义的存储平台,它将最稳定版本的 Ceph 存储系统与 Ceph 管理平台、部署实用程序和支持服务相结合。
Red Hat Ceph Storage 文档位于 https://access.redhat.com/documentation/zh-cn/red_hat_ceph_storage/5。
第 2 章 致谢 复制链接链接已复制到粘贴板!
Ceph Storage 5 项目见证了 Ceph 社区中个人和组织贡献的质量和贡献数量的增长。我们借此感谢 Red Hat Ceph Storage 团队的所有成员、Ceph 社区中的所有个人贡献者,并且包括但不限于:
- Intel®
- Fujitsu ®
- UnitedStack
- Yahoo ™
- Ubuntu Kylin
- Mellanox ®
- CERN ™
- Deutsche Telekom
- Mirantis ®
- SanDisk ™
- SUSE
第 3 章 新功能 复制链接链接已复制到粘贴板!
本节列出了本 Red Hat Ceph Storage 版本中引入的所有主要更新、增强功能和新功能。
3.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
如果在 Grafana 服务规格中设置,cephadm
会自动更新仪表板 Grafana 密码
在以前的版本中,在应用规格后,用户必须手动设置 Grafana 密码。
在这个版本中,如果在应用的 Grafana 规格中设置了 initial_admin_password
,cephadm
会自动更新仪表板 Grafana 密码,该密码等同于运行 ceph dashboard set-grafana-api-password
命令,以简化完全设置 Grafana 的过程。在应用了一个包含密码的规格后,用户不再需要手动设置仪表板 Grafana 密码。
OSD 使用新的 mon
位置自动更新其 Ceph 配置文件
在这个版本中,每当检测到 monmap
更改时,cephadm
会自动使用新的 mon
位置更新每个 OSD 的 Ceph 配置文件。
如果您有大量 OSD,则可能需要一段时间才能在所有 OSD 上更新。
3.2. Ceph 仪表板 复制链接链接已复制到粘贴板!
块设备镜像表被分页
在这个版本中,块设备镜像表被分页,与 10000+ 镜像存储集群一起使用,因为检索块设备镜像的信息的成本较高。
新添加的 cross_origin_url
选项允许跨原始资源共享
在以前的版本中,IBM 开发人员在试图使用前端来 ping REST API 时可能会在其存储 insights 产品中出现问题,因为在红帽的 REST API 中设置了严格的 Cross Origin Resource Sharing (CORS) 策略。
在这个版本中,添加了 cross_origin_url
选项,它可以设置到一个特定的 URL - ceph config set mgr/dashboard/cross_origin_url localhost
,REST API 只允许与该 URL 进行通信,从而允许使用 CORS。
3.3. Ceph 文件系统 复制链接链接已复制到粘贴板!
用户可以存储 CephFS 子卷快照的任意元数据
在这个版本中,Ceph 文件系统 (CephFS) 卷用户可以使用一组命令行界面 (CLI) 命令为 CephFS 子卷快照以键值对的形式存储任意元数据。
3.4. Ceph 对象网关 复制链接链接已复制到粘贴板!
现在,可以为角色更新 STS max_session_duration
在这个版本中,可以使用 radosgw-admin
命令行界面更新角色的 STS max_session_duration
。
ListBucket
S3 操作现在会生成 JSON 输出
在这个版本中,在客户请求集成时,ListBucket
S3 操作会生成 JSON 格式的输出,而不是默认的 XML(当请求包含 Accept: application/json
标头时)。
添加了启用由 libcurl
管理的 TCP keepalive 的选项
在这个版本中,添加了在由 libcurl
管理的 HTTP 客户端套接字上启用 TCP keepalive 的选项,以便使 Ceph Object Gateway 启动的同步和其他操作更具弹性。这不适用于 HTTP 前端接收的连接,而仅适用于 Ceph 对象网关发送的 HTTP 请求,如用于身份验证的 Keystone、从多站点请求以及到 SSE 的密钥管理服务器的请求。
radosgw-admin
命令的结果代码 2002 被明确转换为 2
在以前的版本中,S3 的内部 NoSuchBucket
错误转换中的变化错误地改变了来自 radosgw-admin bucket stats
的错误代码,从而导致程序检查这些 radosgw-admin
命令的 shell 结果代码会看到不同的结果代码。
在这个版本中,结果代码 2002 被明确转换为 2,用户可以看到原始行为。
现在,您可以使用存储桶策略以及有用的错误
由于错误指示了错误,所以存储桶策略很难使用。另外,静默丢弃主体会在升级过程中造成问题。在这个版本中,来自策略解析器的有用错误和标志,用于拒绝带有 rgw 策略拒绝无效 principals=true 参数的无效主体
。
3.5. 多站点 Ceph 对象网关 复制链接链接已复制到粘贴板!
bucket sync run
命令提供更多详细信息
在这个版本中,添加了 bucket sync run
命令的用户友好进度报告,以便用户更轻松地了解操作的进度。当用户使用带有 --extra-info
标志运行 radosgw-admin bucket sync
命令时,用户会获取生成同步开始时的消息,以及同步的每个对象。
我们不建议,在没有联系红帽支持的情况下使用 bucket sync run
命令。
多站点配置支持动态存储桶索引重新划分
在以前的版本中,只支持为多站点配置手动重新划分存储桶。
在这个版本中,多站点配置支持动态存储桶重新划分。升级存储集群后,启用重新分片
功能、区级别(zone level)和区组(zone group)。您可以使用 radogw-admin bucket reshard 命令
手动重新划分存储桶,或使用动态重新划分(独立于存储集群中的其他区)自动重新划分它们。
用户现在可以使用多站点归档区动态重新划分存储桶索引
在这个版本中,当为那个区启用动态重新划分时,可以动态地重新划分多站点归档存储桶索引。
3.6. RADOS 复制链接链接已复制到粘贴板!
引入低级别日志消息,以警告用户有关命中限速限制的用户
在以前的版本中,没有 throttle 限制的低级别日志记录被命中,从而导致这些出现错误出现一个网络问题。
在这个版本中,引入低级日志消息使得 throttle 限制在命中非常明显。
3.7. RADOS 块设备 (RBD) 复制链接链接已复制到粘贴板!
克隆的镜像现在可以使用自己的加密格式和密码短语加密
在这个版本中,支持分层客户端加密,使每个克隆的镜像可以使用自己的加密格式和密码短语加密,可以与父镜像的不同。保留未格式化的常规克隆镜像的有效写时复制语义。
第 4 章 过时的功能 复制链接链接已复制到粘贴板!
本节概述了在 Red Hat Ceph Storage 发行本的所有次版本中弃用的功能。
弃用的功能在 Red Hat Ceph Storage 5 生命周期结束前一直被支持。弃用的功能可能在以后的主要发行本中不被支持,因此不建议在新的部署中使用。有关特定主要发行本中已弃用功能的最新列表,请参考最新版本的发行文档。
对 CephFS 的 NFS 支持现已弃用
现在,在 OpenShift Data Foundation 中,对 CephFS 的 NFS 支持已被弃用。OpenStack Manila 中 NFS 的 Red Hat Ceph Storage 支持不会受到影响。弃用的功能只会在当前版本的生命周期内收到程序错误修复,并可能在以后的发行版本中删除。有关此技术的相关文档被识别为 "Limited Availability"。
iSCSI 支持现已弃用
iSCSI 支持现已弃用 NVMEoF 支持。弃用的功能只会在当前版本的生命周期内收到程序错误修复,并可能在以后的发行版本中删除。有关此技术的相关文档被识别为 "Limited Availability"。
Ceph 配置文件现已过时
Ceph 配置文件 (ceph.conf
) 现已被弃用,取代存储在 Ceph monitor 中的新的集中式配置。详细信息,请参见 Ceph 存储配置指南中的 Ceph 配置数据库章节。
Ceph 文件系统 (CephFS) 的 min_compat_client
参数现已弃用
对于 Red Hat Ceph Storage 5.0,min_compat_client
参数已弃用,并添加了用于设置 Ceph 文件系统 (CephFS) 的新客户端功能。详情请参阅 Red Hat Ceph Storage 文件系统指南中的客户端功能章节。
Ceph 文件系统子卷组的快照现已弃用
对于 Red Hat Ceph Storage 5.0 ,Ceph 文件系统 (CephFS) 子卷组的快照功能已弃用。可以根据需要列出和删除现有的快照。详情请参阅 Red Hat Ceph Storage 文件系统指南中的列出文件系统子卷组快照和删除文件系统子卷组快照部分。
Cockpit Ceph Installer 现已弃用
不支持使用 Cockpit Ceph 安装程序安装 Red Hat Ceph Storage 集群 5。使用 Cephadm 安装 Red Hat Ceph Storage 集群。详情请查看 Red Hat Ceph Storage 安装指南。
第 5 章 删除的功能 复制链接链接已复制到粘贴板!
本节概述了此 Red Hat Ceph Storage 版本的所有次版本中已删除的功能。
Ceph 的 Tools 存储库中无法使用 s3cmd
RPM
Ceph 的 Tools 存储库中不再可用 s3cmd
RPM。用户可以从 PyPI
或 EPEL
下载不受支持的社区软件包。
第 6 章 程序错误修复 复制链接链接已复制到粘贴板!
本节论述了在 Red Hat Ceph Storage 发行版本中修复的具有显著用户影响的错误。此外,部分还包括之前版本中发现的固定已知问题的描述。
6.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
用户可以在没有任何问题的情况下升级到本地仓库镜像
在以前的版本中,如果镜像名称不是合格的域名,则默认情况下 docker.io
将添加到镜像名称的开头。因此,用户无法升级到本地仓库中的镜像。
在这个版本中,需要小心的信息来标识默认添加到 docker.io
的镜像。使用本地仓库镜像的用户可以在不遇到问题的情况下升级到该镜像。
6.2. Ceph 文件系统 复制链接链接已复制到粘贴板!
在重启 Ceph Manager 服务时,snap-schedules
不再丢失
在以前的版本中,内存数据库不会在每次对调度更改时写入持久性存储。这会导致 snap-schedules
在重启 Ceph Manager 服务时丢失。
在这个版本中,对于每个改变或对 snap-schedules
的增加会保存到持久性存储中。保留功能现在可在重启 Ceph Manager 服务后继续工作。
standby-replay Metadata Server 守护进程将不再会被非预期地被删除
在以前的版本中,Ceph Monitor 会在特定条件下从 MDS 映射中删除 standby-replay Metadata Server (MDS) 守护进程。这会导致 standby-replay Metadata Server (MDS) 守护进程从元数据服务器集群中删除,后者会生成集群警告。
在这个版本中,Ceph Monitor 在考虑从 MDS 映射中删除 MDS 守护进程期间使用的逻辑,现在包含有关包含 standby-replay Metadata Server (MDS) 守护进程的信息。这样可确保 standby-replay Metadata Server (MDS) 守护进程不再被意外从 MDS 集群中删除。
6.3. Ceph Manager 插件 复制链接链接已复制到粘贴板!
Ceph Manager Alert 电子邮件不再标记为垃圾邮件
在以前的版本中,Ceph Manager Alerts 模块发送的电子邮件没有 "Message-Id" 和 "Date:headers"。这会增加将电子邮件标记为垃圾邮件的机会。
在这个版本中,两个标头都添加到 Ceph Manager Alerts 模块发送的电子邮件中,消息不会被标记为垃圾邮件。
6.4. Ceph 卷实用程序 复制链接链接已复制到粘贴板!
当找不到 ceph-osd
容器且 cephvolumescan
actor 不再失败时,卷列表将保持为空
在以前的版本中,如果 Ceph 容器在没有 ceph-osd
容器的情况下与其他容器共存,该过程将尝试从一个非 Ceph 容器检索卷列表。因此,cephvolumescan
actor 会失败,升级也不会完成。
在这个版本中,如果没有找到 ceph-osd
容器,则卷列表将保持为空,cephvolumescan
行为也不会失败。
当 ceph-volume
处理多个设备时,Ceph OSD 部署不再会失败。
在以前的版本中,当有多个设备需要处理时,ceph-volume
会计算错误的大小,从而导致无法部署 OSD。
在这个版本中,当多个设备被处理和部署 OSD 时,ceph-volume
可以正确计算大小。
6.5. Ceph 对象网关 复制链接链接已复制到粘贴板!
用户现在可以在非 TLS 环境中使用 SASL 设置 Kafka 连接
在以前的版本中,由于为 Ceph 对象网关配置 TLS 证书失败,无法使用 SASL (用户和密码)配置 Kafka 主题。
在这个版本中,添加了新的配置参数 rgw_allow_notification_secrets_in_cleartext
。用户现在可以在非 TLS 环境中使用 SASL 设置 Kafka 连接。
修复了令牌的内部处理
在以前的版本中,对于 Java SDK 用于 Java 和 Hadoop S3A Connector 的 AWS SDK 对基于 Java 的客户端身份验证供应商 jar 的刷新路径中的令牌进行内部处理可能无法正确处理大型令牌,从而导致处理一些令牌并防止续订客户端令牌。
在这个版本中,内部令牌处理已被修复,它可以正常工作。
对象版本访问已被修正,防止对象锁定违反
在以前的版本中,在某些调用路径中会出现大量版本信息的方法,从而导致受对象锁定保护的对象版本被删除到策略。
在这个版本中,对象版本访问已被修正,从而导致对象锁定违反。
Ceph 对象网关不再使用不正确的 URL 崩溃
在以前的版本中,重构抽象使用到没有始终初始化的存储桶值的指针替换了存储桶值。这会导致在没有存储桶中与存储桶操作对应的格式 URL 会导致 Ceph 对象网关崩溃。
在这个版本中,指针的检查已实施到 call 路径中,Ceph 对象网关会返回权限错误,而不是崩溃(如果它未初始化)。
解析日期 z-amz-date
格式的代码已更改
在以前的版本中,x-amz-date
的标准格式已更改,这会导致问题,因为新软件使用新的日期格式。使用最新 go
库构建的新软件不会与 Ceph 对象网关通信。
在这个版本中,用于解析 x-amz-date
格式的日期的 Ceph 对象网关中的代码被更改为也接受新的日期格式。
(BZ#2109675)
处理生命周期分片的新逻辑可防止因为删除存储桶而停止工作
在以前的版本中,进行更改会导致生命周期处理持续循环几天(即,不是每天从合格存储桶列表开始)。但是,更改包含一个程序漏洞,可能会停止处理包含已删除存储桶的生命周期分片,从而导致处理生命周期分片变得停滞。
在这个版本中,引入了一个逻辑来跳过删除的存储桶,因为处理不再停滞。
标头处理不再会导致 sporadic swift-protocol 验证失败
在以前的版本中,因为不正确的 HTTP 标头处理和时间戳处理逻辑,会导致在操作中使用无效的 Keystone admin 令牌,或者不会根据需要续订 Keystone admin 令牌。因此,sporadic swift-protocol 身份验证会失败。
在这个版本中,标头处理已被修正,并添加了新的诊断。现在,逻辑可以正常工作。
警告不会在不恰当的情况下被记录到日志中
在以前的版本中,一个不正确的逻辑偶尔会报告一个不正确的警告 - 无法找到 head 对象,从而导致在 Ceph 对象网关配置中不适用警告时记录警告。
在这个版本中,对相关的逻辑进行了修正,不再记录警告。
PUT 对象操作写入正确的存储桶索引分片
在以前的版本中,因为一个竞争条件,PUT 对象操作很少写入以前的存储桶索引分片。这会导致重新创建以前的存储桶索引分片,并且对象不会出现在正确的存储桶索引中。因此,当存储桶被列出时,不会列出对象。
在这个版本中,需要小心以防止各种操作创建存储桶索引分片,并在遇到竞争条件时恢复。PUT 对象操作现在始终写入正确的存储桶索引分片。
6.6. 多站点 Ceph 对象网关 复制链接链接已复制到粘贴板!
在主区域中挂起存储桶版本控制不再挂起存档区域中的存储桶版本控制
在以前的版本中,如果在主区中暂停存储桶版本控制,则存档区域中的存储桶版本控制也会挂起。
在这个版本中,无论其他区上的存储桶版本控制发生变化,都总是启用归档区版本控制。归档区中的存储桶版本控制不再被挂起。
多站点复制中的 radosgw-admin sync status
命令可以正常工作
在以前的版本中,在多站点复制中,如果一个或多个参与 Ceph 对象网关节点停机,您可以在运行 radosgw-admin sync status
命令时显示 (5)输入/输出错误输出。此状态应在所有 Ceph 对象网关节点重新上线后得到解决。
在这个版本中,radosgw-admin sync status
命令不会卡住,并可按预期工作。
进程修剪停用的存储桶索引条目不再导致 radosgw
实例崩溃
在以前的版本中,在某些情况下,进程修剪停用的存储桶索引条目可以访问未初始化的指针变量,从而导致 radosgw
实例崩溃。
在这个版本中,在使用前,代码会立即初始化,radosgw
实例不再崩溃。
存储桶同步运行被授予控制逻辑来同步所有对象
在以前的版本中,为支持动态存储桶重新划分多站点集群,一个单向存储桶索引日志被替换为多个存储桶索引日志。但是,由于存储桶同步运行方式,只有最早的生成才会被同步运行。
在这个版本中,存储桶同步运行会被赋予一个控制逻辑,它从最旧到最新的顺序进行同步,所有对象现在可以按预期同步。
每个存储桶复制逻辑错误修复会正确执行策略
在以前的版本中,内部逻辑错误会在每个存储桶复制中造成失败,因为在某些情况下,每个存储桶复制策略无法正常工作。
在这个版本中,负责混淆源和目标存储桶信息的逻辑错误已被修正,策略可以正确执行。
变量访问不再导致未定义程序行为
在以前的版本中,Showity 扫描会识别两个情况,在移动后可以使用变量,从而导致未定义程序行为发生。
在这个版本中,变量访问已被修复,潜在的故障将不再发生。
带有租户但没有存储桶的请求不再导致崩溃
在以前的版本中,上游重构使用未初始化的指针替换了未初始化的存储桶数据字段。因此,任何包含引用有效存储桶的 URL 的存储桶请求会导致崩溃。
在这个版本中,访问存储桶但没有指定有效存储桶的请求会被拒绝,从而导致错误而不是崩溃。
6.7. RADOS 复制链接链接已复制到粘贴板!
执行带有两个站点扩展集群的 DR 测试不再会导致 Ceph 变得无响应
在以前的版本中,当使用两个站点进行 DR 测试时,删除并在集群中添加新监控器会导致 ConnectionTracker
类中的等级不正确。因此,监控器无法在 peer_tracker
复制中识别自己,永远不会更新其正确的字段,从而导致在选择过程中死锁导致 Ceph 变得没有响应。
在这个版本中,进行了以下修正:
-
在函数
notify_rank_removed ()
中添加了 assert,将Monmap
提供的预期等级与手动调整的等级进行比较。 -
从每个
Monmap
更新中清除removed_ranks
变量。 -
添加了在执行命令时手动重置
peer_tracker.rank
的操作 - 每个 monitor 的ceph connection score reset
。peer_tracker.rank
与 monitor 的当前排名匹配。 -
添加了
Elector
和ConnectionTracker
类中的函数,以便在升级监控器时检查干净的peer_tracker
,包括启动。如果找到 unclean,则peer_tracker
被清除。 -
在 Red Hat Ceph Storage 中,用户可以在关闭 monitor 前手动删除 monitor 等级,从而导致
Monmap
不一致。因此,在Monitor::notify_new_monmap ()
中,我们阻止该函数删除在Monmap
中不存在的等级或等级。
集群现在可以按预期工作,且没有未完成的停机时间。当使用两个站点扩展集群执行 DR 测试时,集群不再变得无响应。
等级从 live_pinging
和 dead_pinging
集中删除,以减少连接分数不一致的问题
在以前的版本中,当按顺序删除两个监视器时,如果排名大小等于 Paxos 的大小,则 monitor 将面临一个条件,且不会从 dead_pinging
设置中删除排名。因此,等级保留在 dead_pinging
集合中,这会导致问题,比如启用扩展模式时连接分数不一致。
在这个版本中,添加了一个删除最高等级监控的情况,即当等级等于 Paxos 的大小时,从 live_pinging
和 dead_pinging
设置中删除排名。monitor 通过干净的 live_pinging
和 dead_pinging
集保持健康。
Prometheus 指标现在根据请求反映所有 Ceph Monitor 的正确 Ceph 版本
在以前的版本中,当监控器升级时,Prometheus 指标报告 Ceph Monitor 不匹配的 Ceph 版本。因此,需要重启活跃的 Ceph Manager 守护进程来解决这个问题。
在这个版本中,当 MON 选举结束时,Ceph Monitor 会在 mgr
中使用 mon
元数据明确发送带有元数据的更新请求。
ceph daemon heap status
命令显示堆状态
在以前的版本中,由于通过 ceph daemon
命令无法获取堆信息,ceph daemon heap stats
命令会返回空输出,而不是返回 Ceph 守护进程的当前堆使用量。这是因为 ceph::osd_cmds::heap ()
混淆 stderr
和 stdout
概念,这会导致输出差异。
在这个版本中,ceph daemon heap stats
命令返回 Ceph 守护进程的堆使用量信息,类似于使用 ceph tell
命令的信息。
当使用 ceph orch apply mon <num> 命令时,Ceph Monitor
不再崩溃
在以前的版本中,当使用 ceph orch apply mon <num
> 命令来减少集群中的监控器时,会在 ceph-adm
中关闭 monitor 前删除 monitor,从而导致 monitor 崩溃。
在这个版本中,在检查对等排名是否大于或等于 monitor 映射中的等级大小的所有代码路径中添加了一个完整性检查。如果条件满足,则跳过导致监控器崩溃的某些操作。对等等级最终会在 monitor 映射的下一版本中解决自己。从 monitor 映射中删除时,监视器不再崩溃,然后再关机。
最终用户现在可以从 Ceph 集群日志中看到 scrub 或 deep-scrub 启动
的消息
在以前的版本中,由于 Ceph 集群日志中缺少 scrub 或 deep-scrub 启动的消息,最终用户无法通过日志知道已为 PG 启动了清理。
在这个版本中,清理或深度清理 启动
信息被重新加入。现在,在清理或深度清理进程启动时,Ceph 集群日志会为 PG 显示相关的消息。
Ceph Manager 故障切换过程中没有断言
在以前的版本中,当激活 Ceph Manager 时,它会接收之前活跃管理器发送的多个 service_map
版本。当新激活的管理器收到带有更高版本的映射时,代码中的检查会导致断言失败。
在这个版本中,管理器中处理初始服务映射的检查已被放宽,在 Ceph 管理器故障切换过程中没有断言。
在升级集群后,用户可以删除克隆的对象
在以前的版本中,在将集群从 Red Hat Ceph Storage 4 升级到 Red Hat Ceph Storage 5 后,删除之前版本中创建的对象快照会离开克隆,且无法删除。这是因为 SnapMapper
键被错误地转换。
在这个版本中,更新了 SnapMapper
的传统规格,以匹配新的密钥格式。早期版本的 Ceph 中的克隆对象现在可以在升级后轻松删除。
对于小型的写,不再会发生 RocksDB 错误
BlueStore 对于 HDD 采用了一种延迟小型写的策略,在 RocksDB 中存储数据。从 RocksDB 清理延迟数据是一个后台进程,它不与 BlueFS 同步。
在这个版本中,延迟重播不再覆盖 BlueFS 数据,且不会发生一些 RocksDB 错误,例如:
-
osd_superblock
崩溃。 - CURRENT 不会以换行符结尾。
-
.sst
文件校验和错误。
不要写延迟数据,因为写入位置可能包含正确的对象或为空。不可能以这种方式破坏对象数据。BlueFS 是唯一可以分配此空间的实体。
可以通过脱机和在线修剪删除 PG 日志条目损坏
在以前的版本中,在低级 PG 分割操作期间,PG 日志 dups 条目的修剪会无法被 PG 自动扩展器使用,超过人为 operator 的频率。使 dups 修剪导致 PG 日志的内存增长造成大量内存增长,因为 OSD 内存不足时会导致 OSD 崩溃。重启 OSD 不会解决此问题,因为 PG 日志存储在磁盘上,并在启动时重新加载到 RAM。
在这个版本中,离线(使用 ceph-objectstore-tool
命令)和在线(带有 OSD)进行修剪可能会移除 PG Log 的损坏的 dups 条目,该条目会阻塞修建机制并导致内存增长。实施了调试功能,它将 dups 条目的数量输出到 OSD 的日志,以帮助调查未来。
6.8. RADOS 块设备 (RBD) 复制链接链接已复制到粘贴板!
如果镜像被扁平化时,rbd info
命令执行时不再会失败
在以前的版本中,因为一个实施缺陷,如果镜像被扁平化时,运行 rbd info
命令可能会失败(尽管这个情况并不常见)。这会导致出现临时的 No such file or directory 错误,当重新运行时,命令会成功。
在这个版本中,相关的问题已被修复,当镜像被扁平化时,执行 rbd info
命令不会失败。
删除带有待处理块设备任务的池不再会导致所有任务都挂起
在以前的版本中,由于一个实施缺陷,删除带有待处理块设备任务的池会导致所有块设备任务(包括其他池)挂起。要恢复挂起的块设备任务,管理员必须重启 ceph-mgr
守护进程。
在这个版本中,实施缺陷已被修复,删除带有待处理 RBD 任务的池不再会导致任何挂起。清理已删除池的块设备任务。其他池的块设备任务会继续正常运行。
6.9. RBD 镜像功能 复制链接链接已复制到粘贴板!
image replayer 会如预期关闭
在以前的版本中,由于一个实施缺陷,关闭特定镜像重播器的请求可能会导致 rbd-mirror
守护进程无限期挂起,特别是在远程存储集群中守护进程被阻断的情况下。
在这个版本中,实现缺陷已被修复,关闭特定镜像 replayer 的请求不再会导致 rbd-mirror
守护进程挂起,镜像 replayer 会如预期关闭。
rbd mirror pool peer bootstrap create
命令保证了 bootstrap 令牌中的正确监控地址
在以前的版本中,使用 rbd mirror pool peer bootstrap create
命令生成的 bootstrap 令牌包含 ceph.conf
文件中的 mon_host
选项指定的监控器地址。这会产生一个碎片,并给用户造成问题,例如导致 V1 和 V2 端点之间的混淆,仅指定其中一个,对它们进行错误分组,以及诸如.
在这个版本中,rbd mirror pool peer bootstrap create
命令被修改为从集群本身提取监控地址,从而保证 bootstrap 令牌中包含的监控器地址正确无误。
6.10. iSCSI Gateway 复制链接链接已复制到粘贴板!
使用 iSCSI 从 Red Hat Ceph Storage 4.x 升级到 5.x 可以正常工作
在以前的版本中,由于一些 ceph-iscsi
依赖库之间版本冲突,从 Red Hat Ceph Storage 4.x 升级到 5.x 将导致持久 HTTP 500 错误。
在这个版本中,版本冲突会被解决,升级可以正常工作。但是,随着这个修复,iSCSI REST API 响应没有进行用户优化的打印。
6.11. Ceph Ansible 实用程序 复制链接链接已复制到粘贴板!
修复了使用 Ceph 对象网关配置的升级工作流
在以前的版本中,当从仪表板 playbook 执行调用 set_radosgw_address.yml
时,如果用户在 group_vars/host_vars
中定义了 rgw_instances
,则应该设置事实 is_rgw_instances_defined
。否则,设置事实 rgw_instances
的下一个任务将被假设为它是在不是被用户定义的情况下执行。这会导致升级工作流在部署 Ceph 对象网关多站点和 Ceph 仪表板时中断。
在这个版本中,ceph-ansible
在从仪表板 playbook 调用 set_radosgw_address.yml
playbook 时设置参数,升级工作流可以正常工作。
这个事实条件已更新,它仅在 Ceph 对象网关节点上执行
在以前的版本中,由于 set_fact _radosgw_address to radosgw_address_block ipv4
会在所有节点上执行,包括在没有 Ceph 对象网关网络范围的环境中执行,因此 playbook 无法正常工作。
在这个版本中,when
条件已被更新,现在仅在 Ceph 对象网关节点上执行事实设置,并可以按预期工作。
第 7 章 已知问题 复制链接链接已复制到粘贴板!
本节记录了本版本的 Red Hat Ceph Storage 中已知的问题。
7.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
在 iSCSI 守护进程的 gwcli
中添加或扩展 iSCSI 网关可以正常工作
在以前的版本中,因为在规格文件中更新可信 IP 列表时,iSCSI 守护进程不会被重新配置,在 gwcli
中添加或扩展 iSCSI 网关会失败,因为 iscsi-gateway.cfg
在 iSCSI 守护进程中不匹配。
在这个版本中,您可以扩展网关,并使用 gwcli
命令将其添加到现有网关中。(BZ#2099470)
ceph orch ps
不显示监控堆栈守护进程的版本
在 cephadm
中,由于版本 grabbing 代码目前与下游监控堆栈容器不兼容,监控堆栈守护进程的版本 grabbing 会失败,如 node-exporter
、prometheus
和 alertmanager
。
作为临时解决方案,如果用户需要查找版本,守护进程的容器名称会包括版本。
第 8 章 异步勘误更新 复制链接链接已复制到粘贴板!
这部分论述了 z-stream 版本的程序错误修复、已知问题和增强。
8.1. Red Hat Ceph Storage 5.3z7 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z7 现已正式发布。RHSA-2024:4118 和 RHSA-2024:4119 公告中列出了程序错误修正和安全更新。
8.1.1. 功能增强 复制链接链接已复制到粘贴板!
8.1.1.1. RBD 复制链接链接已复制到粘贴板!
改进了 rbd_diff_iterate2 ()
API 性能
在以前的版本中,如果在 fast-diff
模式(insnapname == NULL )中针对时间开始(insnapname == NULL
) (启用了 fast-diff 镜像功能且有效的 fast-diff镜像功能
)时,RBD diff-iterate 无法保证在本地执行。
在这个版本中,rbd_diff_iterate2 ()
API 性能有所改进,从而提高了 QEMU 实时磁盘同步和备份用例的性能,其中启用了 fast-diff
镜像功能。
8.1.2. 已知问题 复制链接链接已复制到粘贴板!
8.1.2.1. Ceph 升级 复制链接链接已复制到粘贴板!
在 RHEL 8 到 RHEL 9 升级过程中删除了集群密钥和某些配置目录
由于 RHEL 8 弃用 libunwind
软件包,在升级到 RHEL 9 时会删除此软件包。ceph-common
软件包依赖于 libunwind
软件包,因此也会被删除。删除 ceph-common
软件包会导致删除 /etc/ceph
和 /var/log/ceph
目录中的集群密钥和某些配置。
因此,可能会发生各种节点故障。由于删除了 /etc/ceph
软件包,Ceph 操作可能无法在某些节点上工作。systemd 和 Podman 无法在节点上的 Ceph 服务中启动,因为删除了 /var/log/ceph
软件包。
作为临时解决方案,请将 LEAPP 配置为不会删除 libunwind
软件包。具体步骤请参阅 将 RHCS 5 主机从 RHEL 8 升级到 RHEL 9 会删除 ceph-common 软件包。服务无法在红帽客户门户网站中启动。
8.2. Red Hat Ceph Storage 5.3z6 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z6 现已正式发布。此更新包括的程序错误修正和安全更新信息包括在 RHSA-2024:0745 公告中。
8.2.1. 功能增强 复制链接链接已复制到粘贴板!
8.2.1.1. Ceph 对象网关 复制链接链接已复制到粘贴板!
rgw-restore-bucket-index
实验性工具为版本控制和未版本存储桶恢复存储桶索引
在这个版本中,除了使用未版本存储桶的现有功能外,您还可以使用 rgw-restore-bucket-index
实验性工具恢复版本控制存储桶的存储桶索引。
增强的排序存储桶列表
在以前的版本中,在某些情况下,带有大量分片和几个伪子目录的存储桶会需要不必要的很长时间才能完成。
在这个版本中,此类存储桶可以更快地执行一个排序的存储桶列表。
radosgw-admin bucket stats
命令打印存储桶版本控制
在这个版本中,radosgw-admin bucket stats
命令将 bucket 的版本控制状态显示为 启用
、关闭
或暂停
的三个值之一,因为可在创建后启用或禁用版本控制。
8.2.1.2. Ceph 文件系统 复制链接链接已复制到粘贴板!
MDS 默认负载均衡器现在默认禁用
在这个版本中,MDS 默认负载均衡器或自动动态子树负载均衡器被默认禁用。这可防止意外的子树迁移,当 Operator 增加文件系统 max_mds
设置时,子树迁移可能会撤销,而无需规划子树委托,如带有固定的。
8.2.1.3. Ceph Manager 插件 复制链接链接已复制到粘贴板!
每个 Ceph Manager 模块都有一个单独的线程来运行命令
在以前的版本中,有一个线程通过其所有 ceph-mgr
模块命令运行。如果其中一个命令卡住,则所有其他模块的命令都将挂起,等待同一线程。
在这个版本中,会为每个 Ceph Manager 模块添加一个 finisher thread。每个模块都有单独的线程来运行命令。即使其中一个命令挂起,其他模块也可以运行。
8.2.1.4. RADOS 复制链接链接已复制到粘贴板!
改进了对运行 BlueStore 两次的保护
在以前的版本中,公告锁定用于防止运行 BlueStore 两次。这在 baremetal 部署中可以正常工作。但是,在容器上使用时,它将创建针对同一 mknod b
块设备的不相关的 inode。因此,两个容器可能会假定它们可以具有导致严重错误的专用访问权限。
在这个版本中,您可以改进对在同一块设备上同时运行 OSD 的保护两次。您可以使用专用于块设备的 O_EXCL open 标记强化公告锁定。不再可能打开一个 BlueStore 实例两次,且不会发生覆盖和崩溃。
新的报告可用于延迟操作的子事件
在以前的版本中,较慢的操作被标记为延迟,但没有详细描述。
有了这个增强,您可以查看操作延迟子事件的详细描述。
8.2.2. 已知问题 复制链接链接已复制到粘贴板!
8.2.2.1. Ceph 仪表板 复制链接链接已复制到粘贴板!
有些指标在图形中显示为 null 会导致空白空格
Ceph 仪表板上的一些指标显示为 null,这会导致图形中的空白空间,因为您不会初始化指标,直到它有一些值。
作为临时解决方案,请编辑存在此问题的 Grafana 面板。在 Edit 菜单中,点 Migrate 并选择 Connect Nulls。选择 Always,问题已解决。
8.3. Red Hat Ceph Storage 5.3z5 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z5 现已正式发布。此更新包括的程序错误修正信息包括在 RHBA-2023:4760 公告中。
8.4. Red Hat Ceph Storage 5.3z4 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z4 现已正式发布。此更新包括的程序错误修正信息包括在 RHBA-2023:4213 公告中。
8.4.1. 已知问题 复制链接链接已复制到粘贴板!
8.4.1.1. 多站点 Ceph 对象网关 复制链接链接已复制到粘贴板!
在多站点中测试 Ceph 对象网关服务器端加密时复制对象的 md5 不匹配
目前,在多站点中测试 Ceph 对象网关服务器端加密时,会观察复制对象的 md5 不匹配。数据崩溃特定于启用了 SSE 加密的 S3 多部分上传。损坏仅影响复制的副本。原始对象保持不变。
对多部分上传进行加密需要针对部分边界进行特殊处理,因为每个部分都单独上传和加密。在多站点中,对象是加密的,多部分上传作为单个部分复制。因此,复制的副本会丢失正确解密数据所需的原始部分边界知识,从而导致这个崩溃。
作为临时解决方案,多站点用户不应该对多部分上传使用服务器端加密。如需更多信息,请参阅使用 RGW 多站点配置的 KCS Sever side 加密可能会导致多部分对象的数据损坏。
8.5. Red Hat Ceph Storage 5.3z3 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z3 现已正式发布。此更新包括的程序错误修正信息包括在 RHBA-2023:3259 公告中。
8.5.1. 功能增强 复制链接链接已复制到粘贴板!
8.5.1.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
用户现在可以在 OSD 规格中设置 crush_device_class
在以前的版本中,用户在生成 OSD 后手动设置 crush_device_class
。
在这个版本中,用户可以在 OSD 规格中设置 crush_device_class
,它会获取 cephadm
来标记基于该规格创建的所有 OSD,就像是 crush 设备类一样。
语法
用户现在可以在 Prometheus 规格中设置保留时间
在以前的版本中,设置所需的保留时间需要手动编辑 unit.run
文件,并在重新部署 Prometheus 守护进程时会覆盖。
在这个版本中,您可以在 Prometheus 规格文件中设置保留时间,如下所示:
示例
service_type: prometheus placement: count: 1 spec: retention_time: "1y"
service_type: prometheus
placement:
count: 1
spec:
retention_time: "1y"
在本例中,保留时间设置为一年,而不是默认的 15 天。
8.5.2. 已知问题 复制链接链接已复制到粘贴板!
在 Red Hat Ceph Storage Dashboard 上管理 Ceph 文件系统快照的文档
有关此功能的详细信息将包含在下一版本的 Red Hat Ceph Storage 仪表板指南中。
用户在 Red Hat Ceph Storage 仪表板中管理主机的文档
有关此功能的详细信息将包含在下一版本的 Red Hat Ceph Storage 仪表板指南中。
用户即时导入 RBD 镜像的文档
rbd import
命令的详细信息将包含在下一版本的 Red Hat Ceph Storage 块设备指南中。
8.6. Red Hat Ceph Storage 5.3z2 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z1 现已正式发布。此更新包括的程序错误修正信息包括在 RHBA-2023:1732 公告中。
8.6.1. 功能增强 复制链接链接已复制到粘贴板!
8.6.1.1. Ceph 文件系统 复制链接链接已复制到粘贴板!
客户端请求计数器从 _u8
类型转换为 _u32
类型,限制设置为 256 次
在以前的版本中,在多个活跃 MDS 情况下,如果单个请求在当前 MDS 中失败,客户端会将请求转发到另一个 MDS。如果 MDS 无法成功处理请求,它将在 MDS 之间无限处理。旧的 num_fwd
/num_retry
计数器是 _u8
类型,它会在反弹 256 次后溢出。
在这个版本中,计数器从 _u8
类型转换为 _u32
类型,转发和重试的限制被设置为 256 次。客户端请求在尝试 256 次后停止转发和重试,并直接失败,而不是无限转发和重试。
8.6.1.2. Ceph 对象网关 复制链接链接已复制到粘贴板!
管理员现在可以重复使用 rados ls
的输出,以快速重新索引存储桶
在以前的版本中,为每个存储桶运行 rados ls
命令非常耗时,因此会减慢存储桶的重新索引。
通过这个更新,rgw-restore-bucket-index
工具已被改进,允许它重复使用 rados ls
命令的预先存在的输出,因此允许管理员重复使用一个 rados ls
命令的输出。这允许存储桶索引恢复多个非版本的存储桶可以更快地完成。
8.6.2. 已知问题 复制链接链接已复制到粘贴板!
8.6.2.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
在 iSCSI 守护进程的 gwcli
中添加或扩展 iSCSI 网关可以正常工作
由于在规格文件中更新可信 IP 列表时,不会自动重新配置 iSCSI 守护进程,在 gwcli
中添加或扩展 iSCSI 网关会失败,因为 iscsi-gateway.cfg`
在跨 iSCSI 守护进程中不匹配。
在这个版本中,您可以扩展网关,并使用 gwcli
命令将其添加到现有网关中。
ceph orch ps
不显示监控堆栈守护进程的版本
在 cephadm`
中,由于版本 grabbing 代码目前与下游监控堆栈容器不兼容,监控堆栈守护进程的版本 grabbing 会失败,如 node-exporter
、prometheus
和 alertmanager
。
作为临时解决方案,如果用户需要查找版本,守护进程的容器名称会包括版本。
8.7. Red Hat Ceph Storage 5.3z1 复制链接链接已复制到粘贴板!
Red Hat Ceph Storage 版本 5.3z1 现已正式发布。此更新包括的程序错误修正信息包括在 RHBA-2023:0981 公告中。
8.7.1. 功能增强 复制链接链接已复制到粘贴板!
8.7.1.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
如果在 Grafana 服务规格中设置,cephadm
会自动更新仪表板 Grafana 密码
在以前的版本中,在应用规格后,用户必须手动设置 Grafana 密码。
在这个版本中,如果在应用的 Grafana 规格中设置了 initial_admin_password
,cephadm
会自动更新仪表板 Grafana 密码,该密码等同于运行 ceph dashboard set-grafana-api-password
命令,以简化完全设置 Grafana 的过程。在应用了一个包含密码的规格后,用户不再需要手动设置仪表板 Grafana 密码。
OSD 使用新的 mon
位置自动更新其 Ceph 配置文件
在这个版本中,每当检测到 monmap
更改时,cephadm
会自动使用新的 mon
位置更新每个 OSD 的 Ceph 配置文件。
如果您有大量 OSD,则可能需要一段时间才能在所有 OSD 上更新。
8.7.1.2. Ceph 仪表板 复制链接链接已复制到粘贴板!
块设备镜像表被分页
在这个版本中,块设备镜像表被分页,与 10000+ 镜像存储集群一起使用,因为检索块设备镜像的信息的成本较高。
新添加的 cross_origin_url
选项允许跨原始资源共享
在以前的版本中,IBM 开发人员在试图使用前端来 ping REST API 时可能会在其存储 insights 产品中出现问题,因为在红帽的 REST API 中设置了严格的 Cross Origin Resource Sharing (CORS) 策略。
在这个版本中,添加了 cross_origin_url
选项,它可以设置到一个特定的 URL - ceph config set mgr/dashboard/cross_origin_url localhost
,REST API 只允许与该 URL 进行通信,从而允许使用 CORS。
8.7.1.3. Ceph 文件系统 复制链接链接已复制到粘贴板!
用户可以存储 CephFS 子卷快照的任意元数据
在这个版本中,Ceph 文件系统 (CephFS) 卷用户可以使用一组命令行界面 (CLI) 命令为 CephFS 子卷快照以键值对的形式存储任意元数据。
8.7.1.4. Ceph 对象网关 复制链接链接已复制到粘贴板!
现在,可以为角色更新 STS max_session_duration
在这个版本中,可以使用 radosgw-admin
命令行界面更新角色的 STS max_session_duration
。
ListBucket
S3 操作现在会生成 JSON 输出
在这个版本中,在客户请求集成时,ListBucket
S3 操作会生成 JSON 格式的输出,而不是默认的 XML(当请求包含 Accept: application/json
标头时)。
添加了启用由 libcurl
管理的 TCP keepalive 的选项
在这个版本中,添加了在由 libcurl
管理的 HTTP 客户端套接字上启用 TCP keepalive 的选项,以便使 Ceph Object Gateway 启动的同步和其他操作更具弹性。这不适用于 HTTP 前端接收的连接,而仅适用于 Ceph 对象网关发送的 HTTP 请求,如用于身份验证的 Keystone、从多站点请求以及到 SSE 的密钥管理服务器的请求。
radosgw-admin
命令的结果代码 2002 被明确转换为 2
在以前的版本中,S3 的内部 NoSuchBucket
错误转换中的变化错误地改变了来自 radosgw-admin bucket stats
的错误代码,从而导致程序检查这些 radosgw-admin
命令的 shell 结果代码会看到不同的结果代码。
在这个版本中,结果代码 2002 被明确转换为 2,用户可以看到原始行为。
现在,您可以使用存储桶策略以及有用的错误
由于错误指示了错误,所以存储桶策略很难使用。另外,静默丢弃主体会在升级过程中造成问题。在这个版本中,来自策略解析器的有用错误和标志,用于拒绝带有 rgw 策略拒绝无效 principals=true 参数的无效主体
。
8.7.1.5. 多站点 Ceph 对象网关 复制链接链接已复制到粘贴板!
bucket sync run
命令提供更多详细信息
在这个版本中,添加了 bucket sync run
命令的用户友好进度报告,以便用户更轻松地了解操作的进度。当用户使用带有 --extra-info
标志运行 radosgw-admin bucket sync
命令时,用户会获取生成同步开始时的消息,以及同步的每个对象。
我们不建议,在没有联系红帽支持的情况下使用 bucket sync run
命令。
多站点配置支持动态存储桶索引重新划分
在以前的版本中,只支持为多站点配置手动重新划分存储桶。
在这个版本中,多站点配置支持动态存储桶重新划分。升级存储集群后,启用重新分片
功能、区级别(zone level)和区组(zone group)。您可以使用 radogw-admin bucket reshard 命令
手动重新划分存储桶,或使用动态重新划分(独立于存储集群中的其他区)自动重新划分它们。
用户现在可以使用多站点归档区动态重新划分存储桶索引
在这个版本中,当为那个区启用动态重新划分时,可以动态地重新划分多站点归档存储桶索引。
8.7.1.6. RADOS 复制链接链接已复制到粘贴板!
引入低级别日志消息,以警告用户有关命中限速限制的用户
在以前的版本中,没有 throttle 限制的低级别日志记录被命中,从而导致这些出现错误出现一个网络问题。
在这个版本中,引入低级日志消息使得 throttle 限制在命中非常明显。
8.7.1.7. RADOS 块设备 (RBD) 复制链接链接已复制到粘贴板!
克隆的镜像现在可以使用自己的加密格式和密码短语加密
在这个版本中,支持分层客户端加密,使每个克隆的镜像可以使用自己的加密格式和密码短语加密,可以与父镜像的不同。保留未格式化的常规克隆镜像的有效写时复制语义。
8.7.2. 已知问题 复制链接链接已复制到粘贴板!
8.7.2.1. Cephadm 实用程序 复制链接链接已复制到粘贴板!
在 iSCSI 守护进程的 gwcli
中添加或扩展 iSCSI 网关可以正常工作
在以前的版本中,因为在规格文件中更新可信 IP 列表时,iSCSI 守护进程不会被重新配置,在 gwcli
中添加或扩展 iSCSI 网关会失败,因为 iscsi-gateway.cfg
在 iSCSI 守护进程中不匹配。
在这个版本中,您可以扩展网关,并使用 gwcli
命令将其添加到现有网关中。
ceph orch ps
不显示监控堆栈守护进程的版本
在 cephadm
中,由于版本 grabbing 代码目前与下游监控堆栈容器不兼容,监控堆栈守护进程的版本 grabbing 会失败,如 node-exporter
、prometheus
和 alertmanager
。
作为临时解决方案,如果用户需要查找版本,守护进程的容器名称会包括版本。
8.7.2.2. Ceph 对象网关 复制链接链接已复制到粘贴板!
重新划分具有 num_shards = 0
的存储桶会导致存储桶的元数据丢失
从带有带有 num_shards = 0
的存储桶的旧版本升级到 Red Hat Ceph Storage 5.3 可能会导致存储桶的元数据丢失,从而导致存储桶在尝试访问它时不可用。这是一个已知问题,将在即将推出的版本中解决。Upgrade 指南 包含禁用动态存储桶重新划分并将 num_shards
设置为一个非零值的临时解决方案,然后再进行升级。有关升级或了解有关此问题的更多信息,请联系红帽支持。
第 9 章 源 复制链接链接已复制到粘贴板!
更新的 Red Hat Ceph Storage 源代码软件包位于以下位置:
- 对于 Red Hat Enterprise Linux 8:http://ftp.redhat.com/redhat/linux/enterprise/8Base/en/RHCEPH/SRPMS/
- For Red Hat Enterprise Linux 9: http://ftp.redhat.com/redhat/linux/enterprise/9Base/en/RHCEPH/SRPMS/