v18.2.1 Reef 发布
这是 Reef 系列的第一个反向移植版本,也是第一个包含 Debian Bookworm 的 Debian 包的版本。我们建议所有用户更新到此版本。
重要变更 ¶
RGW:使用服务器端加密的 S3 分段上传现在可以在多站点部署中正确复制。以前,此类对象的副本在解密时会损坏。一个新的命令
radosgw-admin bucket resync encrypted multipart可用于识别这些原始分段上传。任何已识别对象的LastModified时间戳都会增加 1ns,以使其对等区域再次复制它。对于使用服务器端加密的多站点部署,我们建议在所有区域升级后,对每个区域中的每个存储桶运行此命令。CEPHFS:MDS 现在会驱逐那些没有推进其请求 tid(事务 ID)的客户端,这会导致会话元数据大量堆积,从而导致 MDS 因 RADOS 操作超出大小阈值而变为只读。
mds_session_metadata_threshold配置控制(编码的)会话元数据的最大增长大小。RGW:已向
radosgw-admin添加新工具,用于识别和纠正版本化存储桶索引中的问题。版本化存储桶索引事务工作流中的历史错误使得索引有可能累积多余的“簿记” olh(对象逻辑头)条目和纯占位符条目。在某些特定情况下,当客户端发出引用同一对象键的并发请求时,很可能会累积大量额外的索引条目。当单个存储桶索引分片中存在大量此类条目时,它们可能会导致存储桶列表延迟高和生命周期处理失败。要检查版本化存储桶是否具有不必要的 olh 条目,用户现在可以运行radosgw-admin bucket check olh。如果使用--fix标志,则将安全地删除额外的条目。与到目前为止描述的问题不同,某些版本化存储桶也可能保留额外的未链接对象,这些对象无法从 S3/Swift API 列出。这些额外的对象通常是由于 PUT 请求异常退出(在存储桶索引事务中间)造成的 - 因此客户端不会收到成功的响应。先前版本中的错误使得这些未链接对象很容易在对正在主动重新分片的存储桶进行的任何 PUT 请求中重现。除了这些隐藏的、未链接的对象占用的额外空间之外,在某些情况下还会产生另一种副作用,这是由产生这些对象的故障模式的性质引起的,即受此错误影响的存储桶的客户端可能会发现与该键关联的对象处于不一致状态。要检查版本化存储桶是否具有未链接条目,用户现在可以运行radosgw-admin bucket check unlinked。如果使用--fix标志,则将安全地删除未链接的对象。最后,第三个问题使得版本化存储桶索引统计信息有可能被不准确地计算。重新计算版本化存储桶统计信息的工具也有一个错误,以前无法修复这些不准确之处。此版本解决了这些问题,用户现在可以期望现有的radosgw-admin bucket check命令会产生正确的结果。我们建议使用版本化存储桶(尤其是那些存在于先前版本上的存储桶)的用户使用这些新工具来检查他们的存储桶是否受到影响并进行相应的清理。mgr/snap-schedule: 对于具有多个 CephFS 文件系统的集群,所有 snap-schedule 命令现在都要求使用 '--fs' 参数。
RADOS:如果池未启用应用程序,则无论池是否在使用中,都会报告 POOL_APP_NOT_ENABLED 健康警告。始终使用
ceph osd pool application enable命令为池标记应用程序,以避免为该池报告 POOL_APP_NOT_ENABLED 健康警告。用户可以使用ceph health mute POOL_APP_NOT_ENABLED暂时静音此警告。仪表板:用于 RGW 的概览页面,显示 RGW 组件的总体状态。
仪表板:添加了对 RGW 多站点和 CephFS 子卷和组的管理支持。
仪表板:修复了新仪表板页面周围的一些错误和问题,包括布局损坏、一些指标给出错误值,并引入了一个弹出窗口来显示 HEALTH_WARN 或 HEALTH_ERR 时的详细信息。
仪表板:修复了 Rook 支持的集群上的 Ceph 仪表板中的几个问题,并改进了 Rook 环境中的用户体验。
变更日志 ¶
.github: 澄清清单详细信息 (pr#54130, Anthony D'Atri)
[CVE-2023-43040] rgw: 修复针对 POST 策略的存储桶验证 (pr#53756, Joshua Baergen)
添加回滚机制以处理引导失败 (pr#53864, Adam King, Redouane Kachach)
rook 协调器修复和 e2e 自动化测试的反向移植 (pr#54224, Redouane Kachach)
Bluestore: 修复 bluestore collection_list 延迟性能计数器 (pr#52950, Wangwenjuan)
build: 在 install-deps 中删除 ceph-libboost* 包 (pr#52769, Adam Emerson)
ceph-volume/cephadm: 支持清单中的 lv 设备 (pr#53286, Guillaume Abrioux)
ceph-volume: 为原始 prepare 添加 --osd-id 选项 (pr#52927, Guillaume Abrioux)
ceph-volume: 修复
raw list中的回归 (pr#54521, Guillaume Abrioux)ceph-volume: 修复 mpath 设备支持 (pr#53539, Guillaume Abrioux)
ceph-volume: 修复 lvm 设备的原始列表 (pr#52619, Guillaume Abrioux)
ceph-volume: 修复 lvm 设备的原始列表 (pr#52980, Guillaume Abrioux)
ceph-volume: Revert "ceph-volume: fix raw list for lvm devices" (pr#54429, Matthew Booth, Guillaume Abrioux)
ceph: 在放置时允许 xlock 状态为 LOCK_PREXLOCK (pr#53661, Xiubo Li)
ceph_fs.h: 添加单独的 owner\_{u,g}id 字段 (pr#53138, Alexander Mikhalitsyn)
ceph_volume: 支持 lvm new-db/new-wal/migrate 命令的加密卷 (pr#52875, Igor Fedotov)
cephadm batch backport Aug 23 (pr#53124, Adam King, Luis Domingues, John Mulligan, Redouane Kachach)
cephadm: 向 cephadm shell 添加 --dry-run 选项 (pr#54220, John Mulligan)
cephadm: 将 tcmu-runner 添加到 logrotate 配置中 (pr#53122, Adam King)
cephadm: 添加支持以配置 public_network cfg 部分 (pr#53110, Redouane Kachach)
cephadm: 删除 /tmp/cephadm-
删除集群时 (pr#53109, Redouane Kachach) cephadm: 修复 iSCSI 的 extra_container_args (pr#53010, Raimund Sacherer)
cephadm: 修复某些容器的 haproxy 版本 (pr#53751, Adam King)
cephadm: 使 custom_configs 适用于 tcmu-runner 容器 (pr#53404, Adam King)
cephadm: 通过脚本运行 tcmu-runner 以在失败时重新启动 (pr#53866, Adam King)
cephadm: 支持 CA 签名密钥 (pr#53121, Adam King)
cephfs-journal-tool: 消除 all 关键字用法歧义(在工具帮助中)(pr#53646, Manish M Yathnalli)
cephfs-mirror: 不要同时运行 C_RestartMirroring 上下文 (issue#62072, pr#53638, Venky Shankar)
cephfs: 实现 snapdiff (pr#53229, Igor Fedotov, Lucian Petrut, Denis Barahtanov)
cephfs_mirror: 正确设置顶层目录权限 (pr#53271, Milind Changire)
client: 始终在会话打开时刷新 mds feature bits (issue#63188, pr#54146, Venky Shankar)
client: 修正 Client::_rename() 中的配额检查 (pr#52578, Rishabh Dave)
client: 在 MDS 排名准备就绪之前不要发送指标 (pr#52501, Xiubo Li)
client: 始终强制发送 cap revoke ack (pr#52507, Xiubo Li)
client: 如果 cap 不存在,则立即发出 cap release (pr#52850, Xiubo Li)
client: 在更改 auth cap 时将 Inode 移动到新的 auth mds 会话 (pr#53666, Xiubo Li)
client: 在创建快照时触发刷新缓冲区 (pr#52497, Xiubo Li)
client: 等待重命名完成 (pr#52504, Xiubo Li)
cmake: 确保 fmtlib 至少为 8.1.1 (pr#52970, Abhishek Lekshmanan)
考虑在为 CephFS 自动创建数据池时设置“bulk”自动扩容池标志 (pr#52899, Leonid Usov)
crimson/admin/admin_socket: 如果路径文件存在则将其删除 (pr#53964, Matan Breizman)
crimson/ertr: 断言提供给 safe_then() 的 func 的可调用性 (pr#53958, Radosław Zarzyński)
crimson/mgr: 修复 config show 命令 (pr#53954, Aishwarya Mathuria)
crimson/net: 合并 messenger 实现并启用多分片 UT (pr#54095, Yingxin Cheng)
crimson/net: 根据 ms_tcp_nodelay 设置 TCP_NODELAY (pr#54063, Xuehan Xu)
crimson/net: 支持多分片中的连接 (pr#53949, Yingxin Cheng)
crimson/os/object_data_handler: 分割右侧并不意味着只分割一个 extent (pr#54061, Xuehan Xu)
crimson/os/seastore/backref_manager: 按 journal seq 扫描 backref 条目 (pr#53939, Zhang Song)
crimson/os/seastore/btree: 合并级别时应添加 left 的大小... (pr#53946, Xuehan Xu)
crimson/os/seastore/cache: 不要将 EXIST_CLEAN extent 添加到 lru (pr#54098, Xuehan Xu)
crimson/os/seastore/cached_extent: 添加 prepare_commit 接口 (pr#53941, Xuehan Xu)
crimson/os/seastore/cbj: 修复 segment_seq 上潜在的溢出错误 (pr#53968, Myoungwon Oh)
crimson/os/seastore/collection_manager: 在 clean reads 上填充 CollectionNode::decoded (pr#53956, Xuehan Xu)
crimson/os/seastore/journal/cbj: 泛化 scan_valid_records() (pr#53961, Myoungwon Oh, Yingxin Cheng)
crimson/os/seastore/omap_manager: 正确的编辑器设置 (pr#53947, Zhang Song)
crimson/os/seastore/omap_manager: 修复 BtreeOMapManager::omap_list() 中的条目泄漏问题 (pr#53962, Xuehan Xu)
crimson/os/seastore/onode_manager: 填充要擦除的 onode 的值记录器 (pr#53966, Xuehan Xu)
crimson/os/seastore/rbm: 使 rbm 支持多分片 (pr#53952, Myoungwon Oh)
crimson/os/seastore/transaction_manager: 数据丢失问题 (pr#53955, Xuehan Xu)
crimson/os/seastore/transaction_manager: 在重新映射原始 pin 的“back”一半时,通过“remap_offset”移动 intermediate_key (pr#54140, Xuehan Xu)
crimson/os/seastore/zbd: zbdsegmentmanager write path fixes (pr#54062, Aravind Ramesh)
crimson/os/seastore: 添加有关总失效事务的指标 (pr#53953, Zhang Song)
crimson/os/seastore: 在 CachedExtent 的 copy ctor 中创建页面对齐的 bufferptr (pr#54097, Zhang Song)
crimson/os/seastore: 启用 SMR HDD (pr#53935, Aravind Ramesh)
crimson/os/seastore: 修复 segment_manager.h 中的 ceph_assert (pr#53938, Aravind Ramesh)
crimson/os/seastore: 修复 SeaStore::Shard::stat() 中 oid 的悬空引用 (pr#53960, Xuehan Xu)
crimson/os/seastore: 修复 check_node 中的错误 (pr#53945, Xinyu Huang)
crimson/os/seastore: seastore 中的 OP_CLONE (pr#54092, xuxuehan, Xuehan Xu)
crimson/os/seastore: 在带有覆盖重构的 split overwrite 中实现延迟读取 (pr#53951, Xinyu Huang)
crimson/os/seastore: retire_extent_addr 清理 (pr#53959, Xinyu Huang)
crimson/osd/heartbeat: 改进 maybe_share_osdmap 行为 (pr#53940, Samuel Just)
crimson/osd/lsan_suppressions.cc: 添加 MallocExtension::Initialize() (pr#54057, Mark Nelson, Matan Breizman)
crimson/osd/lsan_suppressions: 添加 MallocExtension::Register (pr#54139, Matan Breizman)
crimson/osd/object_context: 只要克隆在 SnapSet::clones 中,就认为找到克隆 (pr#53965, Xuehan Xu)
crimson/osd/osd_operations: 添加 LogMissingRequest 管道以同步它 (pr#53957, Xuehan Xu)
crimson/osd/osd_operations: 管道用户的命名一致 (pr#54060, Matan Breizman)
crimson/osd/pg: 在判断对象时检查 backfill_state 是否存在 (pr#53963, Xuehan Xu)
crimson/osd/watch: 在 Watch/Notify 周围添加日志 (pr#53950, Matan Breizman)
crimson/osd: 为 LSan 添加嵌入式抑制规则集 (pr#53937, Radoslaw Zarzynski)
crimson/osd: 清理并删除 OSD::ShardDispatcher (pr#54138, Yingxin Cheng)
Crimson/osd: 禁用并发 MOSDMap 处理 (pr#53944, Matan Breizman)
crimson/osd: 不要忽略 start_pg_operation 返回的 future (pr#53948, Matan Breizman)
crimson/osd: 修复访问 RadosGW 用户存储桶索引时的 ENOENT (pr#53942, Radoslaw Zarzynski)
crimson/osd: 修复 Watch::notify_ack 中的 Notify 生命周期管理不善 (pr#53943, Radoslaw Zarzynski)
crimson/osd: 多核 OSD 相关的修复和清理 (pr#54091, Yingxin Cheng)
Crimson/osd: 支持多核 osd (pr#54058, chunmei)
crimson/tools/perf_crimson_msgr: 集成多核 msgr 并进行各种改进 (pr#54059, Yingxin Cheng)
crimson/tools/perf_crimson_msgr: 随机化客户端 nonce (pr#54093, Yingxin Cheng)
crimson/tools/perf_staged_fltree: 修复编译错误 (pr#54096, Myoungwon Oh)
crimson/vstart: 默认 seastore_device_size 将超出空间... (pr#53969, chunmei)
crimson: 使用 seastar 时启用 tcmalloc (pr#54105, Mark Nelson, Matan Breizman)
debian/control: 为 cephadm 包添加 docker-ce 作为 recommends (pr#52908, Adam King)
Debian: 更新到 dh compat 12,修复更严重的打包错误,更正版权语法 (pr#53654, Matthew Vernon)
doc/architecture.rst - 编辑一个句子 (pr#53372, Zac Dover)
doc/architecture.rst - 编辑到 "Cluster Map" (pr#53366, Zac Dover)
doc/architecture: "Edit HA Auth" (pr#53619, Zac Dover)
doc/architecture: "Edit HA Auth" (多个之一) (pr#53585, Zac Dover)
doc/architecture: "Edit HA Auth" (多个之一) (pr#53491, Zac Dover)
doc/architecture: 编辑 "Calculating PG IDs" (pr#53748, Zac Dover)
doc/architecture: 编辑 "Cluster Map" (pr#53434, Zac Dover)
doc/architecture: 编辑 "Data Scrubbing" (pr#53730, Zac Dover)
doc/architecture: 编辑 "HA Auth" (pr#53488, Zac Dover)
doc/architecture: 编辑 "HA Authentication" (pr#53632, Zac Dover)
doc/architecture: 编辑 "High Avail. Monitors" (pr#53451, Zac Dover)
doc/architecture: 编辑 "OSD Membership and Status" (pr#53727, Zac Dover)
doc/architecture: 编辑 "OSDs service clients directly" (pr#53686, Zac Dover)
doc/architecture: 编辑 "Peering and Sets" (pr#53871, Zac Dover)
doc/architecture: 编辑 "Replication" (pr#53738, Zac Dover)
doc/architecture: 编辑 "SDEH" (pr#53659, Zac Dover)
doc/architecture: 编辑几个部分 (pr#53742, Zac Dover)
doc/architecture: 修复 RBD 句子 (pr#53877, Zac Dover)
doc/ceph-volume: 解释幂等性 (pr#54233, Zac Dover)
doc/ceph-volume: 改进前言 (pr#54235, Zac Dover)
doc/cephadm/services: 删除 osd.rst 中多余的渲染缩进 (pr#54323, Ville Ojamo)
doc/cephadm: 在 install.rst 中添加 ssh 注释 (pr#53199, Zac Dover)
doc/cephadm: 编辑 install.rst 中的 "Adding Hosts" (pr#53224, Zac Dover)
doc/cephadm: 编辑 mgr.rst 中的句子 (pr#53164, Zac Dover)
doc/cephadm: 编辑 troubleshooting.rst (1 of x) (pr#54283, Zac Dover)
doc/cephadm: 编辑 troubleshooting.rst (2 of x) (pr#54320, Zac Dover)
doc/cephadm: 修复 cephadm initial crush location section 中的拼写错误 (pr#52887, John Mulligan)
doc/cephadm: 修复 set ssh key 命令中的拼写错误 (pr#54388, Piotr Parczewski)
doc/cephadm: 更新 cephadm reef 版本 (pr#53162, Rongqi Sun)
doc/cephfs: 编辑 mount-using-fuse.rst (pr#54353, Jaanus Torp)
doc/cephfs: 在文档中完整地写出 cephfs 命令 (pr#53402, Rishabh Dave)
doc/config: 编辑 "ceph-conf.rst" (pr#54463, Zac Dover)
doc/configuration: 编辑 mon-config-ref.rst 中的 "bg" (pr#53347, Zac Dover)
doc/dev/release-checklist: 检查 telemetry 验证 (pr#52805, Yaarit Hatuka)
doc/dev: 修复 cephfs-mirroring.rst 和 deduplication.rst 文件中的拼写错误 (pr#53519, Daniel Parkes)
doc/dev: 删除 cache-pool (pr#54007, Zac Dover)
doc/glossary: 将 "primary affinity" 添加到词汇表 (pr#53427, Zac Dover)
doc/glossary: 将 "Quorum" 添加到词汇表 (pr#54509, Zac Dover)
doc/glossary: 改进 "BlueStore" 条目 (pr#54265, Zac Dover)
doc/man/8/ceph-monstore-tool: 添加文档 (pr#52872, Matan Breizman)
doc/man/8: 改进 radosgw-admin.rst (pr#53267, Anthony D'Atri)
doc/man: 编辑 ceph-monstore-tool.rst (pr#53476, Zac Dover)
doc/man: radosgw-admin.rst 拼写错误 (pr#53315, Zac Dover)
doc/man: 删除有关支持 unix 域套接字的文档 (pr#53312, Zac Dover)
doc/man: s/kvstore-tool/monstore-tool/ (pr#53536, Zac Dover)
doc/rados/configuration: 避免在 msgr2.rst 中重复 "support" (pr#52998, Ville Ojamo)
doc/rados: 将 bulk 标志添加到 pools.rst (pr#53317, Zac Dover)
doc/rados: 编辑 "troubleshooting-mon" (pr#54502, Zac Dover)
doc/rados: 编辑 memory-profiling.rst (pr#53932, Zac Dover)
doc/rados: 编辑 operations/add-or-rm-mons (1 of x) (pr#52889, Zac Dover)
doc/rados: 编辑 operations/add-or-rm-mons (2 of x) (pr#52825, Zac Dover)
doc/rados: 编辑 ops/control.rst (1 of x) (pr#53811, zdover23, Zac Dover)
doc/rados: 编辑 ops/control.rst (2 of x) (pr#53815, Zac Dover)
doc/rados: 编辑 t-mon "common issues" (1 of x) (pr#54418, Zac Dover)
doc/rados: 编辑 t-mon "common issues" (2 of x) (pr#54421, Zac Dover)
doc/rados: 编辑 t-mon "common issues" (3 of x) (pr#54438, Zac Dover)
doc/rados: 编辑 t-mon "common issues" (4 of x) (pr#54443, Zac Dover)
doc/rados: 编辑 t-mon "common issues" (5 of x) (pr#54455, Zac Dover)
doc/rados: 编辑 t-mon.rst 文本 (pr#54349, Zac Dover)
doc/rados: 编辑 t-shooting-mon.rst (pr#54427, Zac Dover)
doc/rados: 编辑 troubleshooting-mon.rst (2 of x) (pr#52839, Zac Dover)
doc/rados: 编辑 troubleshooting-mon.rst (3 of x) (pr#53879, Zac Dover)
doc/rados: 编辑 troubleshooting-mon.rst (4 of x) (pr#53897, Zac Dover)
doc/rados: 编辑 troubleshooting-osd (1 of x) (pr#53982, Zac Dover)
doc/rados: 编辑 troubleshooting-osd (2 of x) (pr#54000, Zac Dover)
doc/rados: 编辑 troubleshooting-osd (3 of x) (pr#54026, Zac Dover)
doc/rados: 编辑 troubleshooting-pg (2 of x) (pr#54114, Zac Dover)
doc/rados: 编辑 troubleshooting-pg.rst (pr#54228, Zac Dover)
doc/rados: 编辑 troubleshooting-pg.rst (1 of x) (pr#54073, Zac Dover)
doc/rados: 编辑 troubleshooting.rst (pr#53837, Zac Dover)
doc/rados: 编辑 troubleshooting/community.rst (pr#53881, Zac Dover)
doc/rados: 格式化 "initial troubleshooting" (pr#54477, Zac Dover)
doc/rados: 格式化 t-mon.rst 中的 Q&A 列表 (pr#54345, Zac Dover)
doc/rados: 格式化 tshooting-mon.rst 中的 Q&A 列表 (pr#54366, Zac Dover)
doc/rados: 改进 "scrubbing" 解释 (pr#54270, Zac Dover)
doc/rados: 并行化 t-mon 标题 (pr#54461, Zac Dover)
doc/rados: 删除 cache-tiering-related keys (pr#54227, Zac Dover)
doc/rados: 删除 FileStore 材料(在 Reef 中)(pr#54008, Zac Dover)
doc/rados: 删除 HitSet-related key information (pr#54217, Zac Dover)
doc/rados: 更新 monitoring-osd-pg.rst (pr#52958, Zac Dover)
doc/radosgw: 改进 dynamicresharding.rst (pr#54368, Anthony D'Atri)
doc/radosgw: 改进 config-ref.rst 中的语言和格式 (pr#52835, Ville Ojamo)
doc/radosgw: multisite - 编辑 "migrating a single-site" (pr#53261, Qi Tao)
doc/radosgw: 更新速率限制管理 (pr#52910, Zac Dover)
doc/README.md - 编辑 "Building Ceph" (pr#53057, Zac Dover)
doc/README.md - 改进 "Running a test cluster" (pr#53258, Zac Dover)
doc/rgw: 更正有关默认区域功能的陈述 (pr#52833, Casey Bodley)
doc/rgw: pubsub capabilities reference 已从文档中删除 (pr#54137, Yuval Lifshitz)
doc/rgw: 支持多个响应头 (pr#52803, Casey Bodley)
doc/start: 更正 ABC 测试图表 (pr#53256, Dmitry Kvashnin)
doc/start: 编辑 os-recommendations.rst (pr#53179, Zac Dover)
doc/start: 修复 hardware-recommendations.rst 中的拼写错误 (pr#54480, Anthony D'Atri)
doc/start: 现代化并澄清 hardware-recommendations.rst (pr#54071, Anthony D'Atri)
doc/start: 重构 ABC 测试图表 (pr#53094, Zac Dover)
doc/start: 更新 "platforms" 表 (pr#53075, Zac Dover)
doc/start: 更新链接约定 (pr#52912, Zac Dover)
doc/start: 更新链接约定 (pr#52841, Zac Dover)
doc/troubleshooting: 编辑 cpu-profiling.rst (pr#53059, Zac Dover)
doc: 添加有关卷删除可能死锁的注释 (pr#52946, Kotresh HR)
doc: 添加有关删除(自动)分区策略的注释 (pr#53569, Venky Shankar)
doc: 添加 Reef 18.2.0 版本说明 (pr#52905, Zac Dover)
doc: 添加手动 CRUSH 规则删除的警告 (pr#53420, Alvin Owyong)
doc: 澄清 upmap balancer 文档 (pr#53004, Laura Flores)
doc: 更正选项名称 (pr#53128, Patrick Donnelly)
doc: 不建议从 git 拉取 cephadm (pr#52997, John Mulligan)
doc: 有关主要 Ceph 指标的文档 (pr#54111, Juan Miguel Olmo Martínez)
doc: 编辑 README.md - 贡献代码 (pr#53049, Zac Dover)
doc: 扩展和整合 mds placement (pr#53146, Patrick Donnelly)
doc: 修复 mds cap acquisition throttle 的文档 (pr#53024, Kotresh HR)
doc: 改进 submodule update 命令 - README.md (pr#53000, Zac Dover)
doc: 使获取更新的 cephadm 的说明变得通用 (pr#53260, John Mulligan)
doc: 从 dev/developer_guide/running-tests-locally 中删除 egg fragment (pr#53853, Dhairya Parmar)
doc: 更新 dynamicresharding.rst (pr#54329, Aliaksei Makarau)
doc: 更新 mClock QOS 文档以丢弃 osd_mclock_cost_per\_* (pr#54079, tanchangzhi)
doc: 更新 rados.cc (pr#52967, Zac Dover)
doc: 更新 README.md 中的测试集群命令 (pr#53349, Zac Dover)
exporter: 将 ceph_daemon 标签添加到 labeled counters (pr#53695, avanthakkar)
在详细信息卡中公开了 open api 和 telemetry 链接 (pr#53142, cloudbehl, dpandit)
libcephsqlite: 在未读部分缓冲区中填充 0s (pr#53101, Patrick Donnelly)
librbd: 当等待锁时客户端被 blocklisted 时,启动 ExclusiveLock 状态机 (pr#53293, Ramana Raja)
librbd: 启动 ExclusiveLock 状态机,该状态机因等待 reacquire_lock() 中的锁而停滞 (pr#53919, Ramana Raja)
librbd: 使 CreatePrimaryRequest 删除任何未链接的镜像快照 (pr#53276, Ilya Dryomov)
MClientRequest: 正确处理 ceph_mds_request_head_legacy 的 ext_num_retry、ext_num_fwd、owner_uid、owner_gid (pr#54407, Alexander Mikhalitsyn)
MDS imported_inodes metric 未更新 (pr#51698, Yongseok Oh)
mds/FSMap: 如果没有 up 的 mds,则允许升级 (pr#53851, Patrick Donnelly)
mds/Server: 在请求中标记 cap acquisition throttle 事件 (pr#53168, Leonid Usov)
mds: 在 open 中获取 inode snaplock (pr#53183, Patrick Donnelly)
mds: 为批处理 getattr/lookup 添加事件 (pr#53558, Patrick Donnelly)
mds: 调整 MDLog 的 pre_segments_size,以便在...时修剪 segment (issue#59833, pr#54035, Venky Shankar)
mds: blocklist 具有“臃肿”会话元数据的客户端 (issue#62873, issue#61947, pr#53329, Venky Shankar)
mds: 不要为 CEPH_SNAP_OP_UPDATE msg 发送 split_realms (pr#52847, Xiubo Li)
mds: 锁集更改时删除锁并重试 (pr#53241, Patrick Donnelly)
mds: 打印突变操作时转储锁 (pr#52975, Patrick Donnelly)
mds: 修复 unlinking 和 linkmerge 之间的死锁 (pr#53497, Xiubo Li)
mds: 修复使用 scrub 的 stray evaluation 并引入新选项 (pr#50813, Dhairya Parmar)
mds: 修复 linkmerge 断言检查 (pr#52724, Kotresh HR)
mds: 因 asok 命令退出时记录消息 (pr#53548, Patrick Donnelly)
mds: MDLog::_recovery_thread: 优雅地处理错误 (pr#52512, Jos Collin)
mds: session ls 命令在命令列表中出现两次 (pr#52515, Neeraj Pratap Singh)
mds: 如果会话被删除,则跳过转发请求 (pr#52846, Xiubo Li)
mds: 在重放期间更新 mdlog 性能计数器 (pr#52681, Patrick Donnelly)
mds: 在 MDSAuthCaps 中直接使用变量 g_ceph_context (pr#52819, Rishabh Dave)
mgr/cephadm: 向 orch apply rgw 添加 "networks" 参数 (pr#53120, Teoman ONAY)
mgr/cephadm: 添加在排空主机时 zap OSD 设备的能力 (pr#53869, Adam King)
mgr/cephadm: 向 HostCache 添加 is_host\_
函数 (pr#53118, Adam King) mgr/cephadm: 为 ceph orch ps 添加 sort-by 支持 (pr#53867, Redouane Kachach)
mgr/cephadm: 允许排空主机而不删除 conf/keyring 文件 (pr#53123, Adam King)
mgr/cephadm: 也不要将客户端文件/tuned profiles 写入维护主机 (pr#53111, Adam King)
mgr/cephadm: ipv6 地址被方括号包围时 ceph orch add 失败 (pr#53870, Teoman ONAY)
mgr/cephadm: 不要在 orch upgrade ls 中使用镜像标签 (pr#53865, Adam King)
mgr/cephadm: 修复 reef 中的默认镜像库 (pr#53922, Adam King)
mgr/cephadm: 修复 orch ps 的 REFRESHED 列未填充的问题 (pr#53741, Adam King)
mgr/cephadm: 修复 nvmeof 升级 (pr#53924, Adam King)
mgr/cephadm: 删除生成的 nvmeof 配置中的双引号 (pr#53868, Redouane Kachach)
mgr/cephadm: 执行命令失败时显示有意义的消息 (pr#53106, Redouane Kachach)
mgr/cephadm: 将 prometheus/alertmanager 凭据存储在 monstore 中 (pr#53119, Redouane Kachach)
mgr/cephadm: 在删除之前验证主机标签 (pr#53112, Redouane Kachach)
mgr/dashboard: 为 cephfs 管理添加 e2e 测试 (pr#53190, Nizamudeen A)
mgr/dashboard: 在延迟图中添加更多小数位 (pr#52727, Pedro Gonzalez Gomez)
mgr/dashboard: 在 rgw multisite 的 import realm token form 中添加 port 和 zone endpoints (pr#54118, Aashish Sharma)
mgr/dashboard: 在表单中为 size 字段添加验证器 (pr#53378, Nizamudeen A)
mgr/dashboard: 对齐 landing page 的图表 (pr#53543, Pedro Gonzalez Gomez)
mgr/dashboard: 允许 CORS 中的 PUT (pr#52705, Nizamudeen A)
mgr/dashboard: 允许使用配置选项 tls 1.2 (pr#53780, Nizamudeen A)
mgr/dashboard: Block Ui fails in angular with target es2022 (pr#54260, Aashish Sharma)
mgr/dashboard: cephfs volume 和 subvolume 管理 (pr#53017, Pedro Gonzalez Gomez, Nizamudeen A, Pere Diaz Bou)
mgr/dashboard: cephfs volume rm and rename (pr#53026, avanthakkar)
mgr/dashboard: 清理 dashboard e2e 中的 rbd-mirror 进程 (pr#53220, Nizamudeen A)
mgr/dashboard: 集群升级管理(批量反向移植)(pr#53016, avanthakkar, Nizamudeen A)
mgr/dashboard: Dashboard RGW multisite configuration (pr#52922, Aashish Sharma, Pedro Gonzalez Gomez, Avan Thakkar, avanthakkar)
mgr/dashboard: 编辑文件系统时禁用 hosts 字段 (pr#54069, Nizamudeen A)
mgr/dashboard: 如果未启用镜像,则禁用 promote (pr#52536, Pedro Gonzalez Gomez)
mgr/dashboard: 如果未在镜像上启用分层,则禁用保护 (pr#53173, avanthakkar)
mgr/dashboard: 在 cephfs subvolume 选项卡中显示组 (pr#53394, Pedro Gonzalez Gomez)
mgr/dashboard: 守护程序性能的空 grafana 面板 (pr#52774, Avan Thakkar, avanthakkar)
mgr/dashboard: 如果启用分层,则启用保护选项 (pr#53795, avanthakkar)
mgr/dashboard: 修复 cephfs create form validator (pr#53219, Nizamudeen A)
mgr/dashboard: 修复 cephfs form validator (pr#53778, Nizamudeen A)
mgr/dashboard: 修复 cephfs forms validations (pr#53831, Nizamudeen A)
mgr/dashboard: 修复 image columns naming (pr#53254, Pedro Gonzalez Gomez)
mgr/dashboard: 修复进度条颜色可见性 (pr#53209, Nizamudeen A)
mgr/dashboard: 修复 prometheus queries subscriptions (pr#53669, Pedro Gonzalez Gomez)
mgr/dashboard: 修复 rgw multi-site import form helper (pr#54395, Aashish Sharma)
mgr/dashboard: 修复没有 rgw 实体时 rgw multisite 错误 (pr#54261, Aashish Sharma)
mgr/dashboard: 修复主机名无法解析时 rgw page 问题 (pr#53214, Nizamudeen A)
mgr/dashboard: 修复仪表板中的 rgw port manipulation error (pr#53392, Nizamudeen A)
mgr/dashboard: 修复 landing page 布局问题 (issue#62961, pr#53835, Nizamudeen A)
mgr/dashboard: 修复 rgw overview dashboard 中用户/存储桶计数 (pr#53818, Aashish Sharma)
mgr/dashboard: 修复编辑用户配额表单错误 (pr#54223, Ivo Almeida)
mgr/dashboard: images -> edit -> 禁用 layering 和 deef-flatten 复选框 (pr#53388, avanthakkar)
mgr/dashboard: 次要可用性改进 (pr#53143, cloudbehl)
mgr/dashboard: primary snapshot mode 后面的 n/a 条目 (pr#53223, Pere Diaz Bou)
mgr/dashboard: 对象网关清单卡不正确的存储桶和用户计数 (pr#53382, Aashish Sharma)
mgr/dashboard: 未配置 multisite 时,对象网关同步状态卡保持加载状态 (pr#53381, Aashish Sharma)
mgr/dashboard: 分页 hosts (pr#52918, Pere Diaz Bou)
mgr/dashboard: 当未提供磁盘使用量时,rbd image 隐藏使用条 (pr#53810, Pedro Gonzalez Gomez)
mgr/dashboard: 当没有健康警告时删除空弹出窗口 (pr#53652, Nizamudeen A)
mgr/dashboard: 删除旧密码字段上的绿色勾号 (pr#53386, Nizamudeen A)
mgr/dashboard: 删除不必要的 failing hosts e2e (pr#53458, Pedro Gonzalez Gomez)
mgr/dashboard: 删除 used 和 total used 列,转而使用 usage bar (pr#53304, Pedro Gonzalez Gomez)
mgr/dashboard: 在 rgw multisite sync status card 中用上次同步时间戳替换同步进度条 (pr#53379, Aashish Sharma)
mgr/dashboard: RGW Details card 清理 (pr#53020, Nizamudeen A, cloudbehl)
mgr/dashboard: Rgw Multi-site naming improvements (pr#53806, Aashish Sharma)
mgr/dashboard: rgw multisite topology view shows blank table for multisite entities (pr#53380, Aashish Sharma)
mgr/dashboard: 为未经授权的访问设置 CORS 头 (pr#53201, Nizamudeen A)
mgr/dashboard: 显示一条消息,告知在从单站点迁移到多站点后重新启动 rgw 守护程序 (pr#53805, Aashish Sharma)
mgr/dashboard: subvolume rm with snapshots (pr#53233, Pedro Gonzalez Gomez)
mgr/dashboard: 更新 rgw multisite import form helper info (pr#54253, Aashish Sharma)
mgr/dashboard: 升级 angular v14 和 v15 (pr#52662, Nizamudeen A)
mgr/rbd_support: 修复 CreateSnapshotRequests lock 上的递归锁定 (pr#54289, Ramana Raja)
mgr/snap_schedule: 允许 retention spec 'n' 由用户定义 (pr#52748, Milind Changire, Jakob Haufe)
mgr/snap_schedule: 如果存在多个文件系统,则使 fs 参数成为强制性参数 (pr#54094, Milind Changire)
mgr/volumes: 修复 volume info 中的 pending_subvolume_deletions (pr#53572, Kotresh HR)
mgr: 在 ms_handle_accept 中注册 OSD (pr#53187, Patrick Donnelly)
mon, qa: 即使池为空也发出池应用程序警告 (pr#53041, Prashant D)
mon/ConfigMonitor: 从 osd 实体更新 crush_location (pr#52466, Didier Gazen)
mon/MDSMonitor: 在可能操作 osdmap 时插入 paxos (pr#52246, Patrick Donnelly)
mon/MonClient: 恢复原始 client_mount_timeout 处理 (pr#52535, Ilya Dryomov)
mon/OSDMonitor: 在 prepare_update 中出错时不要提议 (pr#53186, Patrick Donnelly)
mon: 修复 PGMap::apply_incremental 中的迭代器处理不当 (pr#52554, Oliver Schmidt)
msgr: AsyncMessenger 添加 faulted connections metrics (pr#53033, Pere Diaz Bou)
os/bluestore: 附加新时不需要 bluestore_db_block_size (pr#52942, Igor Fedotov)
os/bluestore: 在分配器中摆脱生成的 lba 对齐 (pr#54772, Igor Fedotov)
osd/OpRequest: 在 osd 日志文件中为延迟操作添加详细描述 (pr#53688, Yite Gu)
osd/OSDMap: 在 stretch 模式后检查不均匀的权重 & != 2 存储桶 (pr#52457, Kamoltat)
osd/scheduler/mClockScheduler: 对所有客户端使用相同的 profile 和 client ids,以确保分配的 QoS 限制消耗 (pr#53093, Sridhar Seshasayee)
osd: 修复 check_pg_upmaps 中的逻辑 (pr#54276, Laura Flores)
osd: 修复读取平衡器逻辑以避免冗余的主分配 (pr#53820, Laura Flores)
osd: 修复 build_incremental_map_msg() 中的 use-after-move (pr#54267, Ronen Friedman)
osd: fix: item_cost 较大时调度缓慢 (pr#53861, Jrchyang Yu)
Overview graph improvements (pr#53090, cloudbehl)
pybind/mgr/devicehealth: 如果 db 未准备好,则不要崩溃 (pr#52213, Patrick Donnelly)
pybind/mgr/pg_autoscaler: 减少 osdmap.get_pools 调用 (pr#52767, Kamoltat)
pybind/mgr/pg_autoscaler: 修复 pgs 不太少时的警告 (pr#53674, Kamoltat)
pybind/mgr/pg_autoscaler: noautoscale 标志保留单个池配置 (pr#53658, Kamoltat)
pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust (pr#53429, Kamoltat)
pybind/mgr/pg_autoscaler: 使用 bytes_used 作为 actual_raw_used (pr#53534, Kamoltat)
pybind/mgr/volumes: 记录互斥锁以帮助调试死锁 (pr#53918, Kotresh HR)
pybind/mgr: 在 blocklist 时重新打开数据库句柄 (pr#52460, Patrick Donnelly)
pybind/rbd: 不要在 aio_mirror_image_get_info() 中的错误上生成 info (pr#54055, Ilya Dryomov)
python-common/drive_group: 即使提供了 'spec',也处理 'spec' 之外的字段 (pr#53115, Adam King)
python-common/drive_selection: 降低 limit policy 消息的日志级别 (pr#53114, Adam King)
python-common: drive_selection: 修复 osdspec_affinity 未设置时的 KeyError (pr#53159, Guillaume Abrioux)
qa/cephfs: 修复 mdtest project 的构建失败 (pr#53827, Rishabh Dave)
qa/cephfs: 修复 ior project 构建失败 (pr#53825, Rishabh Dave)
qa/cephfs: 切换到 centos stream 9 的 python3 (pr#53624, Xiubo Li)
qa/rgw: 将新的 POOL_APP_NOT_ENABLED 故障添加到 log-ignorelist (pr#53896, Casey Bodley)
qa/smoke,orch,perf-basic: 将 POOL_APP_NOT_ENABLED 添加到 ignorelist (pr#54376, Prashant D)
qa/standalone/osd/divergent-prior.sh: Divergent test 3 with pg_autoscale_mode on pick divergent osd (pr#52721, Nitzan Mordechai)
qa/suites/crimson-rados: 将 centos9 添加到 supported distros (pr#54020, Matan Breizman)
qa/suites/crimson-rados: 恢复 backfill testing (pr#54021, Radoslaw Zarzynski, Matan Breizman)
qa/suites/crimson-rados: 使用 centos8 进行测试 (pr#54019, Matan Breizman)
qa/suites/krbd: 压力测试从 watch errors 中恢复 (pr#53786, Ilya Dryomov)
qa/suites/rbd: 添加测试以检查 rbd_support module recovery (pr#54291, Ramana Raja)
qa/suites/rbd: 删除缓存分层工作负载测试 (pr#53996, Ilya Dryomov)
qa/suites/upgrade: 启用默认 RBD 镜像功能 (pr#53352, Ilya Dryomov)
qa/suites/upgrade: 修复 stress-split upgrade tests 中的 env 缩进 (pr#53921, Laura Flores)
qa/suites/{rbd,krbd}: 禁用 POOL_APP_NOT_ENABLED 健康检查 (pr#53599, Ilya Dryomov)
qa/tests: 添加 - (POOL_APP_NOT_ENABLED) 到 ignore list (pr#54436, Yuri Weinstein)
qa: 将 centos_latest (9.stream) 和 ubuntu_20.04 yamls 添加到 supported-all-distro (pr#54677, Venky Shankar)
qa: 将 POOL_APP_NOT_ENABLED 添加到 cephfs tests 的 ignorelist (issue#62482, issue#62508, pr#54380, Venky Shankar, Patrick Donnelly)
qa: 为替换的 MDS 分配文件系统亲和性 (issue#61764, pr#54037, Venky Shankar)
qa: 将 pgbench scale factor 减小到 32 for postgresql database test (pr#53627, Xiubo Li)
qa: 修复 cephfs-mirror unwind 和 'fs volume create/rm' 顺序 (pr#52656, Jos Collin)
qa: 修复 rgw/crypt/barbican.yaml 中的 keystone (pr#53412, Ali Maredia)
qa: 忽略来自 damage tests 的预期集群警告 (pr#53484, Patrick Donnelly)
qa: 延长 thrashed MDS 的关闭超时 (pr#53553, Patrick Donnelly)
qa: 将 nfs (mgr/nfs) 相关测试移动到 fs suite (pr#53906, Dhairya Parmar, Venky Shankar)
qa: 等待文件具有正确的大小 (pr#52742, Patrick Donnelly)
qa: 等待 MDSMonitor tick 替换守护程序 (pr#52235, Patrick Donnelly)
RadosGW API: 对 HEAD /{bucket}/?usage 的响应中存储桶配额不正确 (pr#53437, shreyanshjain7174)
rbd-mirror: 修复 force promote 时 image replayer shut down description (pr#52880, Prasanna Kumar Kalever)
rbd-mirror: 修复阻止本地镜像删除的竞争条件 (pr#52627, N Balachandran)
rbd-nbd: 修复 disable request 导致的卡顿 (pr#54254, Prasanna Kumar Kalever)
read balancer documentation (pr#52777, Laura Flores)
Rgw overview dashboard backport (pr#53065, Aashish Sharma)
rgw/amqp: 消除 amqp 连接可能的竞争条件 (pr#53516, Yuval Lifshitz)
rgw/amqp: 跳过 idleness tests,因为它需要休眠超过 30s (pr#53506, Yuval Lifshitz)
rgw/crypt: 默认应用 rgw_crypt_default_encryption_key (pr#52796, Casey Bodley)
rgw/crypt: 不要解引用 null manifest_bl (pr#53590, Casey Bodley)
rgw/kafka: idle timeout 后无法重新连接到 broker (pr#53513, Yuval Lifshitz)
rgw/kafka: 确保在连接删除后调用 destroy (pr#53515, Yuval Lifshitz)
rgw/keystone: EC2Engine 使用 reject() 处理 ERR_SIGNATURE_NO_MATCH (pr#53762, Casey Bodley)
rgw/multisite[archive zone]: 修复在新存储桶入口点中存储存储桶实例信息的问题 (pr#53466, Shilpa Jagannath)
rgw/notification: 传入 bytes_transferred 以在 sync notification 中填充 object_size (pr#53377, Juan Zhu)
rgw/notification: 从 bucket notifications 中删除非 x-amz-meta-* 属性 (pr#53375, Juan Zhu)
rgw/notifications: 允许跨租户通知管理 (pr#53510, Yuval Lifshitz)
rgw/s3: ListObjectsV2 返回正确的对象所有者 (pr#54161, Casey Bodley)
rgw/s3select: 修复 QE 缺陷 (pr#54163, galsalomon66)
rgw/s3select: 与 Trino/TPCDS benchmark 和 QE tests 相关的 s3select 修复 (pr#53034, galsalomon66)
rgw/sal: get_placement_target_names() returns void (pr#53584, Casey Bodley)
rgw/sync-policy: 更正 "sync status" & "sync group" 命令 (pr#53395, Soumya Koduri)
rgw/upgrade: point upgrade suites to ragweed ceph-reef branch (pr#53797, Shilpa Jagannath)
RGW: 添加 admin 接口以按存储桶获取和删除通知 (pr#53509, Ali Masarwa)
rgw: 添加 radosgw-admin bucket check olh/unlinked commands (pr#53823, Cory Snyder)
rgw: 将版本控制信息添加到 radosgw-admin bucket stats output (pr#54191, Cory Snyder)
RGW: bucket notification - 列出主题时隐藏自动生成的主题 (pr#53507, Ali Masarwa)
rgw: 不要在 DeleteMultiObj 中解引用 nullopt (pr#54124, Casey Bodley)
rgw: fetch_remote_obj() 为 BlockDecrypt 保留原始 part lengths (pr#52816, Casey Bodley)
rgw: fetch_remote_obj() 对加密对象使用未压缩大小 (pr#54371, Casey Bodley)
rgw: 修复 convert_plain_entry_to_versioned 后 2 个 null versionID (pr#53398, rui ma, zhuo li)
rgw: 修复由于重新上传导致的分段上传对象泄漏 (pr#52615, J. Eric Ivancich)
rgw: 修复 rgw rate limiting RGWRateLimitInfo class decode_json max_rea… (pr#53765, xiangrui meng)
rgw: 修复 extra headers 以 'x-amz' 开头时的 SignatureDoesNotMatch (pr#53770, rui ma)
rgw: 修复 radosgw startup 时的 unwatch crash (pr#53760, lichaochao)
rgw: 使用 v4 auth 处理 http options CORS (pr#53413, Tobias Urdin)
rgw: 提高 chunkupload 场景中的 buffer list 利用率 (pr#53773, liubingrun)
rgw: 在没有 http_x_amz_date 的情况下选择 http_date (pr#53440, Seena Fallah, Mohamed Awnallah)
rgw: 使用 INVALIDATE_OBJ 重试元数据缓存通知 (pr#52798, Casey Bodley)
rgw: s3 object lock 避免 retention date 溢出 (pr#52604, Casey Bodley)
rgw: s3website 不会为 web_dir() check 预取 (pr#53767, Casey Bodley)
RGW: 解决 Multipart upload result 中未填充 etag 的问题 (pr#51447, Ali Masarwa)
RGW:notifications: persistent topics 不会通过 radosgw-admin 删除 (pr#53514, Ali Masarwa)
src/mon/Monitor: 修复 set_elector_disallowed_leaders (pr#54003, Kamoltat)
test/crimson/seastore/rbm: 向现有测试添加有关 RBM 的子测试 (pr#53967, Myoungwon Oh)
test/TestOSDMap: 不要使用已弃用的 std::random_shuffle 方法 (pr#52737, Leonid Usov)
valgrind: __run_exit_handlers suppression 下的 UninitCondition (pr#53681, Mark Kogan)
xfstests_dev: 从 powertools repo 安装 xfsprogs 的额外包 (pr#52843, Xiubo Li)