注意

本文档适用于 Ceph 的开发版本。

Reef

Reef 是 Ceph 的第 18 个稳定版本。它以礁鱿鱼 (Sepioteuthis) 命名。

v18.2.7 Reef

这是 Reef 系列的第七个回溯(热修复)版本。我们建议所有用户更新到此版本。

发布日期

2025 年 5 月 8 日

值得注意的变更

此版本修复了 18.2.5 和 18.2.6 版本中一个关键的 bluestore 回归问题 (https://github.com/ceph/ceph/pull/61653)。建议运行这两个版本中任何一个的用户尽早升级。

此版本还包括其他几个重要的 BlueStore 修复

变更日志

  • [reef] os/bluestore: 修复 _extend_log 序列推进 (pr#61653, Pere Diaz Bou)

  • blk/kerneldevice: 仅当 discard_drain 等待条件时才需要 notify_all (pr#62152, Yite Gu)

  • os/bluestore: 修复 ExtentDecoderPartial::_consume_new_blob (pr#62054, Adam Kupczyk)

  • os/bluestore: 修复 BlueFS 截断/删除中的竞争条件 (pr#62840, Adam Kupczyk)

v18.2.6 Reef

这是 Reef 系列的第六个回溯(热修复)版本。我们建议所有用户更新到此版本。

发布日期

2025 年 4 月 21 日

值得注意的变更

变更日志

  • ceph-volume: 修复 set_dmcrypt_no_workqueue 中的正则表达式用法 (pr#62791, Matt1360)

  • common/pick_address: 为 is_addr_in_subnet 添加 IPv6 支持 (pr#62814, rzarzynski)

v18.2.5 Reef

这是 Reef 系列的第五个回溯版本。我们建议所有用户更新到此版本。

发布日期

2025 年 4 月 8 日

值得注意的变更

  • RBD: rbd-nbd 的 try-netlink 映射选项已成为默认选项并已被弃用。如果内核不支持 NBD netlink 接口,则会使用旧版 ioctl 接口重试映射。

  • RADOS: 添加了一个新命令 ceph osd rm-pg-upmap-primary-all,允许用户在需要时清除 osdmap 中的所有 pg-upmap-primary 映射。

    相关跟踪器

变更日志

  • (重新引入) test/librados: 修复 LibRadosIoECPP.CrcZeroWrite (pr#61395, Samuel Just, Nitzan Mordechai)

  • .github: 同步 rbd 标签的路径列表,将测试标签扩展到 qa/* (pr#57727, Ilya Dryomov)

  • <common> 修复格式化器缓冲区越界 (pr#61105, liubingrun)

  • [reef] os/bluestore: 引入分配器状态直方图 (pr#61318, Igor Fedotov)

  • [reef] qa/multisite: 稳定多站点测试 (pr#60402, Shilpa Jagannath, Casey Bodley)

  • [reef] qa/rgw: rgw/verify 套件最后运行 java 测试 (pr#60849, Casey Bodley)

  • [RGW] 修复不符合 RFC 标准的 HEAD 请求的处理 (pr#59122, liubingrun)

  • 一系列 kerneldevice 丢弃优化 (pr#59048, Adam Kupczyk, Joshua Baergen, Gabriel BenHanokh, Matt Vandermeulen)

  • 添加 Containerfile 和 build.sh 来构建它 (pr#60228, Dan Mick)

  • 添加 RBD 镜像监控警报 (pr#56552, Arun Kumar Mohan)

  • AsyncMessenger.cc : 改进错误消息 (pr#61402, Anthony D’Atri)

  • AsyncMessenger: 如果 l_msgr_active_connections 为负数,则不要减少它 (pr#60445, Mohit Agrawal)

  • blk/aio: 修复长批次 (64K+ 条目) 提交 (pr#58675, Yingxin Cheng, Igor Fedotov, Adam Kupczyk, Robin Geuze)

  • blk/KernelDevice: 使用 join() 等待线程结束更安全 (pr#60615, Yite Gu)

  • bluestore/bluestore_types: 以另一种方式避免堆缓冲区溢出以保持代码一致性 (pr#58817, Rongqi Sun)

  • BlueStore: 改进碎片分数指标 (pr#59263, Adam Kupczyk)

  • build-with-container 修复执行位,dnf 缓存目录选项 (pr#61913, John Mulligan)

  • build-with-container: 修复和增强 (pr#62162, John Mulligan)

  • build: 将 boost_url 设为列表 (pr#58315, Adam Emerson)

  • ceph-mixin: 更新 mixin 以包含 nvmeof 网关的警报 (pr#56948, Adam King, Paul Cuzner)

  • ceph-volume: 允许在多路径设备上清除分区 (pr#62178, Guillaume Abrioux)

  • ceph-volume: 使用分区时创建 LV (pr#58220, Guillaume Abrioux)

  • ceph-volume: 如果源设备已分离,则进行清除 (pr#58996, Igor Fedotov)

  • ceph-volume: 修复 set_dmcrypt_no_workqueue() (pr#58997, Guillaume Abrioux)

  • ceph-volume: 修复 disk.get_devices() 中未绑定的变量 (pr#59262, Zack Cerza)

  • ceph-volume: 修复单元测试错误 (pr#59956, Guillaume Abrioux)

  • ceph-volume: 更新功能测试 (pr#56857, Guillaume Abrioux)

  • ceph-volume: 在 Python 3.8 及更高版本上使用 stdlib 中的 importlib (pr#58005, Guillaume Abrioux, Kefu Chai)

  • ceph-volume: 对 mkdir_p 使用 os.makedirs (pr#57472, Chen Yuanrun)

  • ceph.spec.in: 删除 command-with-macro 行 (pr#57357, John Mulligan)

  • ceph.spec.in: make check 需要所有发行版的 jsonnet (pr#60076, Kyr Shatskyy)

  • ceph_mon: 修复 MonitorDBStore 使用 (pr#54150, Matan Breizman)

  • ceph_test_rados_api_misc: 调整 LibRadosMiscConnectFailure.ConnectTimeout 超时 (pr#58137, Lucian Petrut)

  • cephadm/services/ingress: 在 keepalived 模板中配置安全用户 (pr#61151, Bernard Landon)

  • cephadm: 将 idmap.conf 添加到 nfs 样本文件 (pr#59453, Adam King)

  • cephadm: 在将显式端口添加到 firewalld 的部分中添加了对 --skip-firewalld 的检查 (pr#57519, Michaela Lang)

  • cephadm: CephExporter 在双栈中不绑定到 IPv6 (pr#59461, Mouratidis Theofilos)

  • cephadm: 更改 loki/promtail 默认镜像标签 (pr#57475, Guillaume Abrioux)

  • cephadm: 如果我们将启用 ms_bind_ipv6,则禁用 ms_bind_ipv4 (pr#61714, Dan van der Ster, Joshua Blanch)

  • cephadm: 如果不使用守护程序的镜像,则发出警告 (pr#61721, Matthew Vernon)

  • cephadm: 修复停止/失败守护程序的 cephadm shell --name <daemon-name> (pr#56490, Adam King)

  • cephadm: 修复名称中带有空格的 apparmor 配置文件 (pr#61712, John Mulligan)

  • cephadm: 修复 host-maintenance 命令总是以失败退出 (pr#59454, John Mulligan)

  • cephadm: 让代理在 JSON 加载 mgr 响应之前检查错误 (pr#59455, Adam King)

  • cephadm: 使引导程序默认为 public_network 设置的“global”部分 (pr#61918, Adam King)

  • cephadm: 锁定 tox 测试的 pyfakefs 版本 (pr#56762, Adam King)

  • cephadm: 从 quay.io 拉取容器镜像 (pr#60474, Guillaume Abrioux)

  • cephadm: rgw: 允许通过文件路径指定 ssl_certificate (pr#61922, Alexander Hussein-Kershaw)

  • cephadm: 支持 Docker Live Restore (pr#61916, Michal Nasiadka)

  • cephadm: 使用 --no-cgroups-split 引导时关闭 cgroups_split 设置 (pr#61716, Adam King)

  • cephadm: 使用 importlib.metadata 查询 ceph_iscsi 的版本 (pr#58323, Zac Dover)

  • CephContext: 在 notify_post_fork() 中获取 _fork_watchers_lock (issue#63494, pr#59266, Venky Shankar)

  • cephfs-journal-tool: 添加预防措施以避免文件系统损坏 (pr#57761, Jos Collin)

  • cephfs-mirror: 使用单调时钟 (pr#56701, Jos Collin)

  • cephfs-shell: 执行命令 ‘rmdir_helper’ 报告错误 (pr#58812, teng jie)

  • cephfs-shell: 修复 cephfs-shell 测试失败 (pr#60410, Neeraj Pratap Singh)

  • cephfs-shell: 启动时打印警告,挂起并中止 (pr#58088, Rishabh Dave)

  • cephfs-top: 修复小/大尺寸窗口上的异常 (pr#59898, Jos Collin)

  • cephfs: 添加命令“ceph fs swap” (pr#54942, Rishabh Dave)

  • cephfs: 修复 readdir_cache_cb 函数中的一个错误,该错误可能导致我们... (pr#58805, Tod Chen)

  • cephfs_mirror, qa: 修复镜像守护程序在被列入黑名单或失败时不会重新启动的问题 (pr#58632, Jos Collin)

  • cephfs_mirror, qa: 修复测试失败 test_cephfs_mirror_cancel_mirroring_and_readd (pr#60182, Jos Collin)

  • cephfs_mirror: ‘ceph fs snapshot mirror ls’ 命令 (pr#60178, Jos Collin)

  • cephfs_mirror: 修复 update_fs_mirrors() 中的崩溃 (pr#57451, Jos Collin)

  • cephfs_mirror: 当 sync_perms() 和 sync_snaps() 失败时增加 sync_failures (pr#57437, Jos Collin)

  • cephfs_mirror: 为上次成功的快照同步提供指标 (pr#59071, Jos Collin)

  • client: 在从 mdsmap 获取 mds_gid_t 之前检查 mds 宕机状态 (pr#58492, Yite Gu, Dhairya Parmar)

  • client: 仅在发送请求后清除 resend_mds (pr#57174, Patrick Donnelly)

  • client: 禁止非特权用户升级 root 权限 (pr#61379, Xiubo Li, Venky Shankar)

  • client: 如果文件句柄无效,则不进行 I/O (pr#58397, Venky Shankar, Dhairya Parmar)

  • client: 修复 mds_check_access 中开头的斜杠问题 (pr#58982, Kotresh HR, Rishabh Dave)

  • client: 修复符号链接的打开和读取 (pr#60373, Anoop C S)

  • client: 在文件系统同步中刷新 caps 释放 (pr#59397, Xiubo Li)

  • client: 请求卸载时记录调试消息 (pr#56955, Patrick Donnelly)

  • client: 阻止在 ll_sync_inode 中打印 Inode 时的竞争条件 (pr#59620, Chengen Du)

  • client: 设置 LIBMOUNT_FORCE_MOUNT2=always (pr#58529, Jakob Haufe)

  • cls/cas/cls_cas_internal: 在解码前初始化‘hash’值 (pr#59237, Nitzan Mordechai)

  • cls/user: 仅在截断时重置统计信息返回标记 (pr#60165, Casey Bodley)

  • cmake/arrow: 不要将警告视为错误 (pr#57375, Casey Bodley)

  • cmake: 使用 ExternalProjects 构建 isa-l 和 isa-l_crypto 库 (pr#60108, Casey Bodley)

  • common,osd: 如果测量的 IOPS 不真实,则使用最后一个有效的 OSD IOPS 值 (pr#60659, Sridhar Seshasayee)

  • common/admin_socket: 添加一个命令以引发信号 (pr#54357, Leonid Usov)

  • common/dout: 修复 GCC 14 上的 FTBFS (pr#59056, Radoslaw Zarzynski)

  • common/Formatter: 将 inf/nan 转储为 null (pr#60061, Md Mahamudur Rahaman Sajib)

  • common/options: 更改 mClock 的 HDD OSD 分片配置默认值 (pr#59972, Sridhar Seshasayee)

  • common/pick_address: 检查子网中的地址是否为所有公共地址 (pr#57590, Nitzan Mordechai)

  • common/StackStringStream: 在 overflow() 中更新指向新分配内存的指针 (pr#57362, Rongqi Sun)

  • common/TrackedOp: 不计算标记为 nowarn 的操作 (pr#58744, Xiubo Li)

  • common/TrackedOp: 重命名并提高慢操作性能计数器的优先级 (pr#59280, Yite Gu)

  • common: 修复 md_config_cacher_t (pr#61403, Ronen Friedman)

  • common: 在 Linux 上使用 close_range (pr#61625, edef)

  • container/build.sh: 在 NO_PUSH 上不需要 repo 凭据 (pr#61582, Dan Mick)

  • container/build.sh: 修复 org 与 repo 命名 (pr#61581, Dan Mick)

  • container/build.sh: 删除本地容器镜像 (pr#62065, Dan Mick)

  • container/Containerfile: 替换 CEPH_VERSION 标签以实现向后兼容性 (pr#61580, Dan Mick)

  • container: 重新添加标签 ceph=True (pr#61612, John Mulligan)

  • 容器化构建工具 [V2] (pr#61683, John Mulligan, Ernesto Puerta)

  • debian pkg: 为 ceph-volume 记录 python3-packaging 依赖项 (pr#59201, Kefu Chai, Thomas Lamprecht)

  • debian: 添加 ceph-exporter 包 (pr#56541, Shinya Hayashi)

  • debian: 为 ceph-mgr .requires 添加缺少的 bcrypt,以修复生成的包依赖项 (pr#54662, Thomas Lamprecht)

  • debian: 递归调整 /var/lib/ceph/crash 的权限 (pr#58458, Max Carrara)

  • doc,mailmap: 更新我的电子邮件/与 IBM 的关联 (pr#60339, Patrick Donnelly)

  • doc/ceph-volume: 添加溢出修复程序 (pr#59541, Zac Dover)

  • doc/cephadm/services: 重新改进 osd.rst (pr#61953, Anthony D’Atri)

  • doc/cephadm/upgrade: ceph-ci 容器由 quay.ceph.io 托管 (pr#58681, Casey Bodley)

  • doc/cephadm: 添加默认监控器镜像 (pr#57209, Zac Dover)

  • doc/cephadm: 添加格式错误 JSON 删除说明 (pr#59664, Zac Dover)

  • doc/cephadm: 澄清“部署新集群” (pr#60810, Zac Dover)

  • doc/cephadm: 清理“高级 OSD 服务规范” (pr#60680, Zac Dover)

  • doc/cephadm: 更正注释 (pr#61529, Zac Dover)

  • doc/cephadm: 编辑“使用自定义镜像” (pr#58941, Zac Dover)

  • doc/cephadm: 如何从设备获取精确的 size_spec (pr#59431, Zac Dover)

  • doc/cephadm: 改进“激活现有 OSD” (pr#61748, Zac Dover)

  • doc/cephadm: 改进“激活现有 OSD” (pr#61726, Zac Dover)

  • doc/cephadm: 链接到“主机模式”匹配部分 (pr#60645, Zac Dover)

  • doc/cephadm: Reef 默认镜像程序 (pr#57236, Zac Dover)

  • doc/cephadm: 从升级文档中删除降级参考 (pr#57086, Adam King)

  • doc/cephadm: 简化令人困惑的数学命题 (pr#61575, Zac Dover)

  • doc/cephadm: 更新 operations.rst (pr#60638, rhkelson)

  • doc/cephfs: 添加缓存压力信息 (pr#59149, Zac Dover)

  • doc/cephfs: 添加禁用 mgr/volumes 插件的文档 (pr#60497, Rishabh Dave)

  • doc/cephfs: 将指标添加到左侧窗格 (pr#57736, Zac Dover)

  • doc/cephfs: 消除“报告可用空间”的歧义 (pr#56872, Zac Dover)

  • doc/cephfs: 消除两个句子的歧义 (pr#57704, Zac Dover)

  • doc/cephfs: 灾难恢复专家清理 (pr#61447, Zac Dover)

  • doc/cephfs: 记录清除队列及其性能计数器 (pr#61194, Dhairya Parmar)

  • doc/cephfs: 编辑 fs-volumes.rst 中的“克隆快照” (pr#57666, Zac Dover)

  • doc/cephfs: 编辑“禁用卷插件” (pr#60468, Rishabh Dave)

  • doc/cephfs: 编辑“动态子树分区” (pr#58910, Zac Dover)

  • doc/cephfs: 编辑“mount helper 是否存在” (pr#58579, Zac Dover)

  • doc/cephfs: 编辑“布局字段”文本 (pr#59022, Zac Dover)

  • doc/cephfs: 编辑“固定子卷...” (pr#57663, Zac Dover)

  • doc/cephfs: 编辑使用内核驱动程序挂载的第 2/3 部分 (pr#61059, Zac Dover)

  • doc/cephfs: 编辑使用内核驱动程序挂载的第 3/3 部分 (pr#61081, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (pr#61424, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (2/x) (pr#61444, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (3/x) (pr#61454, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (4/x) (pr#61480, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (5/x) (pr#61500, Zac Dover)

  • doc/cephfs: 编辑灾难恢复专家 (6/x) (pr#61522, Zac Dover)

  • doc/cephfs: 编辑使用内核驱动程序挂载的第 1/3 部分 (pr#61042, Zac Dover)

  • doc/cephfs: 编辑 client-auth.rst 中的前置内容 (pr#57122, Zac Dover)

  • doc/cephfs: 编辑 mantle.rst 中的前置内容 (pr#57792, Zac Dover)

  • doc/cephfs: 编辑 fs-volumes.rst (1/x) (pr#57418, Zac Dover)

  • doc/cephfs: 编辑 fs-volumes.rst (1/x) 后续 (pr#57427, Zac Dover)

  • doc/cephfs: 编辑 fs-volumes.rst (2/x) (pr#57543, Zac Dover)

  • doc/cephfs: 编辑 snapshots.rst 中的语法 (pr#61460, Zac Dover)

  • doc/cephfs: 编辑 vstart 警告文本 (pr#57815, Zac Dover)

  • doc/cephfs: 修复“文件布局”链接 (pr#58876, Zac Dover)

  • doc/cephfs: 修复“OSD 功能”链接 (pr#58893, Zac Dover)

  • doc/cephfs: 修复错别字 (pr#58469, spdfnet)

  • doc/cephfs: 改进“布局字段”文本 (pr#59251, Zac Dover)

  • doc/cephfs: 改进 cache-configuration.rst (pr#59215, Zac Dover)

  • doc/cephfs: 改进 ceph-fuse 命令 (pr#56968, Zac Dover)

  • doc/cephfs: 重新组织子卷组信息 (pr#60436, Indira Sawant)

  • doc/cephfs: 细化 client-auth (1/3) (pr#56780, Zac Dover)

  • doc/cephfs: 细化 client-auth (2/3) (pr#56842, Zac Dover)

  • doc/cephfs: 细化 client-auth (3/3) (pr#56851, Zac Dover)

  • doc/cephfs: s/mountpoint/mount point/ (pr#59295, Zac Dover)

  • doc/cephfs: s/mountpoint/mount point/ (pr#59287, Zac Dover)

  • doc/cephfs: s/subvolumegroups/subvolume groups (pr#57743, Zac Dover)

  • doc/cephfs: 将命令分离成多个部分 (pr#57669, Zac Dover)

  • doc/cephfs: 精简一段话 (pr#58775, Zac Dover)

  • doc/cephfs: 接受 Anthony 的建议 (pr#58360, Zac Dover)

  • doc/cephfs: 更新 cephfs-shell 链接 (pr#58371, Zac Dover)

  • doc/cephfs: 使用 'p' 标志设置布局或配额 (pr#60483, TruongSinh Tran-Nguyen)

  • doc/dev/developer_guide/essentials: 更新邮件列表 (pr#62376, Laimis Juzeliunas)

  • doc/dev/peering: 更改活动集编号 (pr#59063, qn2060)

  • doc/dev/release-process.rst: 新容器构建/发布流程 (pr#60972, Dan Mick)

  • doc/dev/release-process.rst: 注意新的“项目”参数 (pr#57644, Dan Mick)

  • doc/dev: 添加“激活最新版本”RTD 步骤 (pr#59655, Zac Dover)

  • doc/dev: 为基本工作流添加格式 (pr#58738, Zac Dover)

  • doc/dev: 添加关于性能计数器引入的注释 (pr#57758, Zac Dover)

  • doc/dev: 为 perf_counters.rst 添加目标链接 (pr#57734, Zac Dover)

  • doc/dev: 编辑“格式更改原则” (pr#58576, Zac Dover)

  • doc/dev: 修复 encoding.rst 中的错别字 (pr#58305, N Balachandran)

  • doc/dev: 改进 basic-workflow.rst (pr#58938, Zac Dover)

  • doc/dev: 指示开发者进行回溯 (pr#61064, Zac Dover)

  • doc/dev: 链接到 ceph.io 引导列表 (pr#58106, Zac Dover)

  • doc/dev: 标记性能计数器的来源 (pr#57914, Zac Dover)

  • doc/dev: 删除“稳定版本和回溯” (pr#60273, Zac Dover)

  • doc/dev: 修复损坏的图片 (pr#57008, Zac Dover)

  • doc/dev: s/to asses/to assess/ (pr#57423, Zac Dover)

  • doc/dev_guide: 添加 needs-upgrade-testing 标签信息 (pr#58730, Zac Dover)

  • doc/developer_guide: 更新安装 teuthology 的文档 (pr#57750, Rishabh Dave)

  • doc/foundation.rst: 更新 Intel 联系人 (pr#61032, Neha Ojha)

  • doc/glossary.rst: 添加“Dashboard Plugin” (pr#60897, Zac Dover)

  • doc/glossary.rst: 添加“OpenStack Swift”和“Swift” (pr#57942, Zac Dover)

  • doc/glossary: 添加“ceph-ansible” (pr#59008, Zac Dover)

  • doc/glossary: 添加“ceph-fuse”条目 (pr#58944, Zac Dover)

  • doc/glossary: 将“DC”(数据中心)添加到词汇表 (pr#60876, Zac Dover)

  • doc/glossary: 添加“flapping OSD” (pr#60865, Zac Dover)

  • doc/glossary: 添加“对象存储” (pr#59425, Zac Dover)

  • doc/glossary: 将“PLP”添加到词汇表 (pr#60504, Zac Dover)

  • doc/glossary: 添加“Prometheus” (pr#58978, Zac Dover)

  • doc/glossary: 添加“S3” (pr#57983, Zac Dover)

  • doc/governance: 添加执行委员会职责 (pr#60140, Zac Dover)

  • doc/governance: 添加 Zac Dover 更新后的电子邮件 (pr#60135, Zac Dover)

  • doc/install: 修复 openEuler-installation doc 中的错别字 (pr#56413, Rongqi Sun)

  • doc/install: 保持创建的用户名称字段一致... (pr#59757, hejindong)

  • doc/man/8/radosgw-admin: 添加获取生命周期命令 (pr#57160, rkhudov)

  • doc/man: 添加缺少的长选项开关 (pr#57707, Patrick Donnelly)

  • doc/man: 编辑 ceph-bluestore-tool.rst (pr#59683, Zac Dover)

  • doc/man: 将“wsync”替换为默认的“nowsync” (pr#60200, Zac Dover)

  • doc/mds: 改进措辞 (pr#59586, Piotr Parczewski)

  • doc/mgr/dashboard: 修复 TLS 错别字 (pr#59032, Mindy Preston)

  • doc/mgr: 将根 CA 证书说明添加到 rgw.rst (pr#61885, Anuradha Gadge, Zac Dover)

  • doc/mgr: 编辑 dashboard.rst 中的“概述” (pr#57336, Zac Dover)

  • doc/mgr: 编辑“重定向前将 IP 地址解析为主机名” (pr#57296, Zac Dover)

  • doc/mgr: 解释错误消息 - dashboard.rst (pr#57109, Zac Dover)

  • doc/mgr: 删除 Zabbix 1 信息 (pr#56798, Zac Dover)

  • doc/monitoring: 改进 index.rst (pr#62266, Anthony D’Atri)

  • doc/rados/operations: 澄清拉伸模式与设备类 (pr#62078, Anthony D’Atri)

  • doc/rados/operations: 改进 crush-map-edits.rst (pr#62318, Anthony D’Atri)

  • doc/rados/operations: 改进 health-checks.rst (pr#59583, Anthony D’Atri)

  • doc/rados/operations: 改进 pools.rst (pr#61729, Anthony D’Atri)

  • doc/rados/operations: 从 crush 中删除虚荣集群名称引用... (pr#58948, Anthony D’Atri)

  • doc/rados/operations: 重新措辞 OSD 对等 (pr#57157, Piotr Parczewski)

  • doc/rados/troubleshooting: 改进 log-and-debug.rst (pr#60825, Anthony D’Atri)

  • doc/rados/troubleshooting: 改进 troubleshooting-pg.rst (pr#62321, Anthony D’Atri)

  • doc/rados: 添加“pgs 未及时进行深度擦洗”信息 (pr#59734, Zac Dover)

  • doc/rados: 添加 blaum_roth 编码指南 (pr#60538, Zac Dover)

  • doc/rados: 添加 bucket rename 命令 (pr#57027, Zac Dover)

  • doc/rados: 为 health-checks 添加 confval 指令 (pr#59872, Zac Dover)

  • doc/rados: 在 mon-lookup-dns.rst 中添加指向 messenger v2 信息的链接 (pr#59795, Zac Dover)

  • doc/rados: 添加网络配置参考选项 (pr#57916, Zac Dover)

  • doc/rados: 添加 osd_deep_scrub_interval 设置操作 (pr#59803, Zac Dover)

  • doc/rados: 将 pg-states 和 pg-concepts 添加到树中 (pr#58050, Zac Dover)

  • doc/rados: 添加 stop monitor 命令 (pr#57851, Zac Dover)

  • doc/rados: 添加 stretch_rule 变通方法 (pr#58182, Zac Dover)

  • doc/rados: 更正“full ratio”注释 (pr#60738, Zac Dover)

  • doc/rados: 感谢 Prashant 的程序 (pr#58258, Zac Dover)

  • doc/rados: 记录手动传递搜索域 (pr#58432, Zac Dover)

  • doc/rados: 记录未找到对象缓存分层方案 (pr#59381, Zac Dover)

  • doc/rados: 编辑“放置组永不清理” (pr#60047, Zac Dover)

  • doc/rados: 编辑 troubleshooting-osd.rst (pr#58272, Zac Dover)

  • doc/rados: 解释命令的可替换部分 (pr#58060, Zac Dover)

  • doc/rados: 修复 ms_bind_port_max 的过时值 (pr#57048, Pierre Riteau)

  • doc/rados: 修复 health-checks (2/x) 中的句子 (pr#60932, Zac Dover)

  • doc/rados: 修复 health-checks (3/x) 中的句子 (pr#60950, Zac Dover)

  • doc/rados: PR#58057 后续工作 (pr#58162, Zac Dover)

  • doc/rados: 改进 leader/peon 监控器解释 (pr#57959, Zac Dover)

  • doc/rados: 改进 pg_num/pgp_num 信息 (pr#62057, Zac Dover)

  • doc/rados: 使 health-checks.rst 中的句子一致 (pr#60921, Zac Dover)

  • doc/rados: 池和命名空间是独立的 osdcap 限制 (pr#61524, Ilya Dryomov)

  • doc/rados: PR#57022 未完成的工作 (pr#57265, Zac Dover)

  • doc/rados: 删除双栈文档 (pr#57073, Zac Dover)

  • doc/rados: 删除冗余的 pg 修复命令 (pr#57040, Zac Dover)

  • doc/rados: s/cepgsqlite/cephsqlite/ (pr#57247, Zac Dover)

  • doc/rados: 规范“clean”的标记 (pr#60501, Zac Dover)

  • doc/rados: 更新如何安装 c++ 头文件 (pr#58308, Pere Diaz Bou)

  • doc/radosgw/config-ref: 修复 lc worker 线程调优 (pr#61438, Laimis Juzeliunas)

  • doc/radosgw/multisite: 修复配置辅助区域 -> 更新周期 (pr#60333, Casey Bodley)

  • doc/radosgw/s3: 更正 eTag 操作匹配表 (pr#61309, Anthony D’Atri)

  • doc/radosgw: 消除版本添加备注的歧义 (pr#57141, Zac Dover)

  • doc/radosgw: 改进 archive-sync-module.rst (pr#60853, Anthony D’Atri)

  • doc/radosgw: 进一步改进 archive-sync-module.rst (pr#60868, Anthony D’Atri)

  • doc/radosgw: s/zonegroup/pools/ (pr#61557, Zac Dover)

  • doc/radosgw: 更新 Reef S3 操作列表 (pr#57365, Zac Dover)

  • doc/radosgw: 更新 rgw_dns_name 文档 (pr#60886, Zac Dover)

  • doc/radosgw: 对 reshared 配置选项使用 'confval' 指令 (pr#57024, Casey Bodley)

  • doc/rbd/rbd-exclusive-locks: 提及与 advisory locks 的不兼容性 (pr#58864, Ilya Dryomov)

  • doc/rbd: 为镜像命令添加命名空间信息 (pr#60270, N Balachandran)

  • doc/rbd: 修复 NVMe-oF 文档中的错别字 (pr#58188, N Balachandran)

  • doc/rbd: 在实时导入示例中使用 https 链接 (pr#61604, Ilya Dryomov)

  • doc/README.md - 添加有序列表 (pr#59799, Zac Dover)

  • doc/README.md: 创建可选择的命令 (pr#59835, Zac Dover)

  • doc/README.md: 编辑“构建先决条件” (pr#59638, Zac Dover)

  • doc/README.md: 改进格式 (pr#59786, Zac Dover)

  • doc/README.md: 改进格式 (pr#59701, Zac Dover)

  • doc/releases: 为 quincy 添加 actual_eol (pr#61360, Zac Dover)

  • doc/releases: 为 releases.yml 添加排序注释 (pr#62193, Anthony D’Atri)

  • doc/rgw/d3n: 将缓存目录卷传递给 extra_container_args (pr#59768, Mark Kogan)

  • doc/rgw/notification: 持久通知队列满行为 (pr#59234, Yuval Lifshitz)

  • doc/rgw/notifications: 指定默认启用哪些事件类型 (pr#54500, Yuval Lifshitz)

  • doc/security: 删除旧的 GPG 信息 (pr#56914, Zac Dover)

  • doc/security: 更新 CVE 列表 (pr#57018, Zac Dover)

  • doc/src: 为变量添加内联字面量 (` `` ) (`pr#57937, Zac Dover)

  • doc/src: invadvisable 不是一个词 (pr#58190, Doug Whitfield)

  • doc/start/os-recommendations: 删除 CentOS 7 的 16.2.z 支持 (pr#58721, gukaifeng)

  • doc/start: 添加新手指南 (pr#57822, Zac Dover)

  • doc/start: 添加新手指南链接 (pr#58203, Zac Dover)

  • doc/start: 添加测试过的容器主机操作系统 (pr#58713, Zac Dover)

  • doc/start: 添加 vstart 安装指南 (pr#60462, Zac Dover)

  • doc/start: 编辑新手指南 (pr#57845, Zac Dover)

  • doc/start: 修复“are are”错别字 (pr#60709, Zac Dover)

  • doc/start: 修复措辞和语法 (pr#58364, Piotr Parczewski)

  • doc/start: 在 Ceph 简介中提及 RGW (pr#61927, Anthony D’Atri)

  • doc/start: 删除“intro.rst” (pr#57949, Zac Dover)

  • doc/start: 删除对 Centos 8 支持的提及 (pr#58390, Zac Dover)

  • doc/start: s/http/https/ 在链接中 (pr#57871, Zac Dover)

  • doc/start: s/intro.rst/index.rst/ (pr#57903, Zac Dover)

  • doc/start: 分离包和容器支持表 (pr#60789, Zac Dover)

  • doc/start: 将包图表与容器图表分离 (pr#60699, Zac Dover)

  • doc/start: 更新邮件列表链接 (pr#58684, Zac Dover)

  • doc: 在 Cephfs 概念下的文档中添加快照 (pr#61247, Neeraj Pratap Singh)

  • doc: 修改开发邮件列表订阅说明 (pr#58697, Paulo E. Castro)

  • doc: 澄清可用性与完整性 (pr#58131, Gregory O’Neill)

  • doc: 澄清 ceph-fuse 的超级用户注释 (pr#58615, Patrick Donnelly)

  • doc: 澄清没有第三方 OSD (pr#61731, Anthony D’Atri)

  • doc: 澄清 host 规范中 location: 的使用 (pr#57647, Matthew Vernon)

  • doc: 更正“设备管理”链接 (pr#58489, Matthew Vernon)

  • doc: 更正 Prometheus 文档链接 (pr#59560, Matthew Vernon)

  • doc: 更正错别字 (pr#57884, Matthew Vernon)

  • doc: 记录 CephFS 导出的指标 (pr#57724, Jos Collin)

  • doc: 记录 Windows CI 作业 (pr#60034, Lucian Petrut)

  • doc: 记录 mClock 禁用哪些选项 (pr#60672, Niklas Hambüchen)

  • doc: 记录 scrub 清除 damage 中条目的功能... (pr#59079, Neeraj Pratap Singh)

  • doc: 解释通过监控器启用镜像的后果... (pr#60526, Jos Collin)

  • doc: 修复电子邮件 (pr#60234, Ernesto Puerta)

  • doc: 修复不正确的 radosgw-admin 子命令 (pr#62005, Toshikuni Fukaya)

  • doc: 修复错别字 (pr#59992, N Balachandran)

  • doc: 修复硬件建议控制器部分中的错别字 (pr#61179, Kevin Niederwanger)

  • doc: 修复 #58689 - 记录 SSE-C iam 条件键 (pr#62298, dawg)

  • doc: 改进 doc/radosgw/placement.rst (pr#58974, Anthony D’Atri)

  • doc: 改进 tests-integration-testing-teuthology-workflow.rst (pr#61343, Vallari Agrawal)

  • doc: s/Whereas,/Although/ (pr#60594, Zac Dover)

  • doc: SubmittingPatches-backports - 删除回溯团队 (pr#60298, Zac Dover)

  • doc: 更新“入门”以链接到 start 而不是 install (pr#59908, Matthew Vernon)

  • doc: 更新 cephfs-mirroring.rst 中的 Key Idea (pr#60344, Jos Collin)

  • doc: 更新 Ceph 中 ganesha 的 Kerberos 设置的 nfs 文档 (pr#59940, Avan Thakkar)

  • doc: 更新 tests-integration-testing-teuthology-workflow.rst (pr#59549, Vallari Agrawal)

  • doc: 升级并取消固定某些 Python 版本 (pr#61932, David Galloway)

  • doc: 更新电子邮件地址管理 (pr#60085, Tobias Fischer)

  • docs/rados/operations/stretch-mode: 警告不支持设备类 (pr#59100, Kamoltat Sirivadhna)

  • docs: 删除了 centos 8 并将 squid 添加到构建矩阵 (pr#58902, Yuri Weinstein)

  • exporter: 修复 rgw 同步指标的正则表达式 (pr#57658, Avan Thakkar)

  • exporter: 优雅地处理异常 (pr#57371, Divyansh Kamboj)

  • 修复 bucket notification 测试问题 (pr#61881, Yuval Lifshitz)

  • global: 在堆上用 64KiB 缓冲区调用 getnam_r (pr#60126, Adam Emerson)

  • install-deps.sh, do_cmake.sh: almalinux 是另一种 el 风格 (pr#58522, Dan van der Ster)

  • install-deps: 保存和恢复用户的 XDG_CACHE_HOME (pr#56993, luo rixin)

  • kv/RocksDBStore: 为所有 CF 配置 compact-on-deletion (pr#57402, Joshua Baergen)

  • librados: 对 IoCtxImpl::remove 使用 CEPH_OSD_FLAG_FULL_FORCE (pr#59282, Chen Yuanrun)

  • librbd/crypto/LoadRequest: 克隆格式用于迁移源镜像 (pr#60170, Ilya Dryomov)

  • librbd/crypto: 修复从加密导出实时迁移时的问题 (pr#59151, Ilya Dryomov)

  • librbd/migration/HttpClient: 避免在关闭后重用 ssl_stream (pr#61094, Ilya Dryomov)

  • librbd/migration: 在 RawFormat::list_snaps() 中修剪快照扩展 (pr#59660, Ilya Dryomov)

  • librbd: 添加 rbd_diff_iterate3() API,通过 ID 获取源快照 (pr#62129, Ilya Dryomov, Vinay Bhaskar Varada)

  • librbd: 在对象映射不一致时避免 flatten 上的数据损坏 (pr#61167, Ilya Dryomov)

  • librbd: 在 Image::{aio_,}close() 中启动关闭之前清除 ctx (pr#61526, Ilya Dryomov)

  • librbd: 在池初始化和命名空间创建期间创建 rbd_trash 对象 (pr#57603, Ramana Raja)

  • librbd: diff-iterate 不应在空字节范围上崩溃 (pr#58211, Ilya Dryomov)

  • librbd: 如果成员资格不匹配,则不允许组快照回滚 (pr#58207, Ilya Dryomov)

  • librbd: 如果缓冲区为 NULL,则不应在零长度读取时崩溃 (pr#57570, Ilya Dryomov)

  • librbd: 修复 get_rollback_snap_id 中的崩溃 (pr#62045, Ilya Dryomov, N Balachandran)

  • librbd: 修复 Mirror::image_disable() 导致的 image_lock 死锁 (pr#62127, Ilya Dryomov)

  • librbd: 修复命名空间中的镜像镜像状态摘要 (pr#61831, Ilya Dryomov)

  • librbd: 使快速 diff 模式下的 diff-iterate 了解加密 (pr#58345, Ilya Dryomov)

  • librbd: 使组和组快照 ID 更随机 (pr#57091, Ilya Dryomov)

  • librbd: 停止过滤异步请求错误代码 (pr#61644, Ilya Dryomov)

  • PR 评论命令中的 Jenkins 作业链接 / 删除已弃用的命令 (pr#62037, David Galloway)

  • log: 保存/获取线程名称基础设施 (pr#60728, Milind Changire, Patrick Donnelly)

  • 使 mon 地址与 mon 信息一致 (pr#60750, shenjiatong)

  • mds/client: 当 xattr 不存在于 removexattr 时返回 -ENODATA (pr#58770, Xiubo Li)

  • mds/purgequeue: 添加 l_pq_executed_ops 计数器 (pr#58328, shimin)

  • mds: 将片段添加到 scrub (pr#56895, Christopher Hoffman)

  • mds: 在日志段过期时按 pool-id 批量更新 backtrace (issue#63259, pr#60689, Venky Shankar)

  • mds: cephx 路径限制错误地拒绝已删除目录的快照 (pr#59519, Patrick Donnelly)

  • mds: 检查 fs 的相关 caps 是否包含 root_squash (pr#57343, Patrick Donnelly)

  • mds: CInode::item_caps 在两个不同的列表中使用 (pr#56886, Dhairya Parmar)

  • mds: 延迟 trim() 直到收到最后一个 cache_rejoin 确认 (pr#56747, Xiubo Li)

  • mds: 当序列等于或大于上次发布时,删除 caps (pr#58295, Xiubo Li)

  • mds: 不要为 standby-replay MDS 的警告添加计数器 (pr#57834, Rishabh Dave)

  • mds: 不要因为 flush 命令而阻塞 asok 线程 (pr#57560, Leonid Usov)

  • mds: 修复 session/client evict 命令 (issue#68132, pr#58726, Venky Shankar, Neeraj Pratap Singh)

  • mds: 修复 inotable 仅测试选项的描述 (pr#57115, Xiubo Li)

  • mds: getattr 只等待 xlock 被前一个客户端释放 (pr#60692, Xiubo Li)

  • mds: 为 ceph vxattrs 实现删除功能 (pr#58350, Christopher Hoffman)

  • mds: inode_t 标志在 set_vxattr 期间可能不受 policylock 保护 (pr#57177, Patrick Donnelly)

  • mds: 停止时以较低级别记录 (pr#57227, Kotresh HR)

  • mds: MDSAuthCaps 代码的杂项修复 (pr#60207, Xiubo Li)

  • mds: 阻止 standby-replay MDS 进行擦洗 (pr#58493, Neeraj Pratap Singh)

  • mds: 放松对复制祖先 inode 的发散回溯擦洗失败 (issue#64730, pr#58502, Venky Shankar)

  • mds: 在 wrlock_force() 中始终设置正确的 WRLOCK 标志 (pr#58497, Xiubo Li)

  • mds: 为创建请求设置适当的额外 bl (pr#58528, Xiubo Li)

  • mds: 某些请求错误来自 errno.h 而不是 fs_types.h (pr#56664, Patrick Donnelly)

  • mds: 尝试在 request_clientup() 中选择一个新的批处理头 (pr#58842, Xiubo Li)

  • mds: 使用常规调度处理信标 (pr#57683, Patrick Donnelly)

  • mds: 使用常规调度处理指标 (pr#57681, Patrick Donnelly)

  • mgr/BaseMgrModule: 优化 Finish 函数中的 CPython 调用 (pr#55110, Nitzan Mordechai)

  • mgr/cephadm: 为 OSD 类添加“original_weight”参数 (pr#59411, Adam King)

  • mgr/cephadm: 添加命令以公开所有守护程序的 systemd 单元 (pr#61915, Adam King)

  • mgr/cephadm: 允许启用 NFS Ganesha NLM (pr#56909, Teoman ONAY)

  • mgr/cephadm: ceph orch host drain 命令对无效主机名返回错误 (pr#61919, Shweta Bhosale)

  • mgr/cephadm: 在守护程序删除时清理 iscsi 和 nvmeof 密钥环 (pr#59459, Adam King)

  • mgr/cephadm: 通过 make_daemon_spec 创建 OSD 守护程序部署规范 (pr#61923, Adam King)

  • mgr/cephadm: 修复 flake8 测试失败 (pr#58076, Nizamudeen A)

  • mgr/cephadm: 修复 keepalive 设置中 vrrp_interfaces 的错别字 (pr#61904, Adam King)

  • mgr/cephadm: 使客户端密钥环部署 ceph.conf 可选 (pr#59451, Adam King)

  • mgr/cephadm: 使 adopted 守护程序的 --cgroups=split 设置可配置 (pr#59460, Gilad Sid)

  • mgr/cephadm: 使 SMB 和 NVMEoF 升级在交错升级中最后进行 (pr#59462, Adam King)

  • mgr/cephadm: 如果 yaml 文件中有尾随制表符,mgr 编排器模块会引发异常 (pr#61921, Shweta Bhosale)

  • mgr/cephadm: 将 NVMEoF 守护程序的 OSD cap 设置为“profile rbd” (pr#57234, Adam King)

  • mgr/cephadm: 在 rgw 服务创建时部署守护程序之前更新多站点配置 (pr#60350, Aashish Sharma)

  • mgr/cephadm: 在 ganesha conf 中对 NFSv4 RecoveryBackend 使用双引号 (pr#61924, Adam King)

  • mgr/cephadm: 在更新 rgw 区域端点时使用主机地址 (pr#59947, Aashish Sharma)

  • mgr/dashboard: 在启用功能时添加自定义警告消息 (pr#61038, Nizamudeen A)

  • mgr/dashboard: 为 nfs 导出的伪路径添加绝对路径验证 (pr#57637, avanthakkar)

  • mgr/dashboard: 添加 cephfs rename REST API (pr#60729, Yite Gu)

  • mgr/dashboard: 为 rgw bucket 验证器添加 dueTime (pr#58247, Nizamudeen A)

  • mgr/dashboard: 为子卷/组添加 NFS 导出按钮 (pr#58657, Avan Thakkar)

  • mgr/dashboard: 为多集群监控添加 prometheus federation 配置 (pr#57255, Aashish Sharma)

  • mgr/dashboard: 管理 > 配置 > 某些配置选项无法在运行时更新 (pr#61182, Naman Munet)

  • mgr/dashboard: 在 /src/pybind/mgr/dashboard/frontend 中将 follow-redirects 从 1.15.3 更新到 1.15.6 (pr#56877, dependabot[bot])

  • mgr/dashboard: 将“Sign out”文本更改为“Login out” (pr#58989, Prachi Goel)

  • mgr/dashboard: 如果没有子卷,克隆子卷时不列出 _nogroup (pr#59952, Dnyaneshwari talwekar)

  • mgr/dashboard: 关键确认模态框更改 (pr#61980, Naman Munet)

  • mgr/dashboard: 禁用删除包含对象的桶 (pr#61973, Naman Munet)

  • mgr/dashboard: 排除已克隆-已删除的 RBD 快照 (pr#57219, Ernesto Puerta)

  • mgr/dashboard: 修复不同组的克隆异步验证器 (pr#58338, Nizamudeen A)

  • mgr/dashboard: 修复禁用匿名访问时仪表盘不可见的问题 (pr#56965, Nizamudeen A)

  • mgr/dashboard: 修复 rgw-multisite 中的文档链接 (pr#60155, Pedro Gonzalez Gomez)

  • mgr/dashboard: 修复 mgr 故障转移时重复的 grafana 面板 (pr#56929, Avan Thakkar)

  • mgr/dashboard: 修复在其他选定网关中编辑桶失败的问题 (pr#58245, Nizamudeen A)

  • mgr/dashboard: 修复仪表盘图表中 NaN 值的处理 (pr#59962, Aashish Sharma)

  • mgr/dashboard: 修复 rgw 概览页面中延迟图表数据单位 (pr#61237, Aashish Sharma)

  • mgr/dashboard: 修复只读登录页面 (pr#57752, Pedro Gonzalez Gomez)

  • mgr/dashboard: 修复编辑 rgw 区域时设置压缩类型的问题 (pr#59971, Aashish Sharma)

  • mgr/dashboard: 修复快照调度删除保留策略 (pr#56862, Ivo Almeida)

  • mgr/dashboard: 修复 RGW 概览页面中的对象总数/平均对象大小 (pr#61458, Aashish Sharma)

  • mgr/dashboard: 修复嵌入式 rbd-details 面板中的变量大小写 (pr#62209, Juan Ferrer Toribio)

  • mgr/dashboard: 禁止快照名称为“.”以及包含“/”的任何名称 (pr#59994, Dnyaneshwari Talwekar)

  • mgr/dashboard: 处理池的无限值 (pr#61097, Afreen)

  • mgr/dashboard: 为 osd 引入服务器端分页 (pr#60295, Nizamudeen A)

  • mgr/dashboard: 将功能移至高级部分,并默认展开 rbd 配置部分 (pr#56921, Afreen)

  • mgr/dashboard: 针对 CEPHFS 的 nfs 导出增强 (pr#58475, Avan Thakkar)

  • mgr/dashboard: 固定 lxml 以修复 run-dashboard-tox-make-check 失败 (pr#62256, Nizamudeen A)

  • mgr/dashboard: 删除 cherrypy_backports.py (pr#60633, Nizamudeen A)

  • mgr/dashboard: 从保留策略中删除“每分钟” (pr#56917, Ivo Almeida)

  • mgr/dashboard: 从主机 UI 路由器 (列表) 中删除 orch 必需装饰器 (pr#59852, Naman Munet)

  • mgr/dashboard: 服务表单主机选择只显示最多 10 个条目 (pr#59761, Naman Munet)

  • mgr/dashboard: 快照调度重复频率验证 (pr#56880, Ivo Almeida)

  • mgr/dashboard: 更新并更正区域组删除通知 (pr#61236, Aashish Sharma)

  • mgr/dashboard: 迁移到多站点后更新周期 (pr#59963, Aashish Sharma)

  • mgr/dashboard: 更新 reef 的翻译 (pr#60358, Nizamudeen A)

  • mgr/dashboard: 在 UI 中配置 RGW 多站点端点时允许使用 FQDN(不仅仅是 IP) (pr#62354, Aashish Sharma)

  • mgr/dashboard: 仪表盘中观察到的 UID 错误(一半) (pr#59876, Dnyaneshwari Talwekar)

  • mgr/dashboard: 区域详情显示数据池值和存储类压缩信息不正确 (pr#59877, Aashish Sharma)

  • mgr/diskprediction_local: 避免更多的 mypy 错误 (pr#62369, John Mulligan)

  • mgr/diskprediction_local: 避免 mypy 错误 (pr#61292, John Mulligan)

  • mgr/k8sevents: 将 V1Events 更新为 CoreV1Events (pr#57994, Nizamudeen A)

  • mgr/Mgr.cc: 清除守护程序健康指标,而不是从守护程序状态中移除 down/out 的 osd (pr#58513, Cory Snyder)

  • mgr/nfs: 如果 NFS 集群不可用,不要让 ceph-mgr 崩溃 (pr#58283, Anoop C S, Ponnuvel Palaniyappan)

  • mgr/nfs: 抓取 nfs 监控端点 (pr#61719, avanthakkar)

  • mgr/orchestrator: 修复 orch daemon add osd 中加密标志处理 (pr#61720, Yonatan Zaken)

  • mgr/pybind/object_format: 修复 json-pretty 被标记为无效的问题 (pr#59458, Adam King)

  • mgr/rest: 裁剪请求数组并限制大小 (pr#59371, Nitzan Mordechai)

  • mgr/rgw: 调用 zone_create() 时添加重试配置 (pr#61717, Kritik Sachdeva)

  • mgr/rgw: 修复 rgw zone create 中的错误处理 (pr#61713, Adam King)

  • mgr/rgw: 修复在辅助站点 rgw 规范中设置 rgw 领域令牌的问题 (pr#61715, Adam King)

  • mgr/snap_schedule: 从 mds 正确获取 mds_max_snaps_per_dir (pr#59648, Milind Changire)

  • mgr/snap_schedule: 恢复 yearly 规范为小写 y (pr#57446, Milind Changire)

  • mgr/stats: 在 FSPerfStats 中初始化 mx_last_updated (pr#57441, Jos Collin)

  • mgr/status: 修复 'fs status' json 输出 (pr#60188, Kotresh HR)

  • mgr/vol: 缩短 helper 方法的名称 (pr#60369, Neeraj Pratap Singh)

  • mgr/vol: 处理克隆索引条目丢失的情况 (pr#58556, Rishabh Dave)

  • mgr: 修复通过仪表盘创建子用户 (pr#62087, Hannes Baum)

  • mgr: 从 mgr 守护进程中移除 out&down osd (pr#54533, shimin)

  • 修改容器/软件以支持发布容器和预发布容器的推广 (pr#60961, Dan Mick)

  • mon, osd, *: 在 OSDMap::get_features() 中暴露 upmap-primary (pr#57794, Radoslaw Zarzynski)

  • mon, osd: 添加命令以删除无效的 pg-upmap-primary 条目 (pr#62191, Laura Flores)

  • mon, qa: 套件使用 --yes_i_really_mean_it 覆盖 ec 配置;监视器接受该配置 (pr#59274, Radoslaw Zarzynski, Radosław Zarzyński)

  • mon,cephfs: 要求确认标志以关闭不健康的 MDS (pr#57837, Rishabh Dave)

  • mon/ElectionLogic: 决胜监视器忽略来自标记为 down 的监视器的提议 (pr#58687, Kamoltat)

  • mon/LogMonitor: 使用通用集群日志级别配置 (pr#57495, Prashant D)

  • mon/MDSMonitor: 修复 `fs swap` 中的断言崩溃 (pr#57373, Patrick Donnelly)

  • mon/MonClient: 处理 ms_handle_fast_authentication 返回值 (pr#59307, Patrick Donnelly)

  • mon/MonmapMonitor: 在 prepare_update 中出错时不提议 (pr#56400, Patrick Donnelly)

  • mon/OSDMonitor: 添加 force-remove-snap mon 命令 (pr#59404, Matan Breizman)

  • mon/OSDMonitor: 修复 rmsnap 命令 (pr#56431, Matan Breizman)

  • mon/OSDMonitor: 放宽对非托管快照的容量强制执行 (pr#61602, Ilya Dryomov)

  • mon/scrub: 记录存储访问失败的错误详情 (pr#61345, Yite Gu)

  • mon: 添加 created_at 和 ceph_version_when_created 元数据 (pr#56681, Ryotaro Banno)

  • mon: 如果监视器正常运行时间小于阈值,则不记录 MON_DOWN (pr#56408, Patrick Donnelly)

  • mon: 修复 `fs set down`,仅当集群未关闭时才调整 max_mds (pr#59705, chungfengz)

  • mon: 在删除池时移除任何 pg_upmap_primary 映射 (pr#59270, Mohit Agrawal)

  • mon: 对等停滞,因为警告具有误导性 (pr#57408, shreyanshjain7174)

  • mon: 也在 {rm-,}pg-upmap-primary 上验证 mons 和 osds (pr#59275, Radosław Zarzyński)

  • msg/async: 设置特性后对消息进行编码 (pr#59286, Aishwarya Mathuria)

  • msg/AsyncMessenger: 在“wait()”中唤醒时重新评估停止条件 (pr#53717, Leonid Usov)

  • msg: 总是生成随机 nonce;不要尝试重用 PID (pr#53269, Radoslaw Zarzynski)

  • msg: 按排序位置插入 PriorityDispatchers (pr#61507, Casey Bodley)

  • node-proxy: 使守护程序发现端点 (pr#58483, Guillaume Abrioux)

  • fstab 中的 nofail 选项不受支持 (pr#52985, Leonid Usov)

  • orch: 重构驱动器组规范中的布尔处理 (pr#61914, Guillaume Abrioux)

  • os/bluestore: 为 bluestore/bluefs 分配器添加 perfcount (pr#59103, Yite Gu)

  • os/bluestore: 为 bluestore 添加一些慢速计数 (pr#59104, Yite Gu)

  • os/bluestore: 允许使用 BtreeAllocator (pr#59499, tan changzhi)

  • os/bluestore: 启用异步手动压缩 (pr#58741, Igor Fedotov)

  • os/bluestore: 如果可用空间不足,则扩展 BlueFS 日志 (pr#57241, Pere Diaz Bou)

  • os/bluestore: 修复 BlueRocksEnv 尝试使用 POSIX 的问题 (pr#61112, Adam Kupczyk)

  • os/bluestore: 修复 Btree 分配器 (pr#59264, Igor Fedotov)

  • os/bluestore: 修复除以 0 导致的崩溃 (pr#57197, Jrchyang Yu)

  • os/bluestore: 修复 l_bluefs_log_compactions 重复记录问题 (pr#57194, Wang Linke)

  • os/bluestore: 修复 _estimate_log_size_N 计算日志大小不正确的问题 (pr#61892, Wang Linke)

  • os/bluestore: 改进 #57722 引入的文档 (pr#60894, Anthony D’Atri)

  • os/bluestore: 使 truncate() 丢弃未使用的分配 (pr#60237, Adam Kupczyk, Igor Fedotov)

  • os/bluestore: 为 Bluestore::_collection_list() 设置 rocksdb 迭代器边界 (pr#57625, Cory Snyder)

  • os/bluestore: 添加慢速操作和停滞读取的警告 (pr#59466, Md Mahamudur Rahaman Sajib)

  • os/store_test: 重新调整测试以适应当前代码 (pr#56139, Adam Kupczyk)

  • os: 引入 ObjectStore::refresh_perf_counters() 方法 (pr#55136, Igor Fedotov)

  • os: 移除未使用的 btrfs_ioctl.h 和测试 (pr#60612, Casey Bodley)

  • osd/OSDMonitor: 在更改 pending 之前检查 svc 是否可写 (pr#57067, Patrick Donnelly)

  • osd/PeeringState: 引入 osd_skip_check_past_interval_bounds (pr#60284, Matan Breizman)

  • osd/perf_counters: 提高 before queue op perfcounter 的优先级 (pr#59105, Yite Gu)

  • osd/scheduler: 添加 mclock 队列长度 perfcounter (pr#59034, zhangjianwei2)

  • osd/scrub: 将 scrub 成本更改为平均对象大小 (pr#59629, Aishwarya Mathuria)

  • osd/scrub: 减小默认的深度 scrub 块大小 (pr#59792, Ronen Friedman)

  • osd/scrub: 减小 osd_requested_scrub_priority 默认值 (pr#59886, Ronen Friedman)

  • osd/SnapMapper: 修复 _lookup_purged_snap (pr#56813, Matan Breizman)

  • osd/TrackedOp: 修复 TrackedOp 事件顺序 (pr#59108, YiteGu)

  • osd: 将 memstore 添加到 QoS 不支持的对象存储 (pr#59285, Aishwarya Mathuria)

  • osd: 将“reef”添加到 pending_require_osd_release (pr#60981, Philipp Hufangl)

  • osd: 始终为客户端的重试发送 returnvec-on-errors (pr#59273, Radoslaw Zarzynski)

  • osd: 避免在“rados watch”中断后留下观察者 (pr#58846, weixinwei)

  • osd: 提升 upmap-primary 解码器的版本 (pr#58802, Radoslaw Zarzynski)

  • osd: CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE 标志从 ECBackend 传递 (pr#57621, Md Mahamudur Rahaman Sajib)

  • osd: 更改 mClock 的 PG 删除成本 (pr#56475, Aishwarya Mathuria)

  • osd: 不要在快速关闭超时时断言 (pr#55135, Igor Fedotov)

  • osd: 确保异步恢复不会将 pg 降低到 min_size 以下 (pr#54550, Samuel Just)

  • osd: 修复 OSD 快速关闭时的分段错误 (pr#57615, Md Mahamudur Rahaman Sajib)

  • osd: 全对象读取 CRC 不匹配,因为“truncate”修改了 oi.size 而未清除“data_digest” (pr#57588, Samuel Just, Matan Breizman, Nitzan Mordechai, jiawd)

  • osd: 使 _set_cache_sizes 感知 cache_kv_onode_ratio (pr#55220, Raimund Sacherer)

  • osd: 优化 PrimaryLogPG 中的 extent 比较 (pr#61336, Dongdong Tao)

  • osd: 如果 OSD 公共地址不在子网内,则报告健康错误 (pr#55697, Prashant D)

  • pybind/ceph_argparse: 修复 ceph tell 命令的错误消息 (pr#59197, Neeraj Pratap Singh)

  • pybind/mgr/mirroring: 修复 daemon status 中的 KeyError: ‘directory_count’ (pr#57763, Jos Collin)

  • pybind/mgr: 禁用 sqlite3/python 自动提交 (pr#57190, Patrick Donnelly)

  • pybind/rados: 修复 PEP484 风格类型注解中遗漏的更改 (pr#54358, Igor Fedotov)

  • pybind/rbd: 暴露 CLONE_FORMAT 和 FLATTEN 镜像选项 (pr#57309, Ilya Dryomov)

  • python-common: 修复 python 3.11 上的 valid_addr (pr#61947, John Mulligan)

  • python-common: 处理 Grafana 规范的 to_json 中的“anonymous_access: false” (pr#59457, Adam King)

  • qa/cephadm: 使用 reef 镜像作为 test_cephadm 工作单元的默认值 (pr#56714, Adam King)

  • qa/cephadm: 在使用 `ceph versions` 检查 rgw 守护程序升级之前等待片刻 (pr#61917, Adam King)

  • qa/cephfs: caps_helper.py 的一个错误修复和一些缺失的反向移植 (pr#58340, Rishabh Dave)

  • qa/cephfs: 添加 mgr 调试 (pr#56415, Patrick Donnelly)

  • qa/cephfs: 添加更多忽略列表条目 (issue#64746, pr#56022, Venky Shankar)

  • qa/cephfs: 为 pg_health 添加概率忽略列表 (pr#56666, Patrick Donnelly)

  • qa/cephfs: CephFSTestCase.create_client() 必须使用 keyring (pr#56836, Rishabh Dave)

  • qa/cephfs: 修复 test_single_path_authorize_on_nonalphanumeric_fsname (pr#58560, Rishabh Dave)

  • qa/cephfs: 修复 TestRenameCommand 并在失败前卸载客户端 (pr#59399, Xiubo Li)

  • qa/cephfs: 忽略 MDS_UP_LESS_THAN_MAX 的变体 (pr#58789, Patrick Donnelly)

  • qa/cephfs: 升级期间忽略报告为 down 的特定 OSD (pr#60390, Rishabh Dave)

  • qa/cephfs: 忽略 MDS_UP_LESS_THAN_MAX 的 clog (pr#56403, Patrick Donnelly)

  • qa/cephfs: 改进“mds fail”和“fs fail” (pr#58563, Rishabh Dave)

  • qa/cephfs: 完全移除对 centos8/rhel8 的依赖 (pr#59054, Venky Shankar)

  • qa/cephfs: 切换到 ubuntu 22.04 进行 stock 内核测试 (pr#62492, Venky Shankar)

  • qa/cephfs: 使用不同的配置选项生成 MDS_TRIM (pr#59375, Rishabh Dave)

  • qa/distros: 在 centos 9 节点上重新安装 nvme-cli (pr#59463, Adam King)

  • qa/distros: 从支持的发行版中移除 centos 8 (pr#57932, Guillaume Abrioux, Casey Bodley, Adam King, Laura Flores)

  • qa/fsx: 使用指定的 sha1 构建 xfstest-dev (pr#57557, Xiubo Li)

  • qa/mgr/dashboard: 修复测试竞态条件 (pr#59697, Nizamudeen A, Ernesto Puerta)

  • qa/multisite: 将 boto3.client 添加到库中 (pr#60850, Shilpa Jagannath)

  • qa/rgw/crypt: 禁用失败的 kmip 测试 (pr#60701, Casey Bodley)

  • qa/rgw/sts: keycloak 任务手动安装 java (pr#60418, Casey Bodley)

  • qa/rgw: 避免 keystone 用户的“user rm” (pr#62104, Casey Bodley)

  • qa/rgw: barbican 使用分支 stable/2023.1 (pr#56819, Casey Bodley)

  • qa/rgw: 将 keystone/barbican 从 2023.1 提升到 2024.1 (pr#61022, Casey Bodley)

  • qa/rgw: 通过强制 gradle 在 Java 8 上运行来修复 s3 java 测试 (pr#61054, J. Eric Ivancich)

  • qa/rgw: 强制 Hadoop 在 Java 1.8 下运行 (pr#61121, J. Eric Ivancich)

  • qa/rgw: 从镜像而不是 archive.apache.org 拉取 Apache artifact (pr#61102, J. Eric Ivancich)

  • qa/standalone/mon/mon_cluster_log.sh: 重试检查日志行 (pr#60780, Shraddha Agrawal, Naveen Naidu)

  • qa/standalone/scrub: 增加状态更新频率 (pr#59975, Ronen Friedman)

  • qa/suites/krbd: 删除 pre-single-major 并移动“仅分层”覆盖范围 (pr#57464, Ilya Dryomov)

  • qa/suites/krbd: 对 -o exclusive 的观察错误恢复进行压力测试 (pr#58856, Ilya Dryomov)

  • qa/suites/rados/singleton: 添加 POOL_APP_NOT_ENABLED 到忽略列表 (pr#57487, Laura Flores)

  • qa/suites/rados/thrash-old-clients: 更新支持的版本和发行版 (pr#57999, Laura Flores)

  • qa/suites/rados/thrash/workloads: 移除缓存分层工作负载 (pr#58413, Laura Flores)

  • qa/suites/rados/verify/validater/valgrind: 增加操作线程超时 (pr#54527, Matan Breizman)

  • qa/suites/rados/verify/validater: 增加心跳宽限超时 (pr#58786, Sridhar Seshasayee)

  • qa/suites/rados: 取消 injectfull 以允许清理 (pr#59157, Brad Hubbard)

  • qa/suites/rbd/iscsi: 启用所有受支持的容器主机 (pr#60088, Ilya Dryomov)

  • qa/suites/rbd: 直接在安装任务上覆盖 extra_system_packages (pr#57765, Ilya Dryomov)

  • qa/suites/upgrade/reef-p2p/reef-p2p-parallel: 升级到 18.2.2 (pr#58411, Laura Flores)

  • qa/suites: 添加“mon down”日志变体到忽略列表 (pr#61711, Laura Flores)

  • qa/suites: 从 fs:valgrind 测试中删除 --show-reachable=yes (pr#59069, Jos Collin)

  • qa/tasks/ceph_manager.py: 重写 test_pool_min_size (pr#59268, Kamoltat)

  • qa/tasks/cephadm: 启用 mon_cluster_log_to_file (pr#55431, Dan van der Ster)

  • qa/tasks/nvme_loop: 更新任务以适用于新的 nvme list 格式 (pr#61027, Adam King)

  • qa/tasks/qemu: 修复 OS 版本比较 (pr#58170, Zack Cerza)

  • qa/tasks: 在任务不良检查中包含 stderr (pr#61434, Christopher Hoffman, Ilya Dryomov)

  • qa/tasks: 看门狗应终止 thrashers (pr#59193, Nitzan Mordechai)

  • qa/tests: 添加 client-upgrade-reef-squid 测试 (pr#58447, Yuri Weinstein)

  • qa/upgrade: 修复检查以确保升级仍在进行中 (pr#61718, Adam King)

  • qa/workunits/rbd: 避免 luks-encryption.sh 中的缓存效应 (pr#58853, Ilya Dryomov)

  • qa/workunits/rbd: 等待 rbd-nbd 中应用 resize (pr#62218, Ilya Dryomov)

  • qa: krbd_data_pool.sh 中考虑 rbd_trash 对象 + 相关的 ceph{,adm} 任务修复 (pr#58540, Ilya Dryomov)

  • qa: 添加 YAML 以忽略 MGR_DOWN 警告 (pr#57565, Dhairya Parmar)

  • qa: 添加 multifs root_squash 测试用例 (pr#56690, Rishabh Dave, Kotresh HR)

  • qa: 添加对 CentOS 9 / RHEL9 上 cephfs-shell 的支持/质量保证 (pr#57162, Patrick Donnelly)

  • qa: 调整 krbd_discard_granularity.t 中预期的 io_opt (pr#59231, Ilya Dryomov)

  • qa: barbican: 使用 upper-constraints 限制 python 包 (pr#59326, Tobias Urdin)

  • qa: 在删除子卷之前清理快照 (pr#58332, Milind Changire)

  • qa: 在 fs 套件中禁用 mon_warn_on_pool_no_app (pr#57920, Patrick Donnelly)

  • qa: 在远程文件系统上执行 set/get 属性 (pr#59828, Jos Collin)

  • qa: 为 fs:cephadm:multivolume 子套件启用调试日志 (issue#66029, pr#58157, Venky Shankar)

  • qa: 增强每个客户端标记的性能计数器测试 (pr#58251, Jos Collin, Rishabh Dave)

  • qa: 快速挂载以提高性能并解除对 `fs volume ls` 的阻塞 (pr#59920, Milind Changire)

  • qa: 修复 assert_cluster_log 中的错误报告字符串 (pr#55391, Dhairya Parmar)

  • qa: 修复 krbd_msgr_segments 和 krbd_rxbounce 在 8.stream 上失败的问题 (pr#57030, Ilya Dryomov)

  • qa: 修复 cephadm 测试的日志错误 (pr#58421, Guillaume Abrioux)

  • qa: 修复 test_cephfs_shell.TestShellOpts 中的测试 (pr#58111, Neeraj Pratap Singh)

  • qa: 忽略 forward-scrub 任务生成的集群警告 (issue#48562, pr#57611, Venky Shankar)

  • qa: 忽略 centos9 的容器检查点/恢复相关的 selinux 拒绝 (issue#64616, pr#56019, Venky Shankar)

  • qa: 忽略容器检查点/恢复相关的 selinux 拒绝 (issue#67118, issue#66640, pr#58809, Venky Shankar)

  • qa: 在 clog 中忽略对人类友好的 POOL_APP_NOT_ENABLED (pr#56951, Patrick Donnelly)

  • qa: 忽略 CephFS QA 中的 PG 健康警告 (pr#58172, Patrick Donnelly)

  • qa: 忽略 PG_DEGRADED 健康警告的变体 (pr#58231, Patrick Donnelly)

  • qa: 忽略警告变体 (pr#59618, Patrick Donnelly)

  • qa: 增加 snap_schedule 的调试信息 (pr#57172, Patrick Donnelly)

  • qa: 增加 http postBuffer 大小并禁用 sslVerify (pr#53628, Xiubo Li)

  • qa: 在测试 altname 恢复之前加载所有 dirfrag (pr#59522, Patrick Donnelly)

  • qa: 重新定位子卷创建覆盖和测试 (pr#59923, Milind Changire)

  • qa: 抑制 __trans_list_add valgrind 警告 (pr#58791, Patrick Donnelly)

  • qa: 抑制 centos 9 作业中 Leak_StillReachable mon 泄漏 (pr#58692, Laura Flores)

  • qa: 切换到使用 fscrypt 的合并片段 (pr#55857, Xiubo Li)

  • qa: 测试 test_kill_mdstable 的所有挂载类型 (pr#56953, Patrick Donnelly)

  • qa: 在损坏 fs 之前卸载客户端 (pr#57524, Patrick Donnelly)

  • qa: fs:upgrade 使用 centos9 (pr#58113, Venky Shankar, Dhairya Parmar)

  • qa: 在更改模式之前等待文件创建 (issue#67408, pr#59686, Venky Shankar)

  • rbd-mirror: 更好地清理陈旧的池重放器和回调 (pr#57306, Ilya Dryomov)

  • rbd-mirror: 修复 ImageReplayer::m_lock 可能的递归锁定 (pr#62043, N Balachandran)

  • rbd-mirror: 为命名空间使用正确的 ioctx (pr#59772, N Balachandran)

  • rbd-nbd: 默认使用 netlink 接口 (pr#62175, Ilya Dryomov, Ramana Raja)

  • rbd: “rbd bench” 总是写入相同的字节 (pr#59501, Ilya Dryomov)

  • rbd: 修改“rbd {group,} rename”和“rbd mirror pool”命令描述 (pr#59601, Ilya Dryomov)

  • rbd: 处理“rbd group image {add,rm}”中的 --{group,image}-namespace (pr#61171, Ilya Dryomov)

  • rbd: 以只读模式打开镜像,用于“rbd mirror pool status --verbose” (pr#61169, Ilya Dryomov)

  • 回退“reef: rgw/amqp: 在 emplace 之前锁定擦除和创建连接” (pr#59016, Rongqi Sun)

  • 回退“rgw/auth: 修复 AuthStrategy 返回的返回码” (pr#61405, Casey Bodley, Pritha Srivastava)

  • rgw/abortmp: AbortMultipartUpload 上的竞态条件 (pr#61133, Casey Bodley, Artem Vasilev)

  • rgw/admin/notification: 添加命令以转储通知 (pr#58070, Yuval Lifshitz)

  • rgw/amqp: 在 emplace 之前锁定擦除和创建连接 (pr#59018, Rongqi Sun)

  • rgw/amqp: 在 emplace 之前锁定擦除和创建连接 (pr#58715, Rongqi Sun)

  • rgw/archive: 从多个区域同步时避免重复对象 (pr#59341, Shilpa Jagannath)

  • rgw/auth: 忽略 HTTP OPTIONS 调用的签名 (pr#60455, Tobias Urdin)

  • rgw/beast: 修复 SSL stream.async_shutdown() 中观察到的崩溃 (pr#57425, Mark Kogan)

  • rgw/http/client-side: 禁用 curl 路径规范化 (pr#59258, Oguzhan Ozmen)

  • rgw/http: 记录错误后调用 finish_request() (pr#59440, Casey Bodley)

  • rgw/iam: 修复角色删除复制 (pr#59126, Alex Wojno)

  • rgw/kafka: 重构主题创建以避免 rd_kafka_topic_name() (pr#59764, Yuval Lifshitz)

  • rgw/kafka: 将消息超时设置为 5 秒 (pr#56158, Yuval Lifshitz)

  • rgw/lc: 使 lc worker 线程名称更短 (pr#61485, lightmelodies)

  • rgw/lua: 将 lib64 添加到包搜索路径 (pr#59343, Yuval Lifshitz)

  • rgw/lua: 添加更多包安装错误信息 (pr#59127, Yuval Lifshitz)

  • rgw/multisite: 允许 PutACL 复制 (pr#58546, Shilpa Jagannath)

  • rgw/multisite: 避免将多分段部分写入桶索引日志 (pr#57127, Juan Zhu)

  • rgw/multisite: 在 copy_object 上不保留 RGW_ATTR_OBJ_REPLICATION_TRACE 属性 (pr#58764, Shilpa Jagannath)

  • rgw/multisite: 修复日志回溯重试逻辑中 use-after-move 问题 (pr#61329, Adam Emerson)

  • rgw/multisite: 基于未修改的 mdlog_marker 的元数据轮询事件 (pr#60793, Shilpa Jagannath)

  • rgw/notifications/test: 修复 centos9 中 rabbitmq 和 kafka 问题 (pr#58312, Yuval Lifshitz)

  • rgw/notifications: 发送通知后清理所有协程 (pr#59354, Yuval Lifshitz)

  • rgw/rados: 对于异步操作不依赖 IoCtx::get_last_version() (pr#60097, Casey Bodley)

  • rgw/rgw_rados: 修复服务器端拷贝孤立尾部对象 (pr#61367, Adam Kupczyk, Gabriel BenHanokh, Daniel Gryniewicz)

  • rgw/s3select: s3select 响应处理程序重构 (pr#57229, Seena Fallah, Gal Salomon)

  • rgw/sts: 当角色策略时,将 identity 更改为 boost::none (pr#59346, Pritha Srivastava)

  • rgw/sts: 修复不允许不支持的 JWT 算法 (pr#62046, Pritha Srivastava)

  • rgw/swift: 在 swift 用户元数据名称中保留破折号/下划线 (pr#56615, Juan Zhu, Ali Maredia)

  • rgw/test/kafka: 让消费者从头开始读取事件 (pr#61595, Yuval Lifshitz)

  • rgw: 在 `radosgw-admin bucket stats` 期间添加版本状态 (pr#59261, J. Eric Ivancich)

  • rgw: 如果存在查询字符串,则将其附加到重定向 URL (pr#61160, Seena Fallah)

  • rgw: BucketPublicAccessBlock 的兼容性问题 (pr#59125, Seena Fallah)

  • rgw: 累积修复 6 个 AWS SigV4 请求失败案例 (pr#58435, Zac Dover, Casey Bodley, Ali Maredia, Matt Benjamin)

  • rgw: 错误时递减 qlen/qactive 性能计数器 (pr#59669, Mark Kogan)

  • rgw: 删除对象时,删除桶索引中的陈旧条目 (pr#61061, Shasha Lu)

  • rgw: 不要在线程名称设置失败时断言 (pr#58058, Yuval Lifshitz)

  • rgw: 修复桶链接操作 (pr#61052, Yehuda Sadeh)

  • RGW: 修复云同步无法同步文件夹的问题 (pr#56554, Gabriel Adrian Samfira)

  • rgw: 修复 CompleteMultipart 错误处理回归 (pr#57301, Casey Bodley)

  • rgw: 修复 rados op 返回 ETIMEDOUT 时的数据损坏 (pr#61093, Shasha Lu)

  • rgw: 修复 LC 进程卡住问题 (pr#61531, Soumya Koduri, Tongliang Deng)

  • rgw: 修复静态网站响应头中的 Content-Length (pr#60741, xiangrui meng)

  • rgw: 修复用户修改导致 user.rgw.user-policy 属性删除的问题 (pr#59134, ivan)

  • rgw: 增加 abort_early 的日志级别 (pr#59124, Seena Fallah)

  • rgw: 使 keystone admin 令牌失效并重试 (pr#59075, Tobias Urdin)

  • rgw: 将对象复制到自身时保留尾部 (pr#62656, Jane Zhu)

  • rgw: 仅使用 ALLOC_LIBS 链接 radosgw (pr#60733, Matt Benjamin)

  • rgw: 在 putobj 中加载复制源桶属性 (pr#59415, Seena Fallah)

  • rgw: 使用 fnmatch 修改字符串 match_wildcards (pr#57901, zhipeng li, Adam Emerson)

  • rgw: 优化 gc 链大小计算 (pr#58168, Wei Wang)

  • rgw: S3 删除桶策略成功时应返回 204 (pr#61432, Simon Jürgensmeyer)

  • rgw: swift: ceph 的临时 URL 修复 (pr#59356, Casey Bodley, Marcus Watts)

  • rgw: 更新选项 yaml 文件,使 LDAP uri 不是无效示例 (pr#56721, J. Eric Ivancich)

  • rgw: 当多分段数量巨大时,无序列表结果可能会丢失对象 (pr#60745, J. Eric Ivancich)

  • rgwfile: 修复 lock_guard 声明 (pr#59351, Matt Benjamin)

  • run-make-check: 在 run-make-check 脚本中使用 get_processors (pr#58872, John Mulligan)

  • src/ceph-volume/ceph_volume/devices/lvm/listing.py: lvm list 通过 vg 名称过滤 (pr#58998, Pierre Lemay)

  • src/exporter: 改进用法消息 (pr#61332, Anthony D’Atri)

  • src/mon/ConnectionTracker.cc: 修复 dump 函数 (pr#60004, Kamoltat)

  • src/pybind/mgr/pg_autoscaler/module.py: 修复 'pg_autoscale_mode' 输出 (pr#59444, Kamoltat)

  • suites: 测试应忽略 osd_down 警告 (pr#59146, Nitzan Mordechai)

  • test/cls_lock: 解锁并开始检查之前锁已过期 (pr#59271, Nitzan Mordechai)

  • test/lazy-omap-stats: 转换为 boost::regex (pr#57456, Brad Hubbard)

  • test/librbd/fsx: rbd-nbd 切换到 netlink 接口 (pr#61259, Ilya Dryomov)

  • test/librbd/test_notify.py: 有条件地忽略一些错误 (pr#62688, Ilya Dryomov)

  • test/librbd: 清理未使用的 TEST_COOKIE 变量 (pr#58549, Rongqi Sun)

  • test/rbd_mirror: 在测试结束时清除 Namespace::s_instance (pr#61959, Ilya Dryomov)

  • test/rbd_mirror: 在 TestImageReplayer 中刷新 watch/notify 回调 (pr#61957, Ilya Dryomov)

  • test/rgw/multisite: 在桶创建后添加元数据检查点 (pr#60977, Casey Bodley)

  • test/rgw/notification: 使用真实 IP 地址而不是 localhost (pr#59304, Yuval Lifshitz)

  • test/rgw: 解决 reshard 测试中潜在的竞态条件 (pr#58793, J. Eric Ivancich)

  • test/store_test: 修复延迟写入测试用例 (pr#55778, Igor Fedotov)

  • test/store_test: 修复 prefer_deferred_size=0 时 DeferredWrite 测试 (pr#56199, Igor Fedotov)

  • test/store_test: 摆脱 assert_death (pr#55774, Igor Fedotov)

  • test/store_test: 重构溢出测试 (pr#55200, Igor Fedotov)

  • test: ceph daemon command with asok path (pr#61481, Nitzan Mordechai)

  • test: 在启动线程池之前创建 ParallelPGMapper 对象 (pr#58920, Mohit Agrawal)

  • Test: osd-recovery-space.sh 延长“recovery toofull”的等待时间 (pr#59043, Nitzan Mordechai)

  • teuthology/bluestore: 修复压缩测试的运行 (pr#57094, Adam Kupczyk)

  • tool/ceph-bluestore-tool: 修复 'free-fragmentation' 的错误关键字 (pr#62124, Igor Fedotov)

  • tools/ceph_objectstore_tool: 支持 get/set/superblock (pr#55015, Matan Breizman)

  • tools/cephfs: 从 journal 恢复 dentries 的 alternate_name (pr#58232, Patrick Donnelly)

  • tools/objectstore: 检查错误的 coll open_collection (pr#58734, Pere Diaz Bou)

  • valgrind: 更新 SyscallParam under call_init 的抑制 (pr#52611, Casey Bodley)

  • win32_deps_build.sh: 固定 zlib 标签 (pr#61630, Lucian Petrut)

  • workunit/dencoder: dencoder test 向后不兼容修复 (pr#61750, NitzanMordhai, Nitzan Mordechai)

v18.2.4 Reef

这是 Reef 系列的第四个反向移植版本。我们建议所有用户更新到此版本。

此版本的一个早期构建在 4 月份被 Debian 项目意外曝光并打包为 18.2.3。不应使用该 18.2.3 版本。官方版本已重新标记为 v18.2.4,以避免进一步的混淆。

v18.2.4 容器镜像,现在基于 CentOS 9,可能与较旧的内核(例如 Ubuntu 18.04)不兼容,因为线程创建方法存在差异。升级到 v18.2.4 容器镜像且使用较旧操作系统的用户可能会在 `pthread_create` 期间遇到崩溃。有关解决方法,请参阅相关跟踪器。但是,我们建议升级您的操作系统以避免这种不受支持的组合。相关跟踪器:https://tracker.ceph.com/issues/66989

发布日期

2024年7月24日

Notable Changes

  • RADOS: 此版本修复了一个 bug (https://tracker.ceph.com/issues/61948),在该 bug 中,pre-reef 客户端被允许连接到 `pg-upmap-primary` (https://docs.ceph.net.cn/en/latest/rados/operations/read-balancer/) 接口,尽管用户已设置 `require-min-compat-client=reef`,导致 osds 和 mons 中出现断言。如果您在 18.2.4 之前的 Reef 版本中出现以下情况,则您容易受到此 bug 的影响:1) 您正在使用通过 offline osdmaptool 和 `--read` 选项生成的 osdmap,或者 2) 您已通过 CLI 命令明确生成了 pg-upmap-primary 映射。请注意,此修复是最小的,并未解决添加映射在升级过程中或部分升级的集群中的边缘情况(相关跟踪器链接在 https://tracker.ceph.com/issues/61948 中)。因此,我们建议在未来的点发布中解决剩余问题之前,移除任何现有的 pg-upmap-primary 映射。有关如何移除现有 pg-upmap-primary 映射的说明,请参阅 https://tracker.ceph.com/issues/61948#note-32

  • RBD: 在快速差异模式下(启用 `fast-diff` 镜像功能且有效,`whole_object == true` 时)与时间起点(`fromsnapname == NULL`)进行差异比较时,现在保证如果独占锁可用,则差异迭代将在本地执行。这为 QEMU 实时磁盘同步和备份用例带来了显著的性能改进。

  • RADOS: get_pool_is_selfmanaged_snaps_mode C++ API 已弃用,因为它容易产生假阴性结果。更安全的替代品是 pool_is_in_selfmanaged_snaps_mode

  • RBD: `rbd children` CLI 命令已添加选项 `--image-id`,因此可以对垃圾桶中的镜像运行该命令。

更新日志

  • (reef) node-proxy: 改进 fetch_oob_details 中的 http 错误处理 (pr#55538, Guillaume Abrioux)

  • [rgw][lc][rgw_lifecycle_work_time] 如果配置的结束时间小于开始时间,则调整计时 (pr#54866, Oguzhan Ozmen)

  • 添加 rgw 前端初始化检查 (pr#54844, zhipeng li)

  • admin/doc-requirements: 将 Sphinx 提升至 5.0.2 (pr#55191, Nizamudeen A)

  • 反向移植 63678 和 63694 的修复 (pr#55104, Redouane Kachach)

  • 反向移植 rook/mgr 最近的更改 (pr#55706, Redouane Kachach)

  • ceph-menv: 修复 README 中的拼写错误 (pr#55163, yu.wang)

  • ceph-volume: 添加缺失的导入 (pr#56259, Guillaume Abrioux)

  • ceph-volume: 修复 _check_generic_reject_reasons 中的 bug (pr#54705, Kim Minjong)

  • ceph-volume: 修复从 WAL 迁移到没有 DB 的数据 (pr#55497, Igor Fedotov)

  • ceph-volume: 修复 mpath 设备支持 (pr#53539, Guillaume Abrioux)

  • ceph-volume: 修复 devices.lvm.zap 中的 zap_partitions() (pr#55477, Guillaume Abrioux)

  • ceph-volume: 修复 is_device 和 is_partition 中回退到 stat 的问题 (pr#54629, Teoman ONAY)

  • ceph-volume: 更新功能测试 (pr#56857, Guillaume Abrioux)

  • ceph-volume: 将“no workqueue”选项与 dmcrypt 一起使用 (pr#55335, Guillaume Abrioux)

  • ceph-volume: 使用安全访问器获取 TYPE 信息 (pr#56323, Dillon Amburgey)

  • ceph.spec.in: 添加对 openEuler OS 的支持 (pr#56361, liuqinfei)

  • ceph.spec.in: 删除 command-with-macro 行 (pr#57357, John Mulligan)

  • cephadm/nvmeof: 抓取 nvmeof prometheus 端点 (pr#56108, Avan Thakkar)

  • cephadm: 添加 nvmeof 日志位置的挂载点 (pr#55819, Roy Sahar)

  • cephadm: 将 nvmeof 添加到自动调优计算中 (pr#56100, Paul Cuzner)

  • cephadm: 将 timemaster 添加到 timesync 服务列表 (pr#56307, Florent Carli)

  • cephadm: 调整 ingress ha proxy 健康检查间隔 (pr#56286, Jiffin Tony Thottan)

  • cephadm: 如果 ceph-exporter sock 目录不存在,则创建它 (pr#56102, Adam King)

  • cephadm: 修复 nvmeof 的 get_version (pr#56099, Adam King)

  • cephadm: 改进 cephadm pull 用法消息 (pr#56292, Adam King)

  • cephadm: 移除 crush 设备类的限制 (pr#56106, Seena Fallah)

  • cephadm: 如果移除最后一个集群,则移除 podman-auth.json (pr#56105, Adam King)

  • cephfs-shell: 移除 distutils Version 类,因为它们已弃用 (pr#54119, Venky Shankar, Jos Collin)

  • cephfs-top: 在 --dump 输出中包含缺失的字段 (pr#54520, Jos Collin)

  • client/fuse: 处理带有非零标志的 renameat2 情况 (pr#55002, Leonid Usov, Shachar Sharon)

  • client: 附加到缓冲区列表以保存通配符命令的所有结果 (pr#53893, Rishabh Dave, Jinmyeong Lee, Jimyeong Lee)

  • client: 对于返回 -ENODATA 的 _getvxattr() 调用,调用 _getattr() (pr#54404, Jos Collin)

  • client: 修复文件句柄泄漏 (pr#56122, Xavi Hernandez)

  • client: 修复 removexattr 中从 `system.` 命名空间获取的 xattr 的返回值 (pr#55803, Anoop C S)

  • client: 如果有脏 caps/snapcaps,则排队延迟 caps 刷新 (pr#54466, Xiubo Li)

  • client: readdir_r_cb: 仅在使用 rbytes 作为大小时获取目录的 rstat (pr#53359, Pinghao Wu)

  • cmake/modules/BuildRocksDB.cmake: 继承父级的 CMAKE_CXX_FLAGS (pr#55502, Kefu Chai)

  • cmake: 使用或关闭 RocksDB 的 liburing (pr#54122, Casey Bodley, Patrick Donnelly)

  • common/options: 为 bluestore RocksDB 设置 LZ4 压缩 (pr#55197, Mark Nelson)

  • common/weighted_shuffle: 不要向 std::discrete_distribution 提供全零权重 (pr#55153, Radosław Zarzyński)

  • common: 使用引用计数指针解决 config 代理死锁 (pr#54373, Patrick Donnelly)

  • DaemonServer.cc: 修复 RGW 守护进程的 config show 命令 (pr#55077, Aishwarya Mathuria)

  • debian: 添加 ceph-exporter 包 (pr#56541, Shinya Hayashi)

  • debian: 为 ceph-mgr .requires 添加缺少的 bcrypt,以修复生成的包依赖项 (pr#54662, Thomas Lamprecht)

  • doc/architecture.rst - 修复拼写错误 (pr#55384, Zac Dover)

  • doc/architecture.rst: 改进 rados 定义 (pr#55343, Zac Dover)

  • doc/architecture: 纠正拼写错误 (pr#56012, Zac Dover)

  • doc/architecture: 改进一些段落 (pr#55399, Zac Dover)

  • doc/architecture: 移除冗余 (pr#55933, Zac Dover)

  • doc/cephadm - 编辑 t11ing (pr#55482, Zac Dover)

  • doc/cephadm/services: 改进 monitoring.rst (pr#56290, Anthony D’Atri)

  • doc/cephadm: 更正 nfs 配置池名称 (pr#55603, Zac Dover)

  • doc/cephadm: 改进 host-management.rst (pr#56111, Anthony D’Atri)

  • doc/cephadm: 改进多个文件 (pr#56130, Anthony D’Atri)

  • doc/cephfs/client-auth.rst: 修正 `fs authorize cephfs1 /dir1 client.x rw` (pr#55246, 叶海丰)

  • doc/cephfs: 编辑 add-remove-mds (pr#55648, Zac Dover)

  • doc/cephfs: 修复架构链接以指向正确的相对路径 (pr#56340, molpako)

  • doc/cephfs: 更新 disaster-recovery-experts.rst 以提及 Slack (pr#55044, Dhairya Parmar)

  • doc/crimson: 清理重复的 seastore 描述 (pr#55730, Rongqi Sun)

  • doc/dev: 将 zipapp 文档反向移植到 reef (pr#56161, Zac Dover)

  • doc/dev: 编辑 internals.rst (pr#55852, Zac Dover)

  • doc/dev: 编辑 teuthology 工作流 (pr#56002, Zac Dover)

  • doc/dev: 修复 crimson.rst 中的拼写错误 (pr#55737, Zac Dover)

  • doc/dev: osd_internals/snaps.rst: 添加 clone_overlap 文档 (pr#56523, Matan Breizman)

  • doc/dev: 优化“Concepts” (pr#56660, Zac Dover)

  • doc/dev: 优化“Concepts” 2/3 (pr#56725, Zac Dover)

  • doc/dev: 优化“Concepts” 3/3 (pr#56729, Zac Dover)

  • doc/dev: 优化“Concepts” 4/3 (pr#56740, Zac Dover)

  • doc/dev: 更新负责人列表 (pr#56603, Zac Dover)

  • doc/dev: 更新负责人列表 (pr#56589, Zac Dover)

  • doc/glossary.rst: 添加“Monitor Store” (pr#54743, Zac Dover)

  • doc/glossary: 添加“Crimson”条目 (pr#56073, Zac Dover)

  • doc/glossary: 添加“librados”条目 (pr#56235, Zac Dover)

  • doc/glossary: 添加“OMAP”到词汇表 (pr#55749, Zac Dover)

  • doc/glossary: 添加 CRUSH 论文链接 (pr#55557, Zac Dover)

  • doc/glossary: 改进“MDS”条目 (pr#55849, Zac Dover)

  • doc/glossary: 改进 OSD 定义 (pr#55613, Zac Dover)

  • doc/install: 添加手动 RADOSGW 安装过程 (pr#55880, Zac Dover)

  • doc/install: 更新“更新子模块” (pr#54961, Zac Dover)

  • doc/man/8/mount.ceph.rst: 添加更多挂载选项 (pr#55754, Xiubo Li)

  • doc/man: 编辑“manipulating the omap key” (pr#55635, Zac Dover)

  • doc/man: 编辑 ceph-osd 描述 (pr#54551, Zac Dover)

  • doc/mgr: 感谢 John Jasen 贡献 Zabbix 2 (pr#56684, Zac Dover)

  • doc/mgr: 记录缺少 MSWin NFS 4.x 支持 (pr#55032, Zac Dover)

  • doc/mgr: 更新 zabbix 信息 (pr#56631, Zac Dover)

  • doc/rados/configuration/bluestore-config-ref: 修复小写拼写错误 (pr#54694, Adam Kupczyk)

  • doc/rados/configuration/osd-config-ref: 修复拼写错误 (pr#55678, Pierre Riteau)

  • doc/rados/operations: 将 EC 开销表添加到 erasure-code.rst (pr#55244, Anthony D’Atri)

  • doc/rados/operations: 修复 control.rst 中的 off-by-one 错误 (pr#55231, tobydarling)

  • doc/rados/operations: 改进 crush_location 文档 (pr#56594, Niklas Hambüchen)

  • doc/rados: 添加“更改公共网络”过程 (pr#55799, Zac Dover)

  • doc/rados: 添加 pg 博客文章链接 (pr#55611, Zac Dover)

  • doc/rados: 添加 PG 定义 (pr#55630, Zac Dover)

  • doc/rados: 编辑“客户端无法连接…” (pr#54654, Zac Dover)

  • doc/rados: 编辑“一切都失败了!现在怎么办?” (pr#54665, Zac Dover)

  • doc/rados: 编辑“监视器存储故障” (pr#54659, Zac Dover)

  • doc/rados: 编辑“恢复损坏的 monmap” (pr#54601, Zac Dover)

  • doc/rados: 编辑“理解 mon_status” (pr#54579, Zac Dover)

  • doc/rados: 编辑“使用监视器的管理套接字” (pr#54576, Zac Dover)

  • doc/rados: 修复损坏的链接 (pr#55680, Zac Dover)

  • doc/rados: 格式化 tshooting-mon.rst 中的部分 (pr#54638, Zac Dover)

  • doc/rados: 改进“Ceph 子系统” (pr#54702, Zac Dover)

  • doc/rados: 改进 log-and-debug.rst 的格式 (pr#54746, Zac Dover)

  • doc/rados: 链接到 pg 设置命令 (pr#55936, Zac Dover)

  • doc/rados: ops/pgs: s/power of 2/power of two (pr#54700, Zac Dover)

  • doc/rados: 从文档中删除 PGcalc (pr#55901, Zac Dover)

  • doc/rados: 修复 stretch-mode.rst (pr#54762, Zac Dover)

  • doc/rados: 恢复 PGcalc 工具 (pr#56057, Zac Dover)

  • doc/rados: 更新“拉伸模式” (pr#54756, Michael Collins)

  • doc/rados: 更新 common.rst (pr#56268, Zac Dover)

  • doc/rados: 更新 autoscaler 配置 (pr#55438, Zac Dover)

  • doc/rados: 更新 PG 指南 (pr#55460, Zac Dover)

  • doc/radosgw - 编辑 admin.rst “设置用户速率限制” (pr#55150, Zac Dover)

  • doc/radosgw/admin.rst: 在配置变量名称中使用下划线 (pr#54933, Ville Ojamo)

  • doc/radosgw: 添加 confval 指令 (pr#55484, Zac Dover)

  • doc/radosgw: 添加网关启动命令 (pr#54833, Zac Dover)

  • doc/radosgw: admin.rst - 编辑“创建子用户” (pr#55020, Zac Dover)

  • doc/radosgw: admin.rst - 编辑“创建用户” (pr#55004, Zac Dover)

  • doc/radosgw: admin.rst - 编辑部分 (pr#55017, Zac Dover)

  • doc/radosgw: 编辑“添加/移除密钥” (pr#55055, Zac Dover)

  • doc/radosgw: 编辑“启用/禁用桶速率限制” (pr#55260, Zac Dover)

  • doc/radosgw: 编辑“读/写全局速率限制” admin.rst (pr#55271, Zac Dover)

  • doc/radosgw: 编辑“移除子用户” (pr#55034, Zac Dover)

  • doc/radosgw: 编辑“使用” admin.rst (pr#55321, Zac Dover)

  • doc/radosgw: 编辑 admin.rst “获取桶速率限制” (pr#55253, Zac Dover)

  • doc/radosgw: 编辑 admin.rst “获取用户速率限制” (pr#55157, Zac Dover)

  • doc/radosgw: 编辑 admin.rst “设置桶速率限制” (pr#55242, Zac Dover)

  • doc/radosgw: 编辑 admin.rst - 配额 (pr#55082, Zac Dover)

  • doc/radosgw: 编辑 admin.rst 1/x (pr#55000, Zac Dover)

  • doc/radosgw: 编辑 compression.rst (pr#54985, Zac Dover)

  • doc/radosgw: 编辑 front matter - role.rst (pr#54854, Zac Dover)

  • doc/radosgw: 编辑 multisite.rst (pr#55671, Zac Dover)

  • doc/radosgw: 编辑部分 (pr#55027, Zac Dover)

  • doc/radosgw: 修复格式错误 (pr#54753, Zac Dover)

  • doc/radosgw: 修复 Principal Tag 示例代码片段中的 JSON 拼写错误 (pr#54642, Daniel Parkes)

  • doc/radosgw: 修复动词不一致 - index.html (pr#55338, Zac Dover)

  • doc/radosgw: 格式化“创建角色” (pr#54886, Zac Dover)

  • doc/radosgw: 格式化 role.rst 中的命令 (pr#54905, Zac Dover)

  • doc/radosgw: 格式化 POST 语句 (pr#54849, Zac Dover)

  • doc/radosgw: 列出支持的插件-compression.rst (pr#54995, Zac Dover)

  • doc/radosgw: 更新 rgw-cache.rst 中的链接 (pr#54805, Zac Dover)

  • doc/radosrgw: 编辑 admin.rst (pr#55073, Zac Dover)

  • doc/rbd: 添加克隆映射命令 (pr#56208, Zac Dover)

  • doc/rbd: 将克隆镜像的映射信息添加到 rbd-encryption.rst (pr#56186, N Balachandran)

  • doc/rbd: rbd man page 的小改动 (pr#56256, N Balachandran)

  • doc/rbd: 修复有序列表 (pr#55732, Zac Dover)

  • doc/releases: 编辑 reef.rst (pr#55064, Zac Dover)

  • doc/releases: 指定仪表盘改进 (pr#55049, Laura Flores, Zac Dover)

  • doc/rgw: 编辑 admin.rst - 速率限制管理 (pr#55128, Zac Dover)

  • doc/rgw: 修复 CreateTopic 示例中的 Attributes 索引 (pr#55432, Casey Bodley)

  • doc/start: 添加 Slack 邀请链接 (pr#56041, Zac Dover)

  • doc/start: 解释“OSD” (pr#54559, Zac Dover)

  • doc/start: 改进 MDS 解释 (pr#56466, Zac Dover)

  • doc/start: 改进 MDS 解释 (pr#56426, Zac Dover)

  • doc/start: 链接到 mon map 命令 (pr#56410, Zac Dover)

  • doc/start: 更新发布名称 (pr#54572, Zac Dover)

  • doc: 添加 cephfs-top 的指标字段描述 (pr#55511, Neeraj Pratap Singh)

  • doc: 添加 NVMe-oF 网关文档 (pr#55724, Orit Wasserman)

  • doc: 在 cephfs-mirroring.rst 中添加支持的文件类型 (pr#54822, Jos Collin)

  • doc: 添加安全监控堆栈配置文档 (pr#56104, Redouane Kachach)

  • doc: cephadm/services/osd: 修复拼写错误 (pr#56230, Lorenz Bausch)

  • doc: 修复了两个拼写错误和语法错误。签名者:Sina Ahma… (pr#54775, Sina Ahmadi)

  • doc: 修复 doc/cephfs/fs-volumes (pr#56648, Neeraj Pratap Singh)

  • doc: 删除发布文档 (pr#56567, Patrick Donnelly)

  • doc: 为 mkfs 指定正确的 fs 类型 (pr#55282, Vladislav Glagolev)

  • doc: 更新 get user info 的 rgw admin api 请求参数 (pr#55071, Ali Maredia)

  • doc:start.rst 修复 hw-recs 中的拼写错误 (pr#55505, Eduardo Roldan)

  • docs/rados: 移除不正确的 ceph 命令 (pr#56495, Taha Jahangir)

  • docs/radosgw: 编辑 admin.rst “启用/禁用用户速率限制” (pr#55194, Zac Dover)

  • docs/rbd: 修复参数名称中的拼写错误 (pr#56262, N Balachandran)

  • docs: 添加有关 OpenNebula 集成的信息 (pr#54938, Daniel Clavijo)

  • librados: 使查询池以获取自管理快照变得可靠 (pr#55026, Ilya Dryomov)

  • librbd: 考虑 ObjectListSnapsRequest 中截断的丢弃操作 (pr#56213, Ilya Dryomov)

  • librbd: 每个镜像请求附加一个日志事件 (pr#54818, Ilya Dryomov, Joshua Baergen)

  • librbd: 在与空洞进行差异比较时不报告 HOLE_UPDATED (pr#54951, Ilya Dryomov)

  • librbd: 修复 ObjectListSnapsRequest 中的回归问题 (pr#54862, Ilya Dryomov)

  • librbd: 修复 SparseExtent 和 SparseBufferlistExtent 的 split() (pr#55665, Ilya Dryomov)

  • librbd: 提高快速差异模式下 rbd_diff_iterate2() 的性能 (pr#55427, Ilya Dryomov)

  • librbd: 对于不存在的 snap_id,从 Snapshot::get_timestamp 返回 ENOENT (pr#55474, John Agombar)

  • make-dist: wget 不使用 --continue 选项 (pr#55091, Casey Bodley)

  • MClientRequest: 正确处理 ext_num_retry、ext_num_fwd、owner_uid、owner_gid 的 ceph_mds_request_head_legacy (pr#54407, Alexander Mikhalitsyn)

  • mds,cephfs_mirror: 添加带标签的每个客户端和复制指标 (issue#63945, pr#55640, Venky Shankar, Jos Collin)

  • mds/client: 在客户端检查 cephx mds 身份验证访问权限 (pr#54468, Xiubo Li, Ramana Raja)

  • mds/MDBalancer: 如果 MDS 未处于活动状态,则忽略排队的Callback (pr#54493, Leonid Usov)

  • mds/MDSRank: 为 op_tracker 添加 set_history_slow_op_size_and_threshold (pr#53357, Yite Gu)

  • mds: 接受配额的人类可读值 (issue#55940, pr#53333, Venky Shankar, Dhairya Parmar, dparmar18)

  • mds: 添加用于转储目录信息的命令 (pr#55987, Jos Collin, Zhansong Gao)

  • mds: 添加 balance_automate fs 设置 (pr#54952, Patrick Donnelly)

  • mds: 在 setxattr ceph.dir.subvolume 期间添加调试日志 (pr#56062, Milind Changire)

  • mds: 允许所有类型的 mds caps (pr#52581, Rishabh Dave)

  • mds: 允许文件锁在副本中处于 LOCK_MIX_SYNC 锁定状态 (pr#56049, Xiubo Li)

  • mds: 将 mds rss perf counter 的优先级更改为 useful (pr#55057, sp98)

  • mds: 在 mknod 中检查文件布局 (pr#56031, Xue Yantao)

  • mds: 检查 fs 的相关 caps 是否包含 root_squash (pr#57343, Patrick Donnelly)

  • mds: 默认禁用“defer_client_eviction_on_laggy_osds” (issue#64685, pr#56196, Venky Shankar)

  • mds: 如果 OSD 滞后,则不驱逐客户端 (pr#52268, Dhairya Parmar, Laura Flores)

  • mds: 不简化 fragset (pr#54895, Milind Changire)

  • mds: 确保在请求丢弃时排队下一个重放 (pr#54313, Patrick Donnelly)

  • mds: 确保在损坏检查前同步 snapclient (pr#56398, Patrick Donnelly)

  • mds: 修复发出冗余的 reintegrate/migrate_stray 请求 (pr#54467, Xiubo Li)

  • mds: 只等待客户端刷新快照和脏缓冲区 (pr#55743, Xiubo Li)

  • mds: 可选地禁止将 standby 用作另一个文件系统的最后手段 (pr#53340, Venky Shankar, Mykola Golub, Luís Henriques)

  • mds: 放宽 mdlog 重放线程中的某些断言 (issue#57048, pr#56016, Venky Shankar)

  • mds: 反转 MDSMap 中 max_xattr_size/bal_rank_mask 的编码 (pr#55669, Patrick Donnelly)

  • mds: 恢复 standby-replay 修剪更改 (pr#54716, Patrick Donnelly)

  • mds: scrub 修复不会清除较早的损坏健康状态 (pr#54899, Neeraj Pratap Singh)

  • mds: 为 LOCK_EXCL_XSYN 将 loner 设置为 true (pr#54911, Xiubo Li)

  • mds: 当目标是未链接的目录时跳过 sr 移动 (pr#56672, Patrick Donnelly, Dan van der Ster)

  • mds: 对网络和磁盘编码使用显式大小的类型 (pr#55742, Xiubo Li)

  • MDSAuthCaps: 次要改进 (pr#54185, Rishabh Dave)

  • MDSAuthCaps: 在 MDS caps 中为 perm flag 打印更好的错误消息 (pr#54945, Rishabh Dave)

  • mgr/(object_format && nfs/export): 增强 nfs 导出更新失败响应 (pr#55395, Dhairya Parmar, John Mulligan)

  • mgr/.dashboard: cephfs 快照调度管理的批量反向移植 (pr#55581, Ivo Almeida)

  • mgr/cephadm 没有为 Ganesha 定义 haproxy tcp 健康检查 (pr#56101, avanthakkar)

  • mgr/cephadm: 允许 grafana 和 prometheus 仅绑定到特定网络 (pr#56302, Adam King)

  • mgr/cephadm: 允许 nfs-ganesha 配置中的 idmap 覆盖 (pr#56029, Teoman ONAY)

  • mgr/cephadm: 在 asyncio timeout handler 中捕获 CancelledError (pr#56103, Adam King)

  • mgr/cephadm: 发现服务 (端口 8765) 在仅 ipv6 集群上失败 (pr#56093, Theofilos Mouratidis)

  • mgr/cephadm: 修复带有标签和主机模式的放置 (pr#56107, Adam King)

  • mgr/cephadm: 修复停止 OSD 删除时 OSD 的重新加权 (pr#56094, Adam King)

  • mgr/cephadm: 修复基于 asyncio 的超时问题 (pr#55555, Adam King)

  • mgr/cephadm: 将 jaeger-collector 设置为 jaeger-agent 的依赖项 (pr#56089, Adam King)

  • mgr/cephadm: 在检查之前刷新 public_network 以进行配置检查 (pr#56325, Adam King)

  • mgr/cephadm: 支持基于 regex 的主机模式 (pr#56221, Adam King)

  • mgr/cephadm: 支持在主机删除期间从 crush map 中删除主机条目 (pr#56092, Adam King)

  • mgr/cephadm: 在重复的守护程序/服务事件上更新时间戳 (pr#56090, Adam King)

  • mgr/dashboard/frontend:Ceph dashboard 支持多种语言 (pr#56359, TomNewChao)

  • mgr/dashboard: 添加高级字段集组件 (pr#56692, Afreen)

  • cmake/arrow: 不要将警告视为错误 (pr#57375, Casey Bodley)

  • mgr/dashboard: 为 rgw multisite 同步状态卡添加前端单元测试 (pr#55222, Aashish Sharma)

  • mgr/dashboard: 添加快照调度 M, Y 频率 (pr#56059, Ivo Almeida)

  • mgr/dashboard: 添加编辑和删除 rgw 角色支持 (pr#55541, Nizamudeen A)

  • mgr/dashboard: 将系统用户添加到 rgw 用户表单 (pr#56471, Pedro Gonzalez Gomez)

  • mgr/dashboard: 为 grafonnet 添加表模式 (pr#56736, Aashish Sharma)

  • mgr/dashboard: 允许用户在区域编辑时添加访问/密钥,而不是在区域创建时添加 (pr#56472, Aashish Sharma)

  • mgr/dashboard: 从 fs 认证 ceph 用户 (pr#56254, Pedro Gonzalez Gomez)

  • mgr/dashboard: 更改守护程序日志中已弃用的 grafana URL (pr#55544, Nizamudeen A)

  • mgr/dashboard: chartjs 和 ng2-charts 版本升级 (pr#55224, Pedro Gonzalez Gomez)

  • mgr/dashboard: 在 grafana 面板中将 null 值视为零 (pr#54541, Aashish Sharma)

  • mgr/dashboard: 创建 cephfs 快照克隆 (pr#55489, Nizamudeen A)

  • mgr/dashboard: 将 realm 创建为默认值 (pr#55221, Aashish Sharma)

  • mgr/dashboard: 在不同组中创建同名子卷 (pr#55369, Afreen)

  • mgr/dashboard: dashboard 区域图单元测试 (pr#55517, Pedro Gonzalez Gomez)

  • mgr/dashboard: 调试 make check 失败 (pr#56127, Nizamudeen A)

  • mgr/dashboard: 禁用 applitools e2e (pr#56215, Nizamudeen A)

  • mgr/dashboard: 修复 cephfs 名称验证 (pr#56501, Nizamudeen A)

  • mgr/dashboard: 修复克隆唯一验证器以进行名称验证 (pr#56550, Nizamudeen A)

  • mgr/dashboard: 修复与着陆页相关的 e2e 失败 (pr#55124, Pedro Gonzalez Gomez)

  • mgr/dashboard: 修复空标签 (pr#56439, Pedro Gonzalez Gomez)

  • mgr/dashboard: 修复访问角色选项卡时策略附加导致的错误 (pr#55515, Afreen)

  • mgr/dashboard: 修复“多站点”大写不一致问题 (pr#55311, Afreen)

  • mgr/dashboard: 修复 M 保留频率显示 (pr#56363, Ivo Almeida)

  • mgr/dashboard: 修复子卷保留添加 (pr#56370, Ivo Almeida)

  • mgr/dashboard: 修复 rgw 显示名称验证 (pr#56548, Nizamudeen A)

  • mgr/dashboard: 修复无策略角色的角色页 (pr#55827, Nizamudeen A)

  • mgr/dashboard: 修复快照调度日期格式 (pr#55815, Ivo Almeida)

  • mgr/dashboard: 修复快照调度列表切换列 (pr#56115, Ivo Almeida)

  • mgr/dashboard: 修复快照调度时间格式 (pr#56154, Ivo Almeida)

  • mgr/dashboard: 修复子卷组编辑 (pr#55811, Ivo Almeida)

  • mgr/dashboard: 修复子卷组编辑大小 (pr#56385, Ivo Almeida)

  • mgr/dashboard: 修复 install-deps 中的 jsonschema 问题 (pr#55542, Nizamudeen A)

  • mgr/dashboard: 修复多主机卷创建问题 (pr#55786, Pedro Gonzalez Gomez)

  • mgr/dashboard: 修复 cephfs 挂载命令 (pr#55993, Ivo Almeida)

  • mgr/dashboard: 修复 nfs 附加命令 (pr#56387, Ivo Almeida)

  • mgr/dashboard: 修复多站点拓扑页面包屑 (pr#55212, Afreen Misbah)

  • mgr/dashboard: 获取存储桶的对象存储桶策略 (pr#55361, Nizamudeen A)

  • mgr/dashboard: 从 ssl_endpoint 获取 rgw 端口 (pr#54764, Nizamudeen A)

  • mgr/dashboard: 处理 /api/osd/settings 的错误 (pr#55704, Afreen)

  • mgr/dashboard: 增加图表中可绘制图形的数量 (pr#55571, Afreen, Aashish Sharma)

  • mgr/dashboard: 存储桶创建表单中的锁定改进 (pr#56560, Afreen)

  • mgr/dashboard: 使 ceph logo 重定向到仪表板 (pr#56557, Afreen)

  • mgr/dashboard: 将放置目标标记为非必需 (pr#56621, Afreen)

  • mgr/dashboard: 将 grafana 中已弃用的表面板替换为新的表面板 (pr#56682, Aashish Sharma)

  • mgr/dashboard: 将饼图插件图表替换为原生饼图面板 (pr#56654, Aashish Sharma)

  • mgr/dashboard: rgw 存储桶功能 (pr#55575, Pedro Gonzalez Gomez)

  • mgr/dashboard: 删除 cpu 使用率的警告/错误阈值 (pr#56443, Nizamudeen A)

  • mgr/dashboard: 在 fs 附加表单中 s/active_mds/active_nfs (pr#56546, Nizamudeen A)

  • mgr/dashboard: 清理仪表板用户创建 (pr#56452, Pedro Gonzalez Gomez)

  • mgr/dashboard: 当 Ceph Cluster grafana 仪表板中 OSD 处于 Out 或 Down 状态时,将 OSD Out 和 Down 面板显示为红色 (pr#54538, Aashish Sharma)

  • mgr/dashboard: 简化身份验证协议 (pr#55689, Daniel Persson)

  • mgr/dashboard: 子卷快照管理 (pr#55186, Nizamudeen A)

  • mgr/dashboard: 更新 dashboard-cephadm-e2e 测试的 fedora 链接 (pr#54718, Adam King)

  • mgr/dashboard: 从旧的“graph”类型面板升级到新的“timeseries”面板 (pr#56652, Aashish Sharma)

  • mgr/dashboard: 更新存储桶表单中的加密和标签 (pr#56707, Afreen)

  • mgr/dashboard: 将高级字段集用于 rbd 镜像 (pr#56710, Afreen)

  • mgr/nfs: 当 nfs 导出应用 -i 失败时,在 JSON 输出中包含伪代码 (pr#55394, Dhairya Parmar)

  • mgr/node-proxy: 处理 RedFish 返回的“None”状态 (pr#55999, Guillaume Abrioux)

  • mgr/pg_autoscaler: 添加 norecover 标志检查 (pr#55078, Aishwarya Mathuria)

  • mgr/snap_schedule: 添加对每月快照的支持 (pr#55208, Milind Changire)

  • mgr/snap_schedule: 异常管理和子卷支持 (pr#52751, Milind Changire)

  • mgr/volumes: 修复 `subvolume group rm` 错误消息 (pr#54207, neeraj pratap singh, Neeraj Pratap Singh)

  • mgr/volumes: 支持在没有克隆线程可用时拒绝 CephFS 克隆 (pr#55692, Rishabh Dave, Venky Shankar, Neeraj Pratap Singh)

  • mgr: 将 pytest 固定到版本 7.4.4 (pr#55362, Laura Flores)

  • mon, doc: 覆盖 ec 配置文件需要 --yes-i-really-mean-it (pr#56435, Radoslaw Zarzynski)

  • mon, osd, *: 在 OSDMap::get_features() 中公开 upmap-primary (pr#57794, rzarzynski)

  • mon/ConfigMonitor: 在“config dump --format json”输出中显示本地化名称 (pr#53888, Sridhar Seshasayee)

  • mon/ConnectionTracker.cc: 忽略 mon_rank = -1 的连接分数 (pr#55167, Kamoltat)

  • mon/OSDMonitor: 修复 get_min_last_epoch_clean() (pr#55867, Matan Breizman)

  • mon: 修复健康存储大小无限增长的问题 (pr#55548, Wei Wang)

  • mon: 修复一种情况下 mds 元数据丢失的问题 (pr#54316, shimin)

  • msg: 更新 MOSDOp() 以使用 ceph_tid_t 而不是 long (pr#55424, Lucian Petrut)

  • node-proxy: 修复 RedFishClient.logout() 方法 (pr#56252, Guillaume Abrioux)

  • node-proxy: 重构入口点 (backport) (pr#55454, Guillaume Abrioux)

  • orch: 实现硬件监控 (pr#55405, Guillaume Abrioux, Adam King, Redouane Kachach)

  • orchestrator: 在 orch device ls 输出中添加摘要行 (pr#56098, Paul Cuzner)

  • orchestrator: 修复 host ls --detail 命令中 CPU 线程的表示 (pr#56097, Paul Cuzner)

  • os/bluestore: 将 bluestore 碎片微秒添加到 prometheus (pr#54258, Yite Gu)

  • os/bluestore: 修复 NCB 模式下 bdev-expand 后空闲空间更新 (pr#55777, Igor Fedotov)

  • os/bluestore: 摆脱分配器中产生的 lba 对齐 (pr#54772, Igor Fedotov)

  • os/kv_test: 修复估计函数 (pr#56197, Adam Kupczyk)

  • osd/OSD: 引入 reset_purged_snaps_last (pr#53972, Matan Breizman)

  • osd/scrub: 将 max_osd_scrubs 增加到 3 (pr#55173, Ronen Friedman)

  • osd: 在所有 OSD 分片上应用随机选择的调度器类型 (pr#54981, Sridhar Seshasayee)

  • osd: stat+write 操作不需要 RWEXCL 锁 (pr#54595, Alice Zhao)

  • osd: 修复 new/old_pg_upmap_primary 的增量解码 (pr#55046, Laura Flores)

  • osd: 提高 OSD 鲁棒性 (pr#54783, Igor Fedotov)

  • osd: 记录稀疏读取的 extent 数量 (pr#54606, Xiubo Li)

  • osd: 调整快照修剪项成本以反映 PG 的平均对象大小,用于 mClock 调度器 (pr#55040, Sridhar Seshasayee)

  • pybind/mgr/devicehealth: 如果存在相同 DATETIME 的 SMART 数据,则替换它 (pr#54879, Patrick Donnelly)

  • pybind/mgr/devicehealth: 跳过无法加载的旧对象 (pr#56479, Patrick Donnelly)

  • pybind/mgr/mirroring: 从 peer_list 中删除 mon_host (pr#55237, Jos Collin)

  • pybind/rbd: 修复 cython3 编译问题 (pr#54807, Mykola Golub)

  • python-common/drive_selection: 修复现有设备的限制 (pr#56096, Adam King)

  • python-common: 修复 osdspec_affinity 检查 (pr#56095, Guillaume Abrioux)

  • qa/cephadm: 测试额外的守护程序/容器功能 (pr#55957, Adam King)

  • qa/cephfs: 改进 test_volumes.py 中的名称生成器 (pr#54729, Rishabh Dave)

  • qa/distros: 从支持的发行版中移除 centos 8 (pr#57932, Guillaume Abrioux, Casey Bodley, Adam King, Laura Flores)

  • qa/suites/fs/nfs: 使用标准健康忽略列表 (pr#56392, Patrick Donnelly)

  • qa/suites/fs/workload: 尽早启用 snap_schedule (pr#56424, Patrick Donnelly)

  • qa/tasks/cephfs/test_misc: 将 duration 切换到 timeout (pr#55746, Xiubo Li)

  • qa/tests: 添加了初始的 reef-p2p suite (pr#55714, Yuri Weinstein)

  • qa/workunits/rbd/cli_generic.sh: 缩小竞争窗口,检查 rbd_support 模块命令在阻止模块客户端后失败 (pr#54769, Ramana Raja)

  • qa: `fs volume rename` 需要 `fs fail` 和 `refuse_client_session` 设置 (issue#64174, pr#56171, Venky Shankar)

  • qa: 将 ec-inconsistent-hinfo 测试的良性集群警告添加到忽略列表 (pr#56151, Sridhar Seshasayee)

  • qa: 将 centos_latest (9.stream) 和 ubuntu_20.04 yamls 添加到 supported-all-distro (pr#54677, Venky Shankar)

  • qa: 分别将 diff-continuous 和 compare-mirror-image 测试添加到 rbd 和 krbd 套件 (pr#55928, Ramana Raja)

  • qa: 添加测试以验证 rbd-mirror 上的同步镜像 (pr#55762, Ilya Dryomov, Ramana Raja)

  • qa: 增加 scrub status 命令超时时间 (pr#55915, Milind Changire)

  • qa: 将 log-whitelist 更改为 log-ignorelist (pr#56396, Patrick Donnelly)

  • qa: 更正 dedent 中 DEBUGFS_META_DIR 的使用 (pr#56167, Venky Shankar)

  • qa: 从 quincy 和更旧的 reef 次要版本进行升级 (pr#55590, Patrick Donnelly)

  • qa: 增强 cephfs-mirror 的标签性能计数器测试 (pr#56211, Jos Collin)

  • qa: 修复 fs/full suite (pr#55829, Kotresh HR)

  • qa: 修复错误使用 wait_for_health() 助手函数 (issue#57985, pr#54237, Venky Shankar)

  • qa: 修复 rank_asok() 以处理 asok 命令的错误 (pr#55302, Neeraj Pratap Singh)

  • qa: 忽略 centos9 的容器检查点/恢复相关的 selinux 拒绝 (issue#64616, pr#56019, Venky Shankar)

  • qa: 删除错误字符串检查并检查返回值 (pr#55943, Venky Shankar)

  • qa: 从 radosgw_admin 任务中删除 vstart runner (pr#55097, Ali Maredia)

  • qa: 使用较新的 tarball 运行 kernel_untar_build (pr#54711, Milind Changire)

  • qa: 为特定测试使用 `config set` 设置 mds 配置 (issue#57087, pr#56169, Venky Shankar)

  • qa: 使用正确的导入来解析 fuse_mount 和 kernel_mount (pr#54714, Milind Changire)

  • qa: 为 fs:mirror[-ha] 使用现有的 ignorelist 覆盖列表 (issue#62482, pr#54766, Venky Shankar)

  • radosgw-admin: ‘zone set’ 不会覆盖现有 default-placement (pr#55061, Casey Bodley)

  • rbd-nbd: 修复使用 netlink 映射的镜像大小调整 (pr#55316, Ramana Raja)

  • reef 反向移植: rook e2e 测试相关 PRs (pr#55375, Redouane Kachach)

  • RGW - Swift 重定向需要在对象上设置存储桶 (pr#56004, Daniel Gryniewicz)

  • rgw/auth: 修复 AuthStrategy 返回的返回码 (pr#54794, Pritha Srivastava)

  • rgw/beast: 启用 SSL session-id 重用加速机制 (pr#56120, Mark Kogan)

  • rgw/datalog: RGWDataChangesLog::add_entry() 使用 null_yield (pr#55655, Casey Bodley)

  • rgw/iam: admin/系统用户忽略 iam 策略解析错误 (pr#54843, Casey Bodley)

  • rgw/kafka/amqp: 修复异步完成处理程序中的竞争条件 (pr#54736, Yuval Lifshitz)

  • rgw/lc: 对某些 lc 操作不添加 datalog/bilog (pr#55289, Juan Zhu)

  • rgw/lua: 修复 CopyFrom 崩溃 (pr#54296, Yuval Lifshitz)

  • rgw/notification: Kafka 持久通知未重试且未删除,即使代理已关闭 (pr#56140, kchheda3)

  • rgw/putobj: RadosWriter 使用部分头对象用于多部分 (pr#55621, Casey Bodley)

  • rgw/rest: 修复 iam/sts/sns 的 post 参数 URL 解码 (pr#55356, Casey Bodley)

  • rgw/S3select: 从 csv-parser 中删除 assert,添加更新 (pr#55969, Gal Salomon)

  • RGW/STS: 生成密钥时,考虑尾随的 null 字符 (pr#54127, Oguzhan Ozmen)

  • rgw: 添加 headers 以引导 304 响应中的缓存更新 (pr#55094, Casey Bodley, Ilsoo Byun)

  • rgw: 为 is_string_in_set() 中的拆分字符串添加缺失的空检查 (pr#56347, Matt Benjamin)

  • rgw: d3n: 修复 valgrind 报告的与 libaio 工作线程相关的内存泄漏 (pr#54852, Mark Kogan)

  • rgw: 在版本控制暂停的存储桶中不复制 olh 属性 (pr#55606, Juan Zhu)

  • rgw: 修复云同步多租户场景 (pr#54328, Ionut Balutoiu)

  • rgw: 对象锁定避免 32 位截断 RetainUntilDate (pr#54674, Casey Bodley)

  • rgw: 只有具有可重新分片布局的存储桶才需要考虑重新分片 (pr#54129, J. Eric Ivancich)

  • RGW: pubsub 发布 commit 并填充 etag (pr#56453, Ali Masarwa)

  • rgw: RGWSI_SysObj_Cache::remove() 在成功删除后使缓存失效 (pr#55716, Casey Bodley)

  • rgw: 带有 v4 身份验证的某些 RGW Admin Ops 端点的 SignatureDoesNotMatch (pr#54791, David.Hall)

  • 快照调度显示子卷路径 (pr#56419, Ivo Almeida)

  • src/common/options: 更正 rgw.yaml.in 中的拼写错误 (pr#55445, Anthony D’Atri)

  • src/mount: 内核挂载命令返回误导性错误消息 (pr#55300, Neeraj Pratap Singh)

  • test/libcephfs: 跳过 Windows 上不稳定的时间戳断言 (pr#54614, Lucian Petrut)

  • test/rgw: 增加 unittest_rgw_dmclock_scheduler 中的超时时间 (pr#55790, Casey Bodley)

  • test: 为某些 libcephfs 测试显式链接到 ceph-common (issue#57206, pr#53635, Venky Shankar)

  • tools/ceph_objectstore_tool: action_on_all_objects_in_pg 跳过 pgmeta (pr#54693, Matan Breizman)

  • Tools/rados: 改进对象名称解析的错误消息 (pr#55112, Nitzan Mordechai)

  • tools/rbd: 使“children”命令支持 --image-id (pr#55617, Mykola Golub)

  • 使用 raw_cluster_cmd 而不是 run_ceph_cmd (pr#55836, Venky Shankar)

  • win32_deps_build.sh: 更改 Boost URL (pr#55084, Lucian Petrut)

v18.2.2 Reef

这是一个热修复版本,解决了包括 Prometheus 崩溃和编码器修复在内的几个缺陷。

发布日期

2024年3月11日

Notable Changes

  • mgr/Prometheus: 细化编排器可用性检查,以防止 prometheus 模块在启动期间崩溃。引入额外的检查来处理 Rook 环境中生成的 daemon_ids,从而防止 RGW 指标元数据生成期间的潜在问题。

Changelog

  • mgr/prometheus: 修复 orch 检查以防止 Prometheus 崩溃 (pr#55491, Redouane Kachach)

  • debian/*.postinst: 添加 adduser 作为依赖项,并在 adduser 时指定 --home (pr#55709, Kefu Chai)

  • src/osd/OSDMap.cc: 修复编码器以生成相同的字节流 (pr#55712, Kamoltat)

v18.2.1 Reef

这是 Reef 系列的第一个反向移植版本,也是第一个包含 Debian Bookworm 的 Debian 软件包。我们建议所有用户更新到此版本。

发布日期

2023年12月18日

Notable Changes

  • RGW: 使用服务器端加密的 S3 多部分上传现在可以在多站点部署中正确复制。以前,此类对象的副本在解密时会损坏。现在可以使用新命令 `radosgw-admin bucket resync encrypted multipart` 来识别这些原始多部分上传。任何已识别对象的 `LastModified` 时间戳都会增加 1 纳秒,以使对等区域再次复制它。对于使用服务器端加密的任何多站点部署,我们建议在所有区域升级后对每个区域中的每个存储桶运行此命令。

  • 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` 暂时静音此警告。

  • Dashboard: RGW 的概述页面,显示 RGW 组件的整体状态。

  • Dashboard: 添加了对 RGW 多站点和 CephFS 子卷和组的管理支持。

  • Dashboard: 修复了新仪表板页面的一些错误和问题,包括损坏的布局、某些指标给出错误值,并引入了一个弹出窗口以在出现 HEALTH_WARN 或 HEALTH_ERR 时显示详细信息。

  • Dashboard: 修复了 Rook 支持的集群中 Ceph 仪表板的几个问题,并改进了 Rook 环境中的用户体验。

Changelog

  • .github: 澄清清单详情 (pr#54130, Anthony D’Atri)

  • [CVE-2023-43040] rgw: 修复针对 POST 策略的存储桶验证 (pr#53756, Joshua Baergen)

  • 添加回滚机制以处理引导失败 (pr#53864, Adam King, Redouane Kachach)

  • rook orchestrator 修复和 e2e 自动化测试的反向移植 (pr#54224, Redouane Kachach)

  • Bluestore: 修复 bluestore collection_list latency perf counter (pr#52950, Wangwenjuan)

  • build: 在 install-deps 中删除 ceph-libboost* 软件包 (pr#52769, Adam Emerson)

  • ceph-volume/cephadm: 支持清单中的 lv 设备 (pr#53286, Guillaume Abrioux)

  • ceph-volume: 为 raw 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 设备的 raw list (pr#52619, Guillaume Abrioux)

  • ceph-volume: 修复 lvm 设备的 raw list (pr#52980, Guillaume Abrioux)

  • ceph-volume: 恢复“ceph-volume: 修复 lvm 设备的 raw list” (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 批量反向移植 8月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-<fsid> (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 实现并启用多分片 UTs (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: 合并级别时应添加左侧大小... (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 上潜在的溢出 bug (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: 填充要擦除的 onodes 的值记录器 (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 的“后半部分”时,通过“remap_offset”移动 intermediate_key (pr#54140, Xuehan Xu)

  • crimson/os/seastore/zbd: zbdsegmentmanager 写路径修复 (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 中的 lazy read (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: 随机化客户端随机数 (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 作为推荐 (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: “编辑 HA 身份验证” (pr#53619, Zac Dover)

  • doc/architecture: “编辑 HA 身份验证”(其中之一) (pr#53585, Zac Dover)

  • doc/architecture: “编辑 HA 身份验证”(其中之一) (pr#53491, Zac Dover)

  • doc/architecture: 编辑“计算 PG ID” (pr#53748, Zac Dover)

  • doc/architecture: 编辑“集群映射” (pr#53434, Zac Dover)

  • doc/architecture: 编辑“数据擦洗” (pr#53730, Zac Dover)

  • doc/architecture: 编辑“HA 身份验证” (pr#53488, Zac Dover)

  • doc/architecture: 编辑“HA 身份验证” (pr#53632, Zac Dover)

  • doc/architecture: 编辑“高可用性监视器” (pr#53451, Zac Dover)

  • doc/architecture: 编辑“OSD 成员资格和状态” (pr#53727, Zac Dover)

  • doc/architecture: 编辑“OSD 直接服务客户端” (pr#53686, Zac Dover)

  • doc/architecture: 编辑“对等和集合” (pr#53871, Zac Dover)

  • doc/architecture: 编辑“复制” (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 中的“添加主机” (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 初始 crush 位置部分中的拼写错误 (pr#52887, John Mulligan)

  • doc/cephadm: 修复设置 ssh 密钥命令中的拼写错误 (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: 检查遥测验证 (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 flag 添加到 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 “常见问题” (1 of x) (pr#54418, Zac Dover)

  • doc/rados: 编辑 t-mon “常见问题” (2 of x) (pr#54421, Zac Dover)

  • doc/rados: 编辑 t-mon “常见问题” (3 of x) (pr#54438, Zac Dover)

  • doc/rados: 编辑 t-mon “常见问题” (4 of x) (pr#54443, Zac Dover)

  • doc/rados: 编辑 t-mon “常见问题” (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: 格式化“初始故障排除” (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: 改进“擦洗”解释 (pr#54270, Zac Dover)

  • doc/rados: 并行化 t-mon 标题 (pr#54461, Zac Dover)

  • doc/rados: 移除缓存分层相关的密钥 (pr#54227, Zac Dover)

  • doc/rados: 移除 FileStore 材料 (在 Reef 中) (pr#54008, Zac Dover)

  • doc/rados: 移除 HitSet 相关密钥信息 (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: 多站点 - 编辑“迁移单站点” (pr#53261, Qi Tao)

  • doc/radosgw: 更新限速管理 (pr#52910, Zac Dover)

  • doc/README.md - 编辑“构建 Ceph” (pr#53057, Zac Dover)

  • doc/README.md - 改进“运行测试集群” (pr#53258, Zac Dover)

  • doc/rgw: 更正关于默认区域功能的声明 (pr#52833, Casey Bodley)

  • doc/rgw: pubsub capabilities 引用已从文档中删除 (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: 更新“平台”表 (pr#53075, Zac Dover)

  • doc/start: 更新链接约定 (pr#52912, Zac Dover)

  • doc/start: 更新链接约定 (pr#52841, Zac Dover)

  • doc/troubleshooting: edit cpu-profiling.rst (pr#53059, Zac Dover)

  • doc: Add a note on possible deadlock on volume deletion (pr#52946, Kotresh HR)

  • doc: add note for removing (automatic) partitioning policy (pr#53569, Venky Shankar)

  • doc: Add Reef 18.2.0 release notes (pr#52905, Zac Dover)

  • doc: Add warning on manual CRUSH rule removal (pr#53420, Alvin Owyong)

  • doc: clarify upmap balancer documentation (pr#53004, Laura Flores)

  • doc: correct option name (pr#53128, Patrick Donnelly)

  • doc: do not recommend pulling cephadm from git (pr#52997, John Mulligan)

  • doc: Documentation about main Ceph metrics (pr#54111, Juan Miguel Olmo Martínez)

  • doc: edit README.md - contributing code (pr#53049, Zac Dover)

  • doc: expand and consolidate mds placement (pr#53146, Patrick Donnelly)

  • doc: Fix doc for mds cap acquisition throttle (pr#53024, Kotresh HR)

  • doc: improve submodule update command - README.md (pr#53000, Zac Dover)

  • doc: make instructions to get an updated cephadm common (pr#53260, John Mulligan)

  • doc: remove egg fragment from dev/developer_guide/running-tests-locally (pr#53853, Dhairya Parmar)

  • doc: Update dynamicresharding.rst (pr#54329, Aliaksei Makarau)

  • doc: Update mClock QOS documentation to discard osd_mclock_cost_per_* (pr#54079, tanchangzhi)

  • doc: update rados.cc (pr#52967, Zac Dover)

  • doc: update test cluster commands in README.md (pr#53349, Zac Dover)

  • exporter: add ceph_daemon labels to labeled counters as well (pr#53695, avanthakkar)

  • exposed the open api and telemetry links in details card (pr#53142, cloudbehl, dpandit)

  • libcephsqlite: fill 0s in unread portion of buffer (pr#53101, Patrick Donnelly)

  • librbd: kick ExclusiveLock state machine on client being blocklisted when waiting for lock (pr#53293, Ramana Raja)

  • librbd: kick ExclusiveLock state machine stalled waiting for lock from reacquire_lock() (pr#53919, Ramana Raja)

  • librbd: make CreatePrimaryRequest remove any unlinked mirror snapshots (pr#53276, Ilya Dryomov)

  • MClientRequest: 正确处理 ext_num_retry、ext_num_fwd、owner_uid、owner_gid 的 ceph_mds_request_head_legacy (pr#54407, Alexander Mikhalitsyn)

  • MDS imported_inodes metric is not updated (pr#51698, Yongseok Oh)

  • mds/FSMap: allow upgrades if no up mds (pr#53851, Patrick Donnelly)

  • mds/Server: mark a cap acquisition throttle event in the request (pr#53168, Leonid Usov)

  • mds: acquire inode snaplock in open (pr#53183, Patrick Donnelly)

  • mds: add event for batching getattr/lookup (pr#53558, Patrick Donnelly)

  • mds: adjust pre_segments_size for MDLog when trimming segments for st… (issue#59833, pr#54035, Venky Shankar)

  • mds: blocklist clients with “bloated” session metadata (issue#62873, issue#61947, pr#53329, Venky Shankar)

  • mds: do not send split_realms for CEPH_SNAP_OP_UPDATE msg (pr#52847, Xiubo Li)

  • mds: drop locks and retry when lock set changes (pr#53241, Patrick Donnelly)

  • mds: dump locks when printing mutation ops (pr#52975, Patrick Donnelly)

  • mds: fix deadlock between unlinking and linkmerge (pr#53497, Xiubo Li)

  • mds: fix stray evaluation using scrub and introduce new option (pr#50813, Dhairya Parmar)

  • mds: Fix the linkmerge assert check (pr#52724, Kotresh HR)

  • mds: log message when exiting due to asok command (pr#53548, Patrick Donnelly)

  • mds: MDLog::_recovery_thread: handle the errors gracefully (pr#52512, Jos Collin)

  • mds: session ls command appears twice in command listing (pr#52515, Neeraj Pratap Singh)

  • mds: skip forwarding request if the session were removed (pr#52846, Xiubo Li)

  • mds: update mdlog perf counters during replay (pr#52681, Patrick Donnelly)

  • mds: use variable g_ceph_context directly in MDSAuthCaps (pr#52819, Rishabh Dave)

  • mgr/cephadm: Add “networks” parameter to orch apply rgw (pr#53120, Teoman ONAY)

  • mgr/cephadm: add ability to zap OSDs’ devices while draining host (pr#53869, Adam King)

  • mgr/cephadm: add is_host_<status> functions to HostCache (pr#53118, Adam King)

  • mgr/cephadm: Adding sort-by support for ceph orch ps (pr#53867, Redouane Kachach)

  • mgr/cephadm: allow draining host without removing conf/keyring files (pr#53123, Adam King)

  • mgr/cephadm: also don’t write client files/tuned profiles to maintenance hosts (pr#53111, Adam King)

  • mgr/cephadm: ceph orch add fails when ipv6 address is surrounded by square brackets (pr#53870, Teoman ONAY)

  • mgr/cephadm: don’t use image tag in orch upgrade ls (pr#53865, Adam King)

  • mgr/cephadm: fix default image base in reef (pr#53922, Adam King)

  • mgr/cephadm: fix REFRESHED column of orch ps being unpopulated (pr#53741, Adam King)

  • mgr/cephadm: fix upgrades with nvmeof (pr#53924, Adam King)

  • mgr/cephadm: removing double quotes from the generated nvmeof config (pr#53868, Redouane Kachach)

  • mgr/cephadm: show meaningful messages when failing to execute cmds (pr#53106, Redouane Kachach)

  • mgr/cephadm: storing prometheus/alertmanager credentials in monstore (pr#53119, Redouane Kachach)

  • mgr/cephadm: validate host label before removing (pr#53112, Redouane Kachach)

  • mgr/dashboard: add e2e tests for cephfs management (pr#53190, Nizamudeen A)

  • mgr/dashboard: Add more decimals in latency graph (pr#52727, Pedro Gonzalez Gomez)

  • mgr/dashboard: add port and zone endpoints to import realm token form in rgw multisite (pr#54118, Aashish Sharma)

  • mgr/dashboard: add validator for size field in the forms (pr#53378, Nizamudeen A)

  • mgr/dashboard: align charts of landing page (pr#53543, Pedro Gonzalez Gomez)

  • mgr/dashboard: allow PUT in CORS (pr#52705, Nizamudeen A)

  • mgr/dashboard: allow tls 1.2 with a config option (pr#53780, Nizamudeen A)

  • mgr/dashboard: Block Ui fails in angular with target es2022 (pr#54260, Aashish Sharma)

  • mgr/dashboard: cephfs volume and subvolume management (pr#53017, Pedro Gonzalez Gomez, Nizamudeen A, Pere Diaz Bou)

  • mgr/dashboard: cephfs volume rm and rename (pr#53026, avanthakkar)

  • mgr/dashboard: cleanup rbd-mirror process in dashboard e2e (pr#53220, Nizamudeen A)

  • mgr/dashboard: cluster upgrade management (batch backport) (pr#53016, avanthakkar, Nizamudeen A)

  • mgr/dashboard: Dashboard RGW multisite configuration (pr#52922, Aashish Sharma, Pedro Gonzalez Gomez, Avan Thakkar, avanthakkar)

  • mgr/dashboard: disable hosts field while editing the filesystem (pr#54069, Nizamudeen A)

  • mgr/dashboard: disable promote on mirroring not enabled (pr#52536, Pedro Gonzalez Gomez)

  • mgr/dashboard: disable protect if layering is not enabled on the image (pr#53173, avanthakkar)

  • mgr/dashboard: display the groups in cephfs subvolume tab (pr#53394, Pedro Gonzalez Gomez)

  • mgr/dashboard: empty grafana panels for performance of daemons (pr#52774, Avan Thakkar, avanthakkar)

  • mgr/dashboard: enable protect option if layering enabled (pr#53795, avanthakkar)

  • mgr/dashboard: fix cephfs create form validator (pr#53219, Nizamudeen A)

  • mgr/dashboard: fix cephfs form validator (pr#53778, Nizamudeen A)

  • mgr/dashboard: fix cephfs forms validations (pr#53831, Nizamudeen A)

  • mgr/dashboard: fix image columns naming (pr#53254, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix progress bar color visibility (pr#53209, Nizamudeen A)

  • mgr/dashboard: fix prometheus queries subscriptions (pr#53669, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix rgw multi-site import form helper (pr#54395, Aashish Sharma)

  • mgr/dashboard: fix rgw multisite error when no rgw entity is present (pr#54261, Aashish Sharma)

  • mgr/dashboard: fix rgw page issues when hostname not resolvable (pr#53214, Nizamudeen A)

  • mgr/dashboard: fix rgw port manipulation error in dashboard (pr#53392, Nizamudeen A)

  • mgr/dashboard: fix the landing page layout issues (issue#62961, pr#53835, Nizamudeen A)

  • mgr/dashboard: Fix user/bucket count in rgw overview dashboard (pr#53818, Aashish Sharma)

  • mgr/dashboard: fixed edit user quota form error (pr#54223, Ivo Almeida)

  • mgr/dashboard: images -> edit -> disable checkboxes for layering and deef-flatten (pr#53388, avanthakkar)

  • mgr/dashboard: minor usability improvements (pr#53143, cloudbehl)

  • mgr/dashboard: n/a entries behind primary snapshot mode (pr#53223, Pere Diaz Bou)

  • mgr/dashboard: Object gateway inventory card incorrect Buckets and user count (pr#53382, Aashish Sharma)

  • mgr/dashboard: Object gateway sync status cards keeps loading when multisite is not configured (pr#53381, Aashish Sharma)

  • mgr/dashboard: paginate hosts (pr#52918, Pere Diaz Bou)

  • mgr/dashboard: rbd image hide usage bar when disk usage is not provided (pr#53810, Pedro Gonzalez Gomez)

  • mgr/dashboard: remove empty popover when there are no health warns (pr#53652, Nizamudeen A)

  • mgr/dashboard: remove green tick on old password field (pr#53386, Nizamudeen A)

  • mgr/dashboard: remove unnecessary failing hosts e2e (pr#53458, Pedro Gonzalez Gomez)

  • mgr/dashboard: remove used and total used columns in favor of usage bar (pr#53304, Pedro Gonzalez Gomez)

  • mgr/dashboard: replace sync progress bar with last synced timestamp in rgw multisite sync status card (pr#53379, Aashish Sharma)

  • mgr/dashboard: RGW Details card cleanup (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: set CORS header for unauthorized access (pr#53201, Nizamudeen A)

  • mgr/dashboard: show a message to restart the rgw daemons after moving from single-site to multi-site (pr#53805, Aashish Sharma)

  • mgr/dashboard: subvolume rm with snapshots (pr#53233, Pedro Gonzalez Gomez)

  • mgr/dashboard: update rgw multisite import form helper info (pr#54253, Aashish Sharma)

  • mgr/dashboard: upgrade angular v14 and v15 (pr#52662, Nizamudeen A)

  • mgr/rbd_support: fix recursive locking on CreateSnapshotRequests lock (pr#54289, Ramana Raja)

  • mgr/snap_schedule: allow retention spec ‘n’ to be user defined (pr#52748, Milind Changire, Jakob Haufe)

  • mgr/snap_schedule: make fs argument mandatory if more than one filesystem exists (pr#54094, Milind Changire)

  • mgr/volumes: Fix pending_subvolume_deletions in volume info (pr#53572, Kotresh HR)

  • mgr: register OSDs in ms_handle_accept (pr#53187, Patrick Donnelly)

  • mon, qa: issue pool application warning even if pool is empty (pr#53041, Prashant D)

  • mon/ConfigMonitor: update crush_location from osd entity (pr#52466, Didier Gazen)

  • mon/MDSMonitor: plug paxos when maybe manipulating osdmap (pr#52246, Patrick Donnelly)

  • mon/MonClient: resurrect original client_mount_timeout handling (pr#52535, Ilya Dryomov)

  • mon/OSDMonitor: do not propose on error in prepare_update (pr#53186, Patrick Donnelly)

  • mon: fix iterator mishandling in PGMap::apply_incremental (pr#52554, Oliver Schmidt)

  • msgr: AsyncMessenger add faulted connections metrics (pr#53033, Pere Diaz Bou)

  • os/bluestore: don’t require bluestore_db_block_size when attaching new (pr#52942, Igor Fedotov)

  • os/bluestore: 摆脱分配器中产生的 lba 对齐 (pr#54772, Igor Fedotov)

  • osd/OpRequest: Add detail description for delayed op in osd log file (pr#53688, Yite Gu)

  • osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode (pr#52457, Kamoltat)

  • osd/scheduler/mClockScheduler: Use same profile and client ids for all clients to ensure allocated QoS limit consumption (pr#53093, Sridhar Seshasayee)

  • osd: fix logic in check_pg_upmaps (pr#54276, Laura Flores)

  • osd: fix read balancer logic to avoid redundant primary assignment (pr#53820, Laura Flores)

  • osd: fix use-after-move in build_incremental_map_msg() (pr#54267, Ronen Friedman)

  • osd: fix: slow scheduling when item_cost is large (pr#53861, Jrchyang Yu)

  • Overview graph improvements (pr#53090, cloudbehl)

  • pybind/mgr/devicehealth: do not crash if db not ready (pr#52213, Patrick Donnelly)

  • pybind/mgr/pg_autoscaler: Cut back osdmap.get_pools calls (pr#52767, Kamoltat)

  • pybind/mgr/pg_autoscaler: fix warn when not too few pgs (pr#53674, Kamoltat)

  • pybind/mgr/pg_autoscaler: noautoscale flag retains individual pool configs (pr#53658, Kamoltat)

  • pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust (pr#53429, Kamoltat)

  • pybind/mgr/pg_autoscaler: Use bytes_used for actual_raw_used (pr#53534, Kamoltat)

  • pybind/mgr/volumes: log mutex locks to help debug deadlocks (pr#53918, Kotresh HR)

  • pybind/mgr: reopen database handle on blocklist (pr#52460, Patrick Donnelly)

  • pybind/rbd: don’t produce info on errors in aio_mirror_image_get_info() (pr#54055, Ilya Dryomov)

  • python-common/drive_group: handle fields outside of ‘spec’ even when ‘spec’ is provided (pr#53115, Adam King)

  • python-common/drive_selection: lower log level of limit policy message (pr#53114, Adam King)

  • python-common: drive_selection: fix KeyError when osdspec_affinity is not set (pr#53159, Guillaume Abrioux)

  • qa/cephfs: fix build failure for mdtest project (pr#53827, Rishabh Dave)

  • qa/cephfs: fix ior project build failure (pr#53825, Rishabh Dave)

  • qa/cephfs: switch to python3 for centos stream 9 (pr#53624, Xiubo Li)

  • qa/rgw: add new POOL_APP_NOT_ENABLED failures to log-ignorelist (pr#53896, Casey Bodley)

  • qa/smoke,orch,perf-basic: add POOL_APP_NOT_ENABLED to 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: add centos9 to supported distros (pr#54020, Matan Breizman)

  • qa/suites/crimson-rados: bring backfill testing (pr#54021, Radoslaw Zarzynski, Matan Breizman)

  • qa/suites/crimson-rados: Use centos8 for testing (pr#54019, Matan Breizman)

  • qa/suites/krbd: stress test for recovering from watch errors (pr#53786, Ilya Dryomov)

  • qa/suites/rbd: add test to check rbd_support module recovery (pr#54291, Ramana Raja)

  • qa/suites/rbd: drop cache tiering workload tests (pr#53996, Ilya Dryomov)

  • qa/suites/upgrade: enable default RBD image features (pr#53352, Ilya Dryomov)

  • qa/suites/upgrade: fix env indentation in stress-split upgrade tests (pr#53921, Laura Flores)

  • qa/suites/{rbd,krbd}: disable POOL_APP_NOT_ENABLED health check (pr#53599, Ilya Dryomov)

  • qa/tests: added - (POOL_APP_NOT_ENABLED) to the ignore list (pr#54436, Yuri Weinstein)

  • qa: add POOL_APP_NOT_ENABLED to ignorelist for cephfs tests (issue#62482, issue#62508, pr#54380, Venky Shankar, Patrick Donnelly)

  • qa: assign file system affinity for replaced MDS (issue#61764, pr#54037, Venky Shankar)

  • qa: descrease pgbench scale factor to 32 for postgresql database test (pr#53627, Xiubo Li)

  • qa: fix cephfs-mirror unwinding and ‘fs volume create/rm’ order (pr#52656, Jos Collin)

  • qa: fix keystone in rgw/crypt/barbican.yaml (pr#53412, Ali Maredia)

  • qa: ignore expected cluster warning from damage tests (pr#53484, Patrick Donnelly)

  • qa: lengthen shutdown timeout for thrashed MDS (pr#53553, Patrick Donnelly)

  • qa: move nfs (mgr/nfs) related tests to fs suite (pr#53906, Dhairya Parmar, Venky Shankar)

  • qa: wait for file to have correct size (pr#52742, Patrick Donnelly)

  • qa: wait for MDSMonitor tick to replace daemons (pr#52235, Patrick Donnelly)

  • RadosGW API: incorrect bucket quota in response to HEAD /{bucket}/?usage (pr#53437, shreyanshjain7174)

  • rbd-mirror: fix image replayer shut down description on force promote (pr#52880, Prasanna Kumar Kalever)

  • rbd-mirror: fix race preventing local image deletion (pr#52627, N Balachandran)

  • rbd-nbd: fix stuck with disable request (pr#54254, Prasanna Kumar Kalever)

  • read balancer documentation (pr#52777, Laura Flores)

  • Rgw overview dashboard backport (pr#53065, Aashish Sharma)

  • rgw/amqp: remove possible race conditions with the amqp connections (pr#53516, Yuval Lifshitz)

  • rgw/amqp: skip idleness tests since it needs to sleep longer than 30s (pr#53506, Yuval Lifshitz)

  • rgw/crypt: apply rgw_crypt_default_encryption_key by default (pr#52796, Casey Bodley)

  • rgw/crypt: don’t deref null manifest_bl (pr#53590, Casey Bodley)

  • rgw/kafka: failed to reconnect to broker after idle timeout (pr#53513, Yuval Lifshitz)

  • rgw/kafka: make sure that destroy is called after connection is removed (pr#53515, Yuval Lifshitz)

  • rgw/keystone: EC2Engine uses reject() for ERR_SIGNATURE_NO_MATCH (pr#53762, Casey Bodley)

  • rgw/multisite[archive zone]: fix storing of bucket instance info in the new bucket entrypoint (pr#53466, Shilpa Jagannath)

  • rgw/notification: pass in bytes_transferred to populate object_size in sync notification (pr#53377, Juan Zhu)

  • rgw/notification: remove non x-amz-meta-* attributes from bucket notifications (pr#53375, Juan Zhu)

  • rgw/notifications: allow cross tenant notification management (pr#53510, Yuval Lifshitz)

  • rgw/s3: ListObjectsV2 returns correct object owners (pr#54161, Casey Bodley)

  • rgw/s3select: fix per QE defect (pr#54163, galsalomon66)

  • rgw/s3select: s3select fixes related to Trino/TPCDS benchmark and QE tests (pr#53034, galsalomon66)

  • rgw/sal: get_placement_target_names() returns void (pr#53584, Casey Bodley)

  • rgw/sync-policy: Correct “sync status” & “sync group” commands (pr#53395, Soumya Koduri)

  • rgw/upgrade: point upgrade suites to ragweed ceph-reef branch (pr#53797, Shilpa Jagannath)

  • RGW: add admin interfaces to get and delete notifications by bucket (pr#53509, Ali Masarwa)

  • rgw: add radosgw-admin bucket check olh/unlinked commands (pr#53823, Cory Snyder)

  • rgw: add versioning info to radosgw-admin bucket stats output (pr#54191, Cory Snyder)

  • RGW: bucket notification - hide auto generated topics when listing topics (pr#53507, Ali Masarwa)

  • rgw: don’t dereference nullopt in DeleteMultiObj (pr#54124, Casey Bodley)

  • rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt (pr#52816, Casey Bodley)

  • rgw: fetch_remote_obj() uses uncompressed size for encrypted objects (pr#54371, Casey Bodley)

  • rgw: fix 2 null versionID after convert_plain_entry_to_versioned (pr#53398, rui ma, zhuo li)

  • rgw: fix multipart upload object leaks due to re-upload (pr#52615, J. Eric Ivancich)

  • rgw: fix rgw rate limiting RGWRateLimitInfo class decode_json max_rea… (pr#53765, xiangrui meng)

  • rgw: fix SignatureDoesNotMatch when extra headers start with ‘x-amz’ (pr#53770, rui ma)

  • rgw: fix unwatch crash at radosgw startup (pr#53760, lichaochao)

  • rgw: handle http options CORS with v4 auth (pr#53413, Tobias Urdin)

  • rgw: improve buffer list utilization in the chunkupload scenario (pr#53773, liubingrun)

  • rgw: pick http_date in case of http_x_amz_date absence (pr#53440, Seena Fallah, Mohamed Awnallah)

  • rgw: retry metadata cache notifications with INVALIDATE_OBJ (pr#52798, Casey Bodley)

  • rgw: s3 object lock avoids overflow in retention date (pr#52604, Casey Bodley)

  • rgw: s3website doesn’t prefetch for web_dir() check (pr#53767, Casey Bodley)

  • RGW: Solving the issue of not populating etag in Multipart upload result (pr#51447, Ali Masarwa)

  • RGW:notifications: persistent topics are not deleted via radosgw-admin (pr#53514, Ali Masarwa)

  • src/mon/Monitor: Fix set_elector_disallowed_leaders (pr#54003, Kamoltat)

  • test/crimson/seastore/rbm: add sub-tests regarding RBM to the existing tests (pr#53967, Myoungwon Oh)

  • test/TestOSDMap: don’t use the deprecated std::random_shuffle method (pr#52737, Leonid Usov)

  • valgrind: UninitCondition under __run_exit_handlers suppression (pr#53681, Mark Kogan)

  • xfstests_dev: install extra packages from powertools repo for xfsprogs (pr#52843, Xiubo Li)

v18.2.0 Reef

This is the first stable release of Ceph Reef.

重要

We are unable to build Ceph on Debian stable (bookworm) for the 18.2.0 release because of Debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030129. We will build as soon as this bug is resolved in Debian stable.

last updated 2023 Aug 04

Release Date

August 7, 2023

Major Changes from Quincy

亮点

See the relevant sections below for more details on these changes.

  • RADOS FileStore is not supported in Reef.

  • RADOS: RocksDB has been upgraded to version 7.9.2.

  • RADOS: There have been significant improvements to RocksDB iteration overhead and performance.

  • RADOS: The perf dump and perf schema commands have been deprecated in favor of the new counter dump and counter schema commands.

  • RADOS: Cache tiering is now deprecated.

  • RADOS: A new feature, the “read balancer”, is now available, which allows users to balance primary PGs per pool on their clusters.

  • RGW: Bucket resharding is now supported for multi-site configurations.

  • RGW: There have been significant improvements to the stability and consistency of multi-site replication.

  • RGW: Compression is now supported for objects uploaded with Server-Side Encryption.

  • Dashboard: There is a new Dashboard page with improved layout. Active alerts and some important charts are now displayed inside cards.

  • RBD: Support for layered client-side encryption has been added.

  • Telemetry: Users can now opt in to participate in a leaderboard in the telemetry public dashboards.

CephFS

  • CephFS: The mds_max_retries_on_remount_failure option has been renamed to client_max_retries_on_remount_failure and moved from mds.yaml.in to mds-client.yaml.in. This change was made because the option has always been used only by the MDS client.

  • CephFS: It is now possible to delete the recovered files in the lost+found directory after a CephFS post has been recovered in accordance with disaster recovery procedures.

  • The AT_NO_ATTR_SYNC macro has been deprecated in favor of the standard AT_STATX_DONT_SYNC macro. The AT_NO_ATTR_SYNC macro will be removed in the future.

仪表盘

  • There is a new Dashboard page with improved layout. Active alerts and some important charts are now displayed inside cards.

  • Cephx Auth Management: There is a new section dedicated to listing and managing Ceph cluster users.

  • RGW Server Side Encryption: The SSE-S3 and KMS encryption of rgw buckets can now be configured at the time of bucket creation.

  • RBD Snapshot mirroring: Snapshot mirroring can now be configured through UI. Snapshots can now be scheduled.

  • 1-Click OSD Creation Wizard: OSD creation has been broken into 3 options

    1. Cost/Capacity Optimized: Use all HDDs

    2. Throughput Optimized: Combine HDDs and SSDs

    3. IOPS Optimized: Use all NVMes

    The current OSD-creation form has been moved to the Advanced section.

  • Centralized Logging: There is now a view that collects all the logs from the Ceph cluster.

  • Accessibility WCAG-AA: Dashboard is WCAG 2.1 level A compliant and therefore improved for blind and visually impaired Ceph users.

  • Monitoring & Alerting

    • Ceph-exporter: Now the performance metrics for Ceph daemons are exported by ceph-exporter, which deploys on each daemon rather than using prometheus exporter. This will reduce performance bottlenecks.

    • Monitoring stacks updated

      • Prometheus 2.43.0

      • Node-exporter 1.5.0

      • Grafana 9.4.7

      • Alertmanager 0.25.0

MGR

  • mgr/snap_schedule: The snap-schedule manager module now retains one snapshot less than the number mentioned against the config option mds_max_snaps_per_dir. This means that a new snapshot can be created and retained during the next schedule run.

  • The ceph mgr dump command now outputs last_failure_osd_epoch and active_clients fields at the top level. Previously, these fields were output under the always_on_modules field.

RADOS

  • FileStore is not supported in Reef.

  • RocksDB has been upgraded to version 7.9.2, which incorporates several performance improvements and features. This is the first release that can tune RocksDB settings per column family, which allows for more granular tunings to be applied to different kinds of data stored in RocksDB. New default settings have been used to optimize performance for most workloads, with a slight penalty in some use cases. This slight penalty is outweighed by large improvements in compactions and write amplification in use cases such as RGW (up to a measured 13.59% improvement in 4K random write IOPs).

  • Trimming of PGLog dups is now controlled by the size rather than the version. This change fixes the PGLog inflation issue that was happening when the online (in OSD) trimming got jammed after a PG split operation. Also, a new offline mechanism has been added: ceph-objectstore-tool has a new operation called trim-pg-log-dups that targets situations in which an OSD is unable to boot because of the inflated dups. In such situations, the “You can be hit by THE DUPS BUG” warning is visible in OSD logs. Relevant tracker: https://tracker.ceph.com/issues/53729

  • The RADOS Python bindings are now able to process (opt-in) omap keys as bytes objects. This allows interacting with RADOS omap keys that are not decodable as UTF-8 strings.

  • mClock Scheduler: The mClock scheduler (the default scheduler in Quincy) has undergone significant usability and design improvements to address the slow backfill issue. The following is a list of some important changes

    • The balanced profile is set as the default mClock profile because it represents a compromise between prioritizing client I/O and prioritizing recovery I/O. Users can then choose either the high_client_ops profile to prioritize client I/O or the high_recovery_ops profile to prioritize recovery I/O.

    • QoS parameters including reservation and limit are now specified in terms of a fraction (range: 0.0 to 1.0) of the OSD’s IOPS capacity.

    • The cost parameters (osd_mclock_cost_per_io_usec_* and osd_mclock_cost_per_byte_usec_*) have been removed. The cost of an operation is now a function of the random IOPS and maximum sequential bandwidth capability of the OSD’s underlying device.

    • Degraded object recovery is given higher priority than misplaced object recovery because degraded objects present a data safety issue that is not present with objects that are merely misplaced. As a result, backfilling operations with the balanced and high_client_ops mClock profiles might progress more slowly than in the past, when backfilling operations used the ‘WeightedPriorityQueue’ (WPQ) scheduler.

    • The QoS allocations in all the mClock profiles are optimized in accordance with the above fixes and enhancements.

    • For more details, see: https://docs.ceph.net.cn/en/latest/rados/configuration/mclock-config-ref/

  • A new feature, the “read balancer”, is now available, which allows users to balance primary PGs per pool on their clusters. The read balancer is currently available as an offline option via the osdmaptool. By providing a copy of their osdmap and a pool they want balanced to the osdmaptool, users can generate a preview of optimal primary PG mappings that they can then choose to apply to their cluster. For more details, see https://docs.ceph.net.cn/en/latest/dev/balancer-design/#read-balancing

  • The active_clients array displayed by the ceph mgr dump command now has a name field that shows the name of the manager module that registered a RADOS client. Previously, the active_clients array showed the address of a module’s RADOS client, but not the name of the module.

  • The perf dump and perf schema commands have been deprecated in favor of the new counter dump and counter schema commands. These new commands add support for labeled perf counters and also emit existing unlabeled perf counters. Some unlabeled perf counters became labeled in this release, and more will be labeled in future releases; such converted perf counters are no longer emitted by the perf dump and perf schema commands.

  • Cache tiering is now deprecated.

  • The SPDK backend for BlueStore can now connect to an NVMeoF target. This is not an officially supported feature.

RBD

  • The semantics of compare-and-write C++ API (Image::compare_and_write and Image::aio_compare_and_write methods) now match those of C API. Both compare and write steps operate only on len bytes even if the buffers associated with them are larger. The previous behavior of comparing up to the size of the compare buffer was prone to subtle breakage upon straddling a stripe unit boundary.

  • The compare-and-write operation is no longer limited to 512-byte sectors. Assuming proper alignment, it now allows operating on stripe units (4MB by default).

  • There is a new rbd_aio_compare_and_writev API method that supports scatter/gather on compare buffers as well as on write buffers. This complements the existing rbd_aio_readv and rbd_aio_writev methods.

  • The rbd device unmap command now has a --namespace option. Support for namespaces was added to RBD in Nautilus 14.2.0, and since then it has been possible to map and unmap images in namespaces using the image-spec syntax. However, the corresponding option available in most other commands was missing.

  • All rbd-mirror daemon perf counters have become labeled and are now emitted only by the new counter dump and counter schema commands. As part of the conversion, many were also renamed in order to better disambiguate journal-based and snapshot-based mirroring.

  • The list-watchers C++ API (Image::list_watchers) now clears the passed std::list before appending to it. This aligns with the semantics of the C API (rbd_watchers_list).

  • Trailing newline in passphrase files (for example: the <passphrase-file> argument of the rbd encryption format command and the --encryption-passphrase-file option of other commands) is no longer stripped.

  • Support for layered client-side encryption has been added. It is now possible to encrypt cloned images with a distinct encryption format and passphrase, differing from that of the parent image and from that of every other cloned image. The efficient copy-on-write semantics intrinsic to unformatted (regular) cloned images have been retained.

RGW

  • Bucket resharding is now supported for multi-site configurations. This feature is enabled by default for new deployments. Existing deployments must enable the resharding feature manually after all zones have upgraded. See https://docs.ceph.net.cn/en/latest/radosgw/multisite/#zone-features for details.

  • The RGW policy parser now rejects unknown principals by default. If you are mirroring policies between RGW and AWS, you might want to set rgw_policy_reject_invalid_principals to false. This change affects only newly set policies, not policies that are already in place.

  • RGW’s default backend for rgw_enable_ops_log has changed from RADOS to file. The default value of rgw_ops_log_rados is now false, and rgw_ops_log_file_path now defaults to /var/log/ceph/ops-log-$cluster-$name.log.

  • RGW’s pubsub interface now returns boolean fields using bool. Before this change, /topics/<topic-name> returned stored_secret and persistent using a string of "true" or "false" that contains enclosing quotation marks. After this change, these fields are returned without enclosing quotation marks so that the fields can be decoded as boolean values in JSON. The same is true of the is_truncated field returned by /subscriptions/<sub-name>.

  • RGW’s response of Action=GetTopicAttributes&TopicArn=<topic-arn> REST API now returns HasStoredSecret and Persistent as boolean in the JSON string that is encoded in Attributes/EndPoint.

  • All boolean fields that were previously rendered as strings by the rgw-admin command when the JSON format was used are now rendered as boolean. If your scripts and tools rely on this behavior, update them accordingly. The following is a list of the field names impacted by this change

    • absolute

    • add

    • admin

    • appendable

    • bucket_key_enabled

    • delete_marker

    • exists

    • has_bucket_info

    • high_precision_time

    • 索引

    • is_master

    • is_prefix

    • is_truncated

    • linked

    • log_meta

    • log_op

    • pending_removal

    • read_only

    • retain_head_object

    • rule_exist

    • start_with_full_sync

    • sync_from_all

    • syncstopped

    • system

    • truncated

    • user_stats_sync

  • The Beast front end’s HTTP access log line now uses a new debug_rgw_access configurable. It has the same defaults as debug_rgw, but it can be controlled independently.

  • The pubsub functionality for storing bucket notifications inside Ceph has been removed. As a result, the pubsub zone should not be used anymore. The following have also been removed: the REST operations, radosgw-admin commands for manipulating subscriptions, fetching the notifications, and acking the notifications.

    If the endpoint to which the notifications are sent is down or disconnected, we recommend that you use persistent notifications to guarantee their delivery. If the system that consumes the notifications has to pull them (instead of the notifications being pushed to the system), use an external message bus (for example, RabbitMQ or Kafka) for that purpose.

  • The serialized format of notification and topics has changed. This means that new and updated topics will be unreadable by old RGWs. We recommend completing the RGW upgrades before creating or modifying any notification topics.

  • Compression is now supported for objects uploaded with Server-Side Encryption. When both compression and encryption are enabled, compression is applied before encryption. Earlier releases of multisite do not replicate such objects correctly, so all zones must upgrade to Reef before enabling the compress-encrypted zonegroup feature: see https://docs.ceph.net.cn/en/latest/radosgw/multisite/#zone-features and note the security considerations.

遥测

  • Users who have opted in to telemetry can also opt in to participate in a leaderboard in the telemetry public dashboards (https://telemetry-public.ceph.com/). In addition, users are now able to provide a description of their cluster that will appear publicly in the leaderboard. For more details, see: https://docs.ceph.net.cn/en/latest/mgr/telemetry/#leaderboard. To see a sample report, run ceph telemetry preview. To opt in to telemetry, run ceph telemetry on. To opt in to the leaderboard, run ceph config set mgr mgr/telemetry/leaderboard true. To add a leaderboard description, run ceph config set mgr mgr/telemetry/leaderboard_description ‘Cluster description’ (entering your own cluster description).

Upgrading from Pacific or Quincy

在开始之前,请确保您的集群稳定且健康(没有宕机或恢复中的 OSD)。(这是可选的,但建议这样做。)您可以在升级期间使用 noautoscale 标志禁用所有池的自动伸缩器。

注意

您可以使用 ceph versions 命令监控每个阶段的升级进度,该命令将告诉您每种类型的守护程序正在运行的 ceph 版本。

升级 cephadm 集群

如果您的集群是使用 cephadm 部署的(首次在 Octopus 中引入),则升级过程是完全自动化的。要启动升级,

ceph orch upgrade start --image quay.io/ceph/ceph:v18.2.0

相同的过程用于升级到未来的次要版本。

可以使用以下命令监控升级进度:

ceph orch upgrade status

Upgrade progress can also be monitored with ceph -s (which provides a simple progress bar) or more verbosely with

ceph -W cephadm

可以使用以下命令暂停或恢复升级:

ceph orch upgrade pause  # to pause
ceph orch upgrade resume # to resume

或使用以下命令取消:

ceph orch upgrade stop

Note that canceling the upgrade simply stops the process; there is no ability to downgrade back to Pacific or Quincy.

升级非 cephadm 集群

注意

  1. If your cluster is running Pacific (16.2.x) or later, you might choose to first convert it to use cephadm so that the upgrade to Reef is automated (see above). For more information, see https://docs.ceph.net.cn/en/latest/cephadm/adoption/.

  2. If your cluster is running Pacific (16.2.x) or later, systemd unit file names have changed to include the cluster fsid. To find the correct systemd unit file name for your cluster, run following command

    systemctl -l | grep <daemon type>
    

    示例

    systemctl -l | grep mon | grep active
    
    ceph-6ce0347c-314a-11ee-9b52-000af7995d6c@mon.f28-h21-000-r630.service                                           loaded active running   Ceph mon.f28-h21-000-r630 for 6ce0347c-314a-11ee-9b52-000af7995d6c
    
  1. Set the noout flag for the duration of the upgrade. (Optional, but recommended.)

    ceph osd set noout
    
  2. Upgrade monitors by installing the new packages and restarting the monitor daemons. For example, on each monitor host

    systemctl restart ceph-mon.target
    

    Once all monitors are up, verify that the monitor upgrade is complete by looking for the reef string in the mon map. The command

    ceph mon dump | grep min_mon_release
    

    应报告

    min_mon_release 18 (reef)
    

    If it does not, that implies that one or more monitors hasn’t been upgraded and restarted and/or the quorum does not include all monitors.

  3. Upgrade ceph-mgr daemons by installing the new packages and restarting all manager daemons. For example, on each manager host,

    systemctl restart ceph-mgr.target
    

    Verify the ceph-mgr daemons are running by checking ceph -s

    ceph -s
    
    ...
      services:
       mon: 3 daemons, quorum foo,bar,baz
       mgr: foo(active), standbys: bar, baz
    ...
    
  4. 通过安装新包并重新启动所有 OSD 主机上的 ceph-osd 守护程序来升级所有 OSD

    systemctl restart ceph-osd.target
    
  5. 升级所有 CephFS MDS 守护程序。对于每个 CephFS 文件系统:

    1. 禁用 standby_replay

      ceph fs set <fs_name> allow_standby_replay false
      
    2. If upgrading from Pacific <=16.2.5

      ceph config set mon mon_mds_skip_sanity true
      
    3. 将排名数减少到 1。(如果您计划稍后恢复,请先记下原始 MDS 守护程序数。)

      ceph status # ceph fs set <fs_name> max_mds 1
      
    4. 通过定期检查状态等待集群停用任何非零排名:

      ceph status
      
    5. 在适当的主机上使用以下命令使所有 standby MDS 守护程序离线:

      systemctl stop ceph-mds@<daemon_name>
      
    6. 确认只有一个 MDS 在线并且是您的 FS 的排名 0:

      ceph status
      
    7. 通过安装新软件包并重新启动守护程序来升级最后剩下的 MDS 守护程序:

      systemctl restart ceph-mds.target
      
    8. 重新启动所有已离线的 standby MDS 守护程序:

      systemctl start ceph-mds.target
      
    9. Restore the original value of max_mds for the volume

      ceph fs set <fs_name> max_mds <original_max_mds>
      
    10. If upgrading from Pacific <=16.2.5 (followup to step 5.2)

      ceph config set mon mon_mds_skip_sanity false
      
  6. 通过升级包并重新启动所有主机上的守护程序来升级所有 radosgw 守护程序

    systemctl restart ceph-radosgw.target
    
  7. Complete the upgrade by disallowing pre-Reef OSDs and enabling all new Reef-only functionality

    ceph osd require-osd-release reef
    
  8. If you set noout at the beginning, be sure to clear it with

    ceph osd unset noout
    
  9. Consider transitioning your cluster to use the cephadm deployment and orchestration framework to simplify cluster management and future upgrades. For more information on converting an existing cluster to cephadm, see https://docs.ceph.net.cn/en/latest/cephadm/adoption/.

升级后

  1. Verify the cluster is healthy with ceph health. If your cluster is running Filestore, and you are upgrading directly from Pacific to Reef, a deprecation warning is expected. This warning can be temporarily muted using the following command

    ceph health mute OSD_FILESTORE
    
  2. Consider enabling the telemetry module to send anonymized usage statistics and crash information to the Ceph upstream developers. To see what would be reported (without actually sending any information to anyone),

    ceph telemetry preview-all
    

    如果您对报告的数据感到满意,可以选择自动报告高级集群元数据,使用

    ceph telemetry on
    

    聚合 Ceph 遥测数据的公共仪表盘位于 https://telemetry-public.ceph.com/

Upgrading from pre-Pacific releases (like Octopus)

You must first upgrade to Pacific (16.2.z) or Quincy (17.2.z) before upgrading to Reef.

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入