v16.2.14 Pacific 发布
这是 Pacific 系列的第十四个反向移植版本。
重要变更 ¶
CEPHFS:在按照灾难恢复过程恢复 Ceph 文件系统后,现在可以删除 lost+found 目录下的恢复文件。
ceph mgr dump 命令现在在 active_clients 数组元素中添加的 name 字段中显示注册 RADOS 客户端的 mgr 模块名称。以前,active_clients 数组中只显示模块的 RADOS 客户端地址。
变更日志 ¶
反向移植 PR #39607 (pr#51344, Rishabh Dave)
blk/kernel: 修复 KernelDevice::read 中的错误代码映射 (pr#49263, Joshua Baergen)
blk/KernelDevice: 修改旋转和丢弃检查日志消息 (pr#50322, Vikhyat Umrao)
build: 在 install-deps 中删除 ceph-libboost* 包 (pr#52790, Nizamudeen A, Adam Emerson)
ceph-volume: 修复
get\_lvm\_fast\_allocs()(batch) 中的一个错误 (pr#52063, Guillaume Abrioux)ceph-volume: 修复批量重构问题 (pr#51207, Guillaume Abrioux)
ceph-volume: 修复 drive-group 问题,该问题要求 batch_args 是一个字符串 (pr#51209, Mohan Sharma)
ceph-volume: zap.py 中的快速修复 (pr#51196, Guillaume Abrioux)
ceph-volume: 为 mpath 类型设备设置 lvm 成员资格 (pr#52080, Guillaume Abrioux)
ceph_test_rados_api_watch_notify: 扩展 Watch3Timeout 测试 (pr#51261, Sage Weil)
ceph_volume: 支持 lvm new-db/new-wal/migrate 命令的加密卷 (pr#52873, Igor Fedotov)
cephadm: 消除部分重复 (pr#51433, Rongqi Sun)
cephadm: 在 podman 部署中为守护进程容器挂载主机 /etc/hosts (pr#51174, Adam King)
cephadm: 从离线主机重新调度 haproxy (pr#51214, Michael Fritch)
cephadm: 为 prometheus url 使用 ip 而不是短主机名 (pr#51212, Redouane Kachach)
cephfs-top: 检查最低兼容 python 版本 (pr#51353, Jos Collin)
cephfs-top: 将值转储到 stdout 并修复 -d [--delay] 选项 (pr#50715, Jos Collin, Neeraj Pratap Singh, wangxinyu, Rishabh Dave)
cephfs-top: 没有 fs 时导航到主屏幕 (pr#50737, Jos Collin)
cephfs-top: 修复
choose\_field()中的一些排序问题 (pr#50596, Neeraj Pratap Singh)client: 在 fallocate 路径中清除 suid/sgid (pr#50988, Lucian Petrut, Xiubo Li, Sven Anderson)
client: 在 Inode::dump() 中不要转储 mds 两次 (pr#51247, Xue Yantao)
client: 在 MDS 排名准备就绪之前不要发送指标 (pr#52500, Xiubo Li)
client: 始终强制发送 cap revoke ack (pr#52506, Xiubo Li)
client: 卸载时只等待写入 MDS OPs (pr#52304, Xiubo Li)
client: 创建快照时触发刷新缓冲区 (pr#52499, Xiubo Li)
client: 在 make_request 期间设置权限时使用深拷贝 (pr#51487, Mer Xuanyi)
client: 等待重命名完成 (pr#52505, Xiubo Li)
cls/queue: 在 queue_list_entries 中使用更大的读取块 (pr#49903, Igor Fedotov)
common/crc32c_aarch64: 修复 aarch64 上 crc32c unittest 失败 (pr#51315, luo rixin)
common/TrackedOp: 修复 osd 重启 optracker 核心转储 (pr#51249, yaohui.zhou)
common: 当 OutputDataSocket 中的最大积压达到时通知所有人 (pr#47232, Shu Yu)
common: 使用 double 而不是 long double 来提高性能 (pr#51316, Chunsong Feng, luo rixin)
考虑在为 CephFS 自动创建数据池时设置“bulk”自动缩放池标志 (pr#52900, Leonid Usov)
debian: 安装 cephfs-mirror systemd 单元文件和手册页 (pr#52075, Jos Collin)
如果 OSD 滞后,则不要驱逐客户端 (pr#52270, Laura Flores, Dhairya Parmar)
doc/cephadm: Revert "doc/cephadm: update about disabling logging to journald for quincy" (pr#51882, Adam King)
doc/cephfs: 编辑 fs-volumes.rst (1 of x) (pr#51467, Zac Dover)
doc/cephfs: 解释 cephfs 数据和元数据设置 (pr#51237, Zac Dover)
doc/cephfs: 修复 fs-volumes.rst 中的提示 (pr#51436, Zac Dover)
doc/cephfs: 行编辑 "Mirroring Module" (pr#51544, Zac Dover)
doc/cephfs: 修正 fs-volumes.rst 中的提示 (pr#51460, Zac Dover)
doc/cephfs: 修复无法访问的 FSes (pr#51373, Zac Dover)
doc/dev/encoding.txt: 根据 std::optional 更新 (pr#51399, Radoslaw Zarzynski)
doc/glossary: 更新 bluestore 条目 (pr#51695, Zac Dover)
doc/mgr: 编辑 telemetry.rst 中的 "leaderboard" (pr#51722, Zac Dover)
doc/mgr: 更新 prometheus.rst 中的提示 (pr#51311, Zac Dover)
doc/rados/operations: Acting Set 问题 (pr#51741, Zac Dover)
doc/rados/operations: 修复 erasure-code-jerasure.rst 修复 (pr#51744, Anthony D'Atri)
doc/rados/ops: 编辑 user-management.rst (3 of x) (pr#51241, Zac Dover)
doc/rados: 编辑 balancer.rst (pr#51826, Zac Dover)
doc/rados: 编辑 bluestore-config-ref.rst (1 of x) (pr#51791, Zac Dover)
doc/rados: 编辑 bluestore-config-ref.rst (2 of x) (pr#51795, Zac Dover)
doc/rados: 编辑 data-placement.rst (pr#51597, Zac Dover)
doc/rados: 编辑 devices.rst (pr#51479, Zac Dover)
doc/rados: 编辑 filestore-config-ref.rst (pr#51753, Zac Dover)
doc/rados: 编辑 stretch-mode 过程 (pr#51291, Zac Dover)
doc/rados: 编辑 stretch-mode.rst (pr#51339, Zac Dover)
doc/rados: 编辑 stretch-mode.rst (pr#51304, Zac Dover)
doc/rados: 编辑 user-management (2 of x) (pr#51157, Zac Dover)
doc/rados: 修复 common.rst 中的链接 (pr#51757, Zac Dover)
doc/rados: 行编辑 devices.rst (pr#51578, Zac Dover)
doc/rados: m-config-ref: 编辑 "background" (pr#51274, Zac Dover)
doc/rados: stretch-mode.rst (其他命令) (pr#51391, Zac Dover)
doc/rados: stretch-mode: stretch 集群问题 (pr#51379, Zac Dover)
doc/radosgw: 解释多站点动态分片 (pr#51587, Zac Dover)
doc/radosgw: rabbitmq - push-endpoint 编辑 (pr#51307, Zac Dover)
doc/start/os-recommendations: 删除 4.14 内核并重新措辞指南 (pr#51491, Ilya Dryomov)
doc/start: 编辑 documenting-ceph 的前 150 行 (pr#51183, Zac Dover)
doc/start: 修复 "Planet Ceph" 链接 (pr#51421, Zac Dover)
doc/start: KRBD 功能标志支持说明 (pr#51504, Zac Dover)
doc/start: 重写介绍段落 (pr#51222, Zac Dover)
doc: 添加指向 index.rst 的 "documenting ceph" 链接 (pr#51471, Zac Dover)
doc: 在文档部分 `REPLACING A…` 中添加缺少的
ceph命令 (pr#51621, Alexander Proschek)doc: 弃用缓存分层 (pr#51654, Radosław Zarzyński)
doc: 记录 mds_namespace 挂载选项的相关性 (pr#49688, Jos Collin)
doc: 详细解释 cephfs mirroring
peer\_add步骤 (pr#51522, Venky Shankar)doc: 更新 jerasure.org 引用 (pr#51727, Anthony D'Atri)
doc: 更新 multisite doc (pr#51402, parth-gr)
doc: 使用
ceph osd crush tree命令显示权重集权重 (pr#51351, James Lakin)kv/RocksDBStore: 添加 CompactOnDeletion 支持 (pr#50894, Radoslaw Zarzynski, Mark Nelson)
kv/RocksDBStore: rm_range_keys 及其周围的累积反向移植 (pr#50637, Igor Fedotov)
kv/RocksDBStore: 不要在前缀访问时使用真实的全局空间迭代器 (pr#50496, Igor Fedotov)
librados: aio operate 函数可以设置时间 (pr#52117, Casey Bodley)
librbd/managed_lock/GetLockerRequest: 修复没有有效锁定的情况 (pr#52287, Ilya Dryomov, Matan Breizman)
librbd: 避免在第一个元素之前递减迭代器 (pr#51856, Lucian Petrut)
librbd: 避免在 I/O 下拍摄快照时发生对象图损坏 (pr#52285, Ilya Dryomov)
librbd: 如果客户端被列入黑名单,则不要在 send_acquire_lock() 中等待监视 (pr#50926, Ilya Dryomov, Christopher Hoffman)
librbd: 为镜像快照本地化 snap_remove op (pr#51431, Christopher Hoffman)
librbd: 成功创建新快照后删除以前不完整的主快照 (pr#51429, Ilya Dryomov, Prasanna Kumar Kalever)
log: 写入 stderr (pipe) 可能不是原子性的 (pr#50778, Lucian Petrut, Patrick Donnelly)
MDS imported_inodes 指标未更新 (pr#51699, Yongseok Oh)
mds: 调整 cap 获取节流 (pr#52974, Patrick Donnelly)
mds: 允许从 lost+found 目录取消链接 (issue#59569, pr#51687, Venky Shankar)
mds: 为空功能位显示正常的十六进制值 (0x0) (pr#52125, Jos Collin)
mds: 不要在 CEPH_SNAP_OP_UPDATE 消息中发送 split_realms (pr#52848, Xiubo Li)
mds: 不使用已被使用的 ino (pr#51508, Xiubo Li)
mds: 修复 cpu_profiler asok 崩溃 (pr#52979, liu shi)
mds: 修复使用 scrub 的流浪评估并引入新选项 (pr#50814, Dhairya Parmar)
mds: 修复 linkmerge 断言检查 (pr#52726, Kotresh HR)
mds: 强制重放 sessionmap 版本 (pr#50725, Xiubo Li)
mds: 使 num_fwd 和 num_retry 为 __u32 (pr#50733, Xiubo Li)
mds: MDLog::_recovery_thread: 优雅地处理错误 (pr#52513, Jos Collin)
mds: rdlock_path_xlock_dentry 支持返回 auth target inode (pr#51609, Zhansong Gao)
mds: 记录并转储用于修剪已完成请求(或刷新)的最后一个 tid (issue#57985, pr#50811, Venky Shankar)
mds: 如果会话被删除,则跳过转发请求 (pr#52844, Xiubo Li)
mds: 在重放期间更新 mdlog 性能计数器 (pr#52682, Patrick Donnelly)
mds: 等待 unlink 操作完成 (pr#50986, Xiubo Li)
mds: 在取消链接时等待 reintegrate 完成 (pr#51686, Xiubo Li)
mgr/cephadm: 添加 --storage.tsdb.retention.size prometheus 选项 (pr#51647, Redouane Kachach)
mgr/cephadm: 不要尝试将客户端/os 调优配置文件写入已知的离线主机 (pr#51346, Adam King)
mgr/cephadm: 支持守护进程的杂项配置文件 (pr#51517, Adam King)
mgr/dashboard: 允许 CORS 中的 PUT (pr#52704, Nizamudeen A)
mgr/dashboard: API 文档 UI 不适用于 Angular dev server (pr#51245, Volker Theile)
mgr/dashboard: 在服务表单中公开更多 grafana 配置 (pr#51113, Nizamudeen A)
mgr/dashboard: 修复损坏的 Fedora 镜像 URL (pr#52477, Zack Cerza)
mgr/dashboard: 修复 rbd 快照创建 (pr#51075, Aashish Sharma)
mgr/dashboard: 修复 rbd mirroring configure 检查 (pr#51324, Nizamudeen A)
mgr/dashboard: 将 cephadm e2e 清理移至 jenkins job config (pr#52389, Nizamudeen A)
mgr/dashboard: rbd-mirror 强制升级 (pr#51056, Pedro Gonzalez Gomez)
mgr/dashboard: 在集群扩展中跳过 Create OSDs 步骤 (pr#51150, Nizamudeen A)
mgr/dashboard: SSO 错误: AttributeError: 'str' object has no attribute 'decode' (pr#51950, Volker Theile)
mgr/nfs: 创建导出时禁止不存在的路径 (pr#50809, Dhairya Parmar)
mgr/orchestrator: 修复
orch device ls输出中的设备大小 (pr#51211, Adam King)mgr/rbd_support: 修复 rados client blocklisting 恢复相关问题 (pr#51464, Ramana Raja)
mgr/snap_schedule: 为快照创建失败的路径添加 debug log (pr#51246, Milind Changire)
mgr/snap_schedule: 捕获 cli 的所有异常 (pr#52753, Milind Changire)
mgr/volumes: 避免将 -ESHUTDOWN 返回给 cli (issue#58651, pr#51039, Venky Shankar)
mgr: 在 MgrMap 中存储注册 RADOS 客户端的模块名称 (pr#52883, Ramana Raja)
MgrMonitor: 批量提交 OSDMap 和 MgrMap 突变 (pr#50980, Patrick Donnelly, Kefu Chai, Radosław Zarzyński)
mon/ConfigMonitor: 从 osd 实体更新 crush_location (pr#52468, Didier Gazen)
mon/MDSMonitor: 批量更新 last_metadata 和 pending (pr#52230, Patrick Donnelly)
mon/MDSMonitor: 检查 pending 中是否存在 fscid (pr#52233, Patrick Donnelly)
mon/MDSMonitor: 在 prepare_update 中出错时不要提议 (pr#52240, Patrick Donnelly)
mon/MDSMonitor: 忽略多余的 up:boot 消息 (pr#52244, Patrick Donnelly)
mon/MonClient: 在完成带有错误的 auth 之前,重新打开 session (pr#52133, Nitzan Mordechai)
mon: 避免将 require-osd-release 设置为超过 2 个版本时出现异常 (pr#51382, Igor Fedotov)
mon: 为 fs pool 阻止 osd pool mksnap (pr#52397, Milind Changire)
Monitor: 将 report 命令转发给 leader (pr#51258, Dan van der Ster)
orchestrator: 为
ceph orch osd rm添加--no-destroy参数 (pr#51213, Guillaume Abrioux)os/bluestore: 分配器的累积反向移植 (pr#50321, Igor Fedotov, Adam Kupczyk, Ronen Friedman)
os/bluestore: 允许单卷 osd 使用 'fit_to_fast' 选择器 (pr#51418, Igor Fedotov)
os/bluestore: 累积 bluefs 反向移植 (pr#52212, Igor Fedotov, Adam Kupczyk)
os/bluestore: 查找 oid 时不需要单独的变量来标记命中 (pr#52943, locallocal)
os/bluestore: 修复溢出警报 (pr#50932, Igor Fedotov)
os/bluestore: proper override rocksdb::WritableFile::Allocate (pr#51773, Igor Fedotov)
os/bluestore: 通过 "ceph osd metadata" 报告 min_alloc_size (pr#50506, Igor Fedotov)
osd/OSDCap: 允许 rbd-read-only profile 下的 rbd.metadata_list 方法 (pr#51876, Ilya Dryomov)
OSD: 修复 check_past_interval_bounds() (pr#51510, Matan Breizman, Samuel Just)
pybind/argparse: blocklist ip 验证 (pr#51812, Nitzan Mordechai)
pybind/mgr/pg_autoscaler: 重新排序 func: _maybe_adjust 的 if 语句 (pr#50694, Kamoltat)
pybind: 在库回调期间删除 GIL (pr#52323, Ilya Dryomov, Patrick Donnelly)
python-common: drive_selection: 修复 osdspec_affinity 未设置时的 KeyError (pr#53157, Guillaume Abrioux)
qa/rgw: 将 POOL_APP_NOT_ENABLED 添加到 log-ignorelist (pr#52048, Casey Bodley)
qa/suites/rados: 从 rados suite 中删除 rook 覆盖范围 (pr#52017, Laura Flores)
qa/suites/rbd: 在 Ubuntu 上安装 qemu-utils 和 qemu-block-extra (pr#51059, Ilya Dryomov)
qa/suites/upgrade/octopus-x: 跳过 TestClsRbd.mirror_snapshot 测试 (pr#53002, Ilya Dryomov)
qa: 检查每个 fs 的健康状况 (pr#51232, Patrick Donnelly)
qa: data-scan/journal-tool 在上游测试中不输出调试信息 (pr#50773, Patrick Donnelly)
qa: 修复 cephfs-mirror unwind 和 'fs volume create/rm' 顺序 (pr#52654, Jos Collin)
qa: mirror tests 应该在 unwind 期间清理 fs (pr#50765, Patrick Donnelly)
qa: 在文件系统恢复后运行 scrub (issue#59527, pr#51610, Venky Shankar)
qa: test_simple 失败 (pr#50756, Patrick Donnelly)
qa: 使用 parallel gzip 压缩日志 (pr#52953, Patrick Donnelly)
qa: 等待 MDSMonitor tick 替换守护进程 (pr#52237, Patrick Donnelly)
radosgw-admin: 即使存储桶正在重分片也尝试重分片 (pr#51836, Casey Bodley)
rbd-mirror: 修复 force promote 上的镜像重放器关闭描述 (pr#52878, Prasanna Kumar Kalever)
rbd-mirror: 修复阻止本地镜像删除的竞争条件 (pr#52625, N Balachandran)
rgw/rados: check_quota() 使用真实的存储桶所有者 (pr#51330, Mykola Golub, Casey Bodley)
rgw/s3: 即使为空,也在 Error 响应中转储 Message 字段 (pr#51200, Casey Bodley)
rgw: 避免在 RGWBulkUploadOp 中使用 string_view to temporary (pr#52159, Casey Bodley)
rgw: 修复 OLH 对象的一致性错误 (pr#52552, Cory Snyder)
rgw: LDAP 修复错误凭据导致的资源泄漏 (pr#50560, Johannes Liebl, Johannes)
rgw: 在 fips 和 openssl 3.x 下允许在 select rgw ops 中使用 md5 (pr#51266, Mark Kogan)
src/valgrind.supp: 添加与 ceph 无关的已知泄漏 (pr#49521, Nitzan Mordechai)
src/valgrind.supp: 添加与 ceph 无关的已知泄漏 (pr#51341, Nitzan Mordechai)
test: 修正 osd pool 默认大小 (pr#51803, Nitzan Mordechai)
test: monitor thrasher 等待直到法定人数 (pr#51799, Nitzan Mordechai)
tests: 从 multisite 中删除 pubsub 测试 (pr#48928, Yuval Lifshitz)
tools/ceph-dencoder: 修复 trash_watcher 的不正确类型定义 (pr#51778, Chen Yuanrun)
tools/ceph-kvstore-tool: 修复修复 rocksdb 时段错误 (pr#51254, huangjun)
tools/cephfs-data-scan: 支持多数据池 (pr#50523, Mykola Golub)
vstart: 在启动 mgr 后检查 mgr 状态 (pr#51604, Rongqi Sun)
Wip nitzan fixing few rados/test.sh (pr#49943, Nitzan Mordechai