发布 13.2.1 Mimic
TheAnalyst
这是 Mimic v13.2.x 长期稳定版系列的首个错误修复版本。此版本包含对 Ceph 所有组件的许多修复,包括一些安全修复。我们建议所有用户升级。
重要变更 ¶
- CVE 2018-1128: auth: cephx 授权器易受重放攻击 (issue#24836, Sage Weil)
- CVE 2018-1129: auth: cephx 签名检查较弱 (issue#24837, Sage Weil)
- CVE 2018-10861: mon: 对池操作的 auth 检查不正确 (issue#24838, Jason Dillaman)
变更日志 ¶
- bluestore: common/hobject: 改进了 hobject_t 等的哈希计算 (pr#22777, Adam Kupczyk, Sage Weil)
- bluestore,core: mimic: os/bluestore: 不要从元数据中存储/使用 path_block.{db,wal} (pr#22477, Sage Weil, Alfredo Deza)
- bluestore: os/bluestore: 反向移植 24319 和 24550 (issue#24550, issue#24502, issue#24319, issue#24581, pr#22649, Sage Weil)
- bluestore: os/bluestore: 修复压缩时标记不完整错误范围的问题 (pr#22910, Igor Fedotov)
- bluestore: spdk: 修复激活 SPDK 时 ceph-osd 崩溃的问题 (issue#24472, issue#24371, pr#22684, tone-zhang)
- build/ops: build/ops: ceph.git 源代码树中有两个不同版本的 dpdk (issue#24942, issue#24032, pr#23070, Kefu Chai)
- build/ops: build/ops: install-deps.sh 在最新的 openSUSE Leap 上失败 (issue#25065, pr#23178, Kyr Shatskyy)
- build/ops: build/ops: Mimic build fails with -DWITH_RADOSGW=0 (issue#24766, pr#22851, Dan Mick)
- build/ops: cmake: 为 RocksDB 的 debug 和 release 版本启用 RTTI (pr#22299, Igor Fedotov)
- build/ops: deb/rpm: 添加 python-six 作为构建时和运行时依赖项 (issue#24885, pr#22948, Nathan Cutler, Kefu Chai)
- build/ops: deb,rpm: 修复 block.db 符号链接所有权 (pr#23246, Sage Weil)
- build/ops: include: 修复使用旧版 clang (OSX target) 构建的问题 (pr#23049, Christopher Blum)
- build/ops: include: 修复使用旧版 clang 构建的问题 (pr#23034, Kefu Chai)
- build/ops,rbd: build/ops: 将 rbdmap.service 排在 remote-fs-pre.target 之前 (issue#24713, issue#24734, pr#22843, Ilya Dryomov)
- cephfs: cephfs: 允许禁止在 CephFS 中使用用户快照 (issue#24705, issue#24284, pr#22812, “Yan, Zheng”)
- cephfs: cephfs-journal-tool: 修复导入零长度日志时的清除问题 (issue#24861, pr#22981, yupeng chen, zhongyan gu)
- cephfs: client: 修复 bug #24491 _ll_drop_pins 可能会访问无效迭代器的问题 (issue#24534, pr#22791, Liu Yangkuan)
- cephfs: client: 根据颁发的 caps 更新 inode 字段 (issue#24539, issue#24269, pr#22819, “Yan, Zheng”)
- cephfs: common/DecayCounter: 在解码时将 last_decay 设置为当前时间… (issue#24440, issue#24537, pr#22816, Zhi Zhang)
- cephfs,core: mon/MDSMonitor: 不要向集群日志发送冗余的 MDS 健康消息 (issue#24308, issue#24330, pr#22265, Sage Weil)
- cephfs: mds: 为 open file table 的 header 添加 magic (issue#24541, issue#24240, pr#22841, “Yan, Zheng”)
- cephfs: mds: 由于 dirfrags 遍历导致 wrlock 效率低下 (issue#24704, issue#24467, pr#22884, Xuehan Xu)
- cephfs: PurgeQueue 有时会忽略 Journaler 错误 (issue#24533, issue#24703, pr#22810, John Spray)
- cephfs,rbd: osdc: 修复错误的 BufferHead 偏移量 (issue#24583, pr#22869, dongdong tao)
- cephfs: 重复驱逐空闲客户端直到发生一些 IO (issue#24052, issue#24296, pr#22550, “Yan, Zheng”)
- cephfs: test gets ENOSPC from bluestore block device (issue#24238, issue#24913, issue#24899, issue#24758, pr#22835, Patrick Donnelly, Sage Weil)
- cephfs,tests: pjd: cd: 参数过多 (issue#24310, pr#22882, Neha Ojha)
- cephfs,tests: qa: 客户端套接字无法在没有 sudo 的情况下访问 (issue#24872, issue#24904, pr#23030, Patrick Donnelly)
- cephfs,tests: qa: 修复 ffsb cd 参数 (issue#24719, issue#24829, issue#24680, issue#24579, pr#22956, Yan, Zheng, Patrick Donnelly)
- cephfs,tests: qa/suites: 添加 supported-random-distro$ 链接 (issue#24706, issue#24138, pr#22700, Warren Usui)
- ceph-volume 更好地描述了从 ceph-disk 迁移的选项 (pr#22514, Alfredo Deza)
- ceph-volume dmcrypt 和 activate –all 文档更新 (pr#22529, Alfredo Deza)
- ceph-volume: 需要 ceph.conf 才能运行的命令出错 (issue#23941, pr#22747, Andrew Schoen)
- ceph-volume 扩展 LVM API 以创建不同大小的多个 LV (pr#22508, Alfredo Deza)
- ceph-volume 自动子命令的初步尝试 (pr#22515, Alfredo Deza)
- ceph-volume lvm.activate 不搜索 MON 配置 (pr#22398, Wido den Hollander)
- ceph-volume lvm.common 使用 destroy-new,不需要 admin keyring (issue#24585, pr#22900, Alfredo Deza)
- ceph-volume: 缺少 ceph.conf 时提供友好的错误消息 (pr#22832, Andrew Schoen)
- ceph-volume tests destroy osds on monitor hosts (pr#22507, Alfredo Deza)
- ceph-volume tests do not include admin keyring in OSD nodes (pr#22425, Alfredo Deza)
- ceph-volume tests.functional install new ceph-ansible dependencies (pr#22535, Alfredo Deza)
- ceph-volume: tests/functional 在 OSD 预配后运行 lvm list (issue#24961, pr#23148, Alfredo Deza)
- ceph-volume tests/functional 使用 Ansible 2.6 (pr#23244, Alfredo Deza)
- ceph-volume: 在 zapping 之前正确卸载 lvs (issue#24796, pr#23127, Andrew Schoen)
- cmake: 将所需的 boost 版本提高到 1.67 (pr#22412, Kefu Chai)
- common: common: 在 qa/standalone/erasure-code/test-erasure-eio.sh 期间在 OSDMap::decode() 中中止 (issue#24865, issue#23492, pr#23024, Sage Weil)
- common: common: 修复 rados bench write JSON 输出中的拼写错误 (issue#24292, issue#24199, pr#22406, Sandor Zeestraten)
- common,core: common: 部分恢复 95fc248 以使 get_process_name 工作 (issue#24123, issue#24215, pr#22311, Mykola Golub)
- common: osd: 将 osd_skip_data_digest 默认值更改为 false 并使其为 LEVEL_DEV (pr#23084, Sage Weil, David Zafman)
- common: tell … config rm
不是幂等的 (issue#24468, issue#24408, pr#22552, Sage Weil) - core: bluestore: flush_commit 存在竞争条件 (issue#24261, issue#21480, pr#22382, Sage Weil)
- core: ceph osd safe-to-destroy 会使 mgr 崩溃 (issue#24708, issue#23249, pr#22805, Sage Weil)
- core: 更改默认 filestore_merge_threshold 为 -10 (issue#24686, issue#24747, pr#22813, Douglas Fuller)
- core: common/hobject: 改进了哈希计算 (pr#22722, Adam Kupczyk)
- core: cosbench stuck at booting cosbench driver (issue#24473, pr#22887, Neha Ojha)
- core: librados: 修复 aio_exec python binding 的缓冲区溢出问题 (issue#24475, pr#22707, Aleksei Gutikov)
- core: mon: 为 rocksdb 启用 level_compaction_dynamic_level_bytes (issue#24375, issue#24361, pr#22361, Kefu Chai)
- core: mon/MgrMonitor: 将“unresponsive”消息更改为 info 级别 (issue#24246, issue#24222, pr#22333, Sage Weil)
- core: mon/OSDMonitor: 对 MOSDFailure 消息进行 no_reply (issue#24322, issue#24350, pr#22297, Sage Weil)
- core: os/bluestore: 如果 open db 遇到错误,则先删除 db,然后删除 bluefs (pr#22525, Jianpeng Ma)
- core: os/bluestore: 修复 ~SharedBlob 中 SharedBlob::coll 上的竞争条件 (issue#24859, issue#24887, pr#23065, Radoslaw Zarzynski)
- core: osd: choose_acting 循环 (issue#24383, issue#24618, pr#22889, Neha Ojha)
- core: osd: 不要盲目地向前滚动到 log.head (issue#24597, pr#22997, Sage Weil)
- core: osd: 永久卡在“unfound_recovery”中的 PG (issue#24500, issue#24373, pr#22545, Sage Weil)
- core: osd: 修复 osd_skip_data_digest=true (默认) 和 blue… 的深度 scrub (issue#24922, issue#24958, pr#23094, Sage Weil)
- core: osd: 修复初始 osd 启动时获取 osd map 的问题 (pr#22651, Paul Emmerich)
- core: osd: 增加默认硬 PG 限制 (issue#24355, pr#22621, Josh Durgin)
- core: osd: 可能在恢复时获得空信息 (issue#24771, issue#24588, pr#22861, Sage Weil)
- core: osd/PrimaryLogPG: 从客户端重建 attrs (issue#24768, issue#24805, pr#22960, Sage Weil)
- core: osd: 在 EC 恢复时重试读取对象 attrs (issue#24406, pr#22394, xiaofei cui)
- core: osd/Session: 修复 Sessoin::have_backoff() 中无效迭代器解引用的问题 (issue#24486, issue#24494, pr#22730, Sage Weil)
- core: PG: 添加 custom_reaction Backfilled 并在 bac… 后释放保留 (issue#24332, pr#22559, Neha Ojha)
- core: 为已存在的 Collection 正确设置 shard (issue#24769, issue#24761, pr#22859, Jianpeng Ma)
- core,tests: 为非 FreeBSD 重新引入 diff -y (issue#24738, issue#24470, pr#22826, Sage Weil, David Zafman)
- core,tests: ceph_test_rados_api_misc: 修复 LibRadosMiscPool.PoolCreationRace (issue#24204, issue#24150, pr#22291, Sage Weil)
- core,tests: qa/workunits/suites/blogbench.sh: 使用正确的目录名 (pr#22775, Neha Ojha)
- core,tests: Wip scrub omap (issue#24366, issue#24381, pr#22374, David Zafman)
- core,tools: ceph-detect-init: 停止使用 platform.linux_distribution (issue#18163, pr#21523, Nathan Cutler)
- core: ValueError: 由于缺少 subdir,too many values to unpack (issue#24617, pr#22888, Neha Ojha)
- doc: ceph-bluestore-tool manpage 未正确渲染 (issue#25062, issue#24800, pr#23176, Nathan Cutler)
- doc: doc: 更新实验性功能 - 快照 (pr#22803, Jos Collin)
- doc: 修复 releases/schedule.rst 中的链接 (pr#22372, Kefu Chai)
- doc: [mimic] doc/cephfs: 删除关于 multimds 的遗留“实验性”注释 (pr#22854, John Spray)
- lvm: osd 创建失败时记录异常 (issue#24456, pr#22640, Andrew Schoen)
- mgr/dashboard: 修复创建 S3 密钥时的错误 (pr#22468, Volker Theile)
- mgr/dashboard: 修复 codelyzer 更新导致的 lint 错误 (pr#22713, Tiago Melo)
- mgr/dashboard: 修复一些 datatable CSS 问题 (pr#22274, Volker Theile)
- mgr/dashboard: 浮点数格式不正确 (issue#24081, issue#24707, pr#22886, Stephan Müller, Tiago Melo)
- mgr/dashboard: 监视器性能计数器页面缺少面包屑导航 (issue#24764, pr#22849, Ricardo Marques, Tiago Melo)
- mgr/dashboard: 将 Pool 替换为 Pools (issue#24699, pr#22807, Lenz Grimmer)
- mgr: mgr/dashboard: 默认监听端口 8443 而不是 8080 (pr#22449, Wido den Hollander)
- mgr,mon: config-key 警告中 dashboard 的异常 (pr#22770, John Spray)
- mgr,pybind: Python 绑定使用 iteritems 方法,该方法与 Python 3 不兼容 (issue#24803, issue#24779, pr#22917, Nathan Cutler)
- mgr: 同步 ceph-mgr prometheus 相关更改 (pr#22341, Boris Ranto)
- mon: 直到 nautilus 才要求 mon 使用 CEPHX_V2 (pr#23233, Sage Weil)
- mon/OSDMonitor: 遵守 paxos_propose_interval (pr#22268, Xiaoxi CHEN)
- osd: 从 luminous 反向移植 osd_distrust_data_digest (pr#23184, Sage Weil)
- osd/OSDMap: 修复 CEPHX_V2 osd 要求为 nautilus,而不是 mimic (pr#23250, Sage Weil)
- qa/rgw: 禁用对 ec-cache 池的测试 (issue#23965, pr#23096, Casey Bodley)
- qa/suites/upgrade/mimic-p2p: 允许应用目标版本 (pr#23262, Sage Weil)
- qa/tests: 为 powercycle 套件添加支持的分发版 (pr#22224, Yuri Weinstein)
- qa/tests: 更改了分发版符号链接以指向使用 supported OSes 的新方式 (pr#22653, Yuri Weinstein)
- rbd: librbd: deep_copy: 如果需要,调整 head object map 的大小 (issue#24499, issue#24399, pr#22768, Mykola Golub)
- rbd: librbd: 修复打开不存在的快照时崩溃的问题 (issue#24637, issue#24698, pr#22943, Mykola Golub)
- rbd: librbd: 强制更新磁盘上的“无效对象映射”标志 (issue#24496, issue#24434, pr#22754, Mykola Golub)
- rbd: librbd: 删除映像时利用 journal disabled 策略 (issue#24388, issue#23512, pr#22662, Jason Dillaman)
- rbd: 防止在 cls/rbd 之外使用内部 feature 位 (issue#24165, issue#24203, pr#22222, Jason Dillaman)
- rbd: rbd-mirror daemon failed to stop on active/passive test case (issue#24390, pr#22667, Jason Dillaman)
- rbd: [rbd-mirror] mirror over 后 entries_behind_master 将不会为零 (issue#24391, issue#23516, pr#22549, Jason Dillaman)
- rbd: rbd-mirror simple image map policy doesn’t always level-load instances (issue#24519, issue#24161, pr#22892, Venky Shankar)
- rbd: rbd trash purge –threshold 应支持 data pool (issue#24476, issue#22872, pr#22891, Mahati Chamarthy)
- rbd,tests: qa: krbd_exclusive_option.sh: 将 lock_timeout 提高到 60 秒 (issue#25081, pr#23209, Ilya Dryomov)
- rbd: deep copying clone 可能会导致无效对象映射的另一种情况 (issue#24596, issue#24545, pr#22894, Mykola Golub)
- rgw: cls_bucket_list 失败导致 cascading osd crashes (issue#24631, issue#24117, pr#22927, Yehuda Sadeh)
- rgw: multisite: RGWSyncTraceNode 被释放两次并在重新加载时崩溃 (issue#24432, issue#24619, pr#22926, Tianshan Qu)
- rgw: 对象在 rgw_cache_expiry_interval 后永远不会在缓存中刷新 (issue#24346, issue#24385, pr#22643, Casey Bodley)
- rgw: 添加可配置的 AWS 兼容无效范围获取行为 (issue#24317, issue#24352, pr#22590, Matt Benjamin)
- rgw: Admin OPS Api 在修改用户时覆盖 email (issue#24253, pr#22523, Volker Theile)
- rgw: 修复 gc 可能导致大量读取流量的问题 (issue#24807, issue#24767, pr#22941, Xin Liao)
- rgw: 具有可配置的身份验证顺序 (issue#23089, issue#24547, pr#22842, Abhishek Lekshmanan)
- rgw: index complete miss zones_trace set (issue#24701, issue#24590, pr#22818, Tianshan Qu)
- rgw: Invalid Access-Control-Request-Request may bypass validate_cors_rule_method (issue#24809, issue#24223, pr#22935, Jeegn Chen)
- rgw: meta and data notify thread miss stop cr manager (issue#24702, issue#24589, pr#22821, Tianshan Qu)
- rgw:-multisite: RGWBucketShardIncrementalSyncCR 中的无限循环 (issue#24700, issue#24603, pr#22815, cfanz)
- rgw: luminous 12.2.4 的性能下降 (issue#23379, issue#24633, pr#22929, Mark Kogan)
- rgw: radogw-admin reshard status command should print text for reshar… (issue#24834, issue#23257, pr#23021, Orit Wasserman)
- rgw: “radosgw-admin objects expire” 即使 pro… 也会始终返回 ok (issue#24831, issue#24592, pr#23001, Zhang Shaowen)
- rgw: require –yes-i-really-mean-it to run radosgw-admin orphans find (issue#24146, issue#24843, pr#22986, Matt Benjamin)
- rgw: REST admin metadata API 分页失败 bucket & bucket.instance: InvalidArgument (issue#23099, issue#24813, pr#22933, Matt Benjamin)
- rgw: set cr state if aio_read err return in RGWCloneMetaLogCoroutine:state_send_rest_request (issue#24566, issue#24783, pr#22880, Tianshan Qu)
- rgw: test/rgw: 修复 bucket checkpoints (issue#24212, issue#24313, pr#22466, Casey Bodley)
- rgw,tests: 为 cls bi list command 添加单元测试 (issue#24736, issue#24483, pr#22845, Orit Wasserman)
- tests: mimic - qa/tests: 设置 ansible-version: 2.4 (issue#24926, pr#23122, Yuri Weinstein)
- tests: osd sends op_reply out of order (issue#25010, pr#23136, Neha Ojha)
- tests: qa/tests - 添加 overrides 节以允许在 rhel OS 上的 ovh 上运行 (pr#23156, Yuri Weinstein)
- tests: qa/tests - 添加 mimic point to point 升级测试框架 (pr#22697, Yuri Weinstein)
- tests: qa/tests: 修复 ceph-deploy 支持的分发版列表 (pr#23017, Vasu Kulkarni)
- tests: qa: 等待更长时间让 osd flush pg stats (issue#24321, pr#22492, Kefu Chai)
- tests: tests: Health check failed: 1 MDSs report slow requests (MDS_SLOW_REQUEST) in powercycle (issue#25034, pr#23154, Neha Ojha)
- tests: tests: 使 test_ceph_argparse.py 在 py3-only 系统上通过 (issue#24825, issue#24816, pr#22988, Nathan Cutler)
- tests: upgrade/luminous-x: 为 rados_mon_thrash 添加 REQUEST_SLOW 白名单 (issue#25056, issue#25051, pr#23164, Nathan Cutler)
- bluestore: common/hobject: 改进了 hobject_t 等的哈希计算 (pr#22777, Adam Kupczyk, Sage Weil)