v12.2.1 Luminous 发布
TheAnalyst
这是 Luminous v12.2.x 长期稳定版本系列的第一个 bug 修复版本。它包含 CephFS、RBD 和 RGW 中的一系列错误修复和一些新功能。我们建议所有 12.2.x 系列的用户更新。
重要变更 ¶
- RGW 的动态重新分片现在默认启用,RGW 将在索引增长超过 rgw_max_objs_per_shard 后自动重新分片其 bucket 索引。
- 现在可以使用新的 mds_cache_memory_limit 配置选项(默认 1GB)通过内存限制来限制 MDS 缓存。也可以使用 mds_cache_reservation 作为限制的百分比(默认 5%)来指定缓存预留。仍然可以使用 mds_cache_size 支持按 inode 数量限制。将 mds_cache_size 设置为 0(默认值)会禁用 inode 限制。
- 监控程序发出警告之前,每个 OSD 的最大 PG 数已从 300 减少到 200 个 PG。200 仍然是每个 OSD 推荐目标(100 个 PG)的两倍。可以使用
mon_max_pg_per_osd选项在监控程序上调整此限制。较旧的mon_pg_warn_max_per_osd选项已被删除。 - 如果更改会导致每个 OSD 的 PG 数超过配置的
mon_max_pg_per_osd限制,则创建池或调整 pg_num 将会失败。如果确实需要创建具有更多 PG 的池,可以调整该选项。 - 新功能 upmap 的 PG 映射行为中存在一个错误。如果您使用了此功能(例如,通过 ceph osd pg-upmap-items 命令),我们建议在升级到此点版本之前删除所有映射(通过 ceph osd rm-pg-upmap-items 命令)。
- 影响许多用户的 BlueStore IO 提交中的停滞问题已得到解决。
其他值得注意的更改 ¶
有关更多详细信息,请参阅 完整的变更日志
- bluestore: 异步 cdeferred_try_submit 死锁 (issue#21207, pr#17494, Sage Weil)
- bluestore: 修复延迟写入死锁,aio 短返回处理 (issue#21171, pr#17601, Sage Weil)
- bluestore: 将 bluestore_csum_type 从 none 更改为 CRC32 时 OSD 崩溃 (issue#21175, pr#17497, xie xingguo)
- bluestore: os/bluestore/BlueFS.cc: 1255: 断言失败(!log_file->fnode.extents.empty()) (issue#21250, pr#17562, Sage Weil)
- build/ops: ceph-fuse RPM 应需要 fusermount (issue#21057, pr#17470, Ken Dreyer)
- build/ops: RHEL 7.3 Selinux 在 OSD 启动时拒绝 (issue#19200, pr#17468, Boris Ranto)
- build/ops: rocksdb,cmake: 构建可移植二进制文件 (issue#20529, pr#17745, Kefu Chai)
- cephfs: client/mds 在 chown 时错误地清除 S_ISGID (issue#21004, pr#17471, Patrick Donnelly)
- cephfs: get_quota_root 在每次缓冲写入时发送 lookupname 操作 (issue#20945, pr#17473, Dan van der Ster)
- cephfs: MDCache::try_subtree_merge() 可能会打印 N^2 行调试消息 (issue#21221, pr#17712, Patrick Donnelly)
- cephfs: MDS 秩添加/删除日志消息显示错误的秩数 (issue#21421, pr#17887, John Spray)
- cephfs: MDS: 备用重放 mds 应避免启动子树导出 (issue#21378, issue#21222, pr#17714, “Yan, Zheng”, Jianyu Li)
- cephfs: 通过 ceph tell mds.* 命令更新的备用机 (issue#21230, pr#17565, Kefu Chai)
- common: 在某些 cli 结果的末尾添加换行符 (issue#21019, pr#17467, songweibin)
- core: [cls] metadata_list API 函数不遵守 max_return 参数 (issue#21247, pr#17558, Jason Dillaman)
- core: ceph df 命令中的错误擦除码空间 (issue#21243, pr#17724, liuchang0812)
- core: interval_set: 优化 intersect_of 插入操作 (issue#21229, pr#17487, Zac Medico)
- core: osd crush 规则重命名不是幂等的 (issue#21162, pr#17481, xie xingguo)
- core: osd/PGLog: 只写入更改的 dup 条目 (issue#21026, pr#17378, Josh Durgin)
- doc: doc/rbd: iSCSI 网关文档 (issue#20437, pr#17381, Aron Gunn, Jason Dillaman)
- mds: 修复 Server::handle_client_readdir 中的“dirfrag end”检查 (issue#21070, pr#17686, “Yan, Zheng”)
- mds: 支持通过内存限制缓存 (issue#20594, pr#17711, “Yan, Zheng”, Patrick Donnelly)
- mgr: 尝试查看文件系统数据时出现 500 错误 (issue#20692, pr#17477, John Spray)
- mgr: ceph mgr versions 显示活动 mgr 为 Unknown (issue#21260, pr#17635, John Spray)
- mgr: MonCommandCompletion 中的崩溃 (issue#21157, pr#17483, John Spray)
- mon: mon/OSDMonitor: 删除池时正在创建 pg 会导致 update_creating_pgs() 中断言(p != pools.end) (issue#21309, pr#17634, Joao Eduardo Luis)
- mon: OSDMonitor: osd pool application get 支持 (issue#20976, pr#17472, xie xingguo)
- mon: 对健康检查更新日志进行速率限制 (issue#20888, pr#17500, John Spray)
- osd: build_initial_pg_history 不更新 up/acting/etc (issue#21203, pr#17496, w11979, Sage Weil)
- osd: osd/PG: 丢弃来自已关闭对等方的消息 (issue#19605, pr#17501, Kefu Chai)
- osd/PrimaryLogPG: 请求在正确块中更新 osdmap (issue#21428, pr#17829, Josh Durgin)
- osd: PrimaryLogPG: 稀疏读取不会正确触发修复 (issue#21123, pr#17475, xie xingguo)
- osd: 在需要时请求新的 map (issue#21428, pr#17796, Josh Durgin)
- osd: 撤销“osd/OSDMap: 允许 pg-upmap-items 的双向交换” (issue#21410, pr#17812, Sage Weil)
- osd: 在等待健康时订阅新的 osdmap (issue#21121, pr#17498, Sage Weil)
- osd: 仅在 new_interval 时更新信息 (issue#21203, pr#17622, Kefu Chai)
- pybind: dashboard 用法图越来越大 (issue#20746, pr#17486, Yixing Yan)
- rbd: image-meta list 不返回所有条目 (issue#21179, pr#17561, Jason Dillaman)
- rbd: 某些通用选项无法通过 rbd-nbd 传递 (issue#20426, pr#17557, Pan Liu)
- rbd: 切换到新的配置选项 getter 方法 (issue#20737, pr#17464, Jason Dillaman)
- rbd: TestMirroringWatcher.ModeUpdated: 由于注入的消息失败而导致定期失败 (issue#21029, pr#17465, Jason Dillaman)
- rgw: bucket 索引会间歇性地重新分片为 65521 个分片 (issue#20934, pr#17476, Aleksei Gutikov)
- rgw: bytes_send 和 bytes_recv 在 master 分支的 usage show 消息中返回 0 (issue#19870, pr#17444, Marcus Watts)
- rgw: 数据加密有时无法遵循 AWS 设置 (issue#21349, pr#17642, hechuang)
- rgw: MetadataHandlers 中的内存泄漏 (issue#21214, pr#17570, Luo Kexue, Jos Collin)
- rgw: 多站点: 使用 SSE-KMS 加密的对象在目标区域中未加密存储 (issue#20668, issue#20671, pr#17446, Casey Bodley)
- rgw: 需要流式元数据完整同步初始化 (issue#18079, pr#17448, Yehuda Sadeh)
- rgw: 从远程 src 复制的对象 acl 权限变为完全控制问题 (issue#20658, pr#17478, Enming Zhang)
- rgw: 放置生命周期配置失败,如果未设置 Prefix (issue#19587, issue#20872, pr#17479, Shasha Lu, Abhishek Lekshmanan)
- rgw: rgw_file: evict_block() 中的错误通道锁行为 (issue#21141, pr#17485, Matt Benjamin)
- rgw: 发送数据日志列表无限 (issue#20951, pr#17445, fang.yuxiang)
- rgw: 影子对象有时不会被删除 (issue#20234, pr#17555, Yehuda Sadeh)
- rgw: 使用 –inconsistent-index 应需要用户确认并打印警告 (issue#20777, pr#17488, Orit Wasserman)
- tools: [cli] 重命名不存在的镜像导致段错误 (issue#21248, pr#17556, Jason Dillaman)