v10.2.10 Jewel 发布
TheAnalyst
此点版本修复了 Ceph 所有主要组件中的一些重要错误,我们建议所有 Jewel 10.2.x 用户升级。
重要变更 ¶
- build/ops: 为 ceph-disk 添加 fix 子命令,修复 SELinux 拒绝,加快从非 SELinux 启用的 ceph 升级到 SELinux 启用的 ceph 的速度 (issue#20077, issue#20184, issue#19545, pr#14346, Boris Ranto)
- build/ops: deb: 修复 logrotate 打包 (issue#19938, pr#15428, Nathan Cutler)
- build/ops: extended, customizable systemd ceph-disk timeout (issue#18740, pr#15051, Alexey Sheplyakov)
- build/ops: rpm: 修复 SUSE 的 python-Sphinx 包名称 (issue#19924, pr#15196, Nathan Cutler, Jan Matejek)
- build/ops: rpm: 在 spec 文件中设置 subman cron 属性 (issue#20074, pr#15473, Thomas Serlin)
- cephfs: ceph-fuse 在挂载时段错误,ceph::log::Log::stop 中断言 (issue#18157, pr#16963, Greg Farnum)
- cephfs: 当配额超出时,df 报告负磁盘“已用”值 (issue#20178, pr#16151, John Spray)
- cephfs: get_quota_root 为每个缓冲写入发送 lookupname op (issue#20945, pr#17396, Dan van der Ster)
- cephfs: osdc/Filer: 分部分截断大文件 (issue#19755, pr#15442, “Yan, Zheng”)
- core: 观察到一个 OSD 即使在 osd_failsafe_full_ratio 通过后也会获得 ENOSPC (issue#20544, issue#16878, issue#19733, issue#15912, pr#15050, Sage Weil, David Zafman)
- core: 默认禁用倾斜利用率警告 (issue#20730, pr#17210, David Zafman)
- core: interval_set: 优化 intersect_of 插入操作 (issue#21229, pr#17514, Zac Medico)
- core: kv: 让 ceph_logger 在 db reset 后销毁 (issue#21336, pr#17626, wumingqiao)
- core: test_envlibrados_for_rocksdb.yaml 在 crypto 重启时失败 (issue#19741, pr#16293, Kefu Chai)
- libradosstriper 在 jewel 中静默删除空对象失败 (issue#20325, pr#15760, Stan K)
- librbd: 当无法获得排他锁时,IO 请求失败 (issue#20168, issue#21251, pr#17402, Jason Dillaman)
- librbd: 在 break lock 期间防止自我列入黑名单 (issue#18666, pr#17412, Jason Dillaman)
- librbd: reacquire lock 应该更新 lock owner client id (issue#19929, pr#17385, Jason Dillaman)
- mds: 按 ino 编号报告损坏是无用的 (issue#18509, issue#16016, pr#14699, John Spray, Michal Jarzabek)
- mds: 如果 mds 重新生成,日志轮换不起作用 (issue#19291, pr#14673, Patrick Donnelly)
- mds: 将 projected path 保存到 inode_t::stray_prior_path 中 (issue#20340, pr#16150, “Yan, Zheng”)
- mon: 在关机时崩溃,lease_ack_timeout 事件 (issue#19825, pr#15083, Kefu Chai, Michal Jarzabek, Alexey Sheplyakov)
- mon: 禁止为没有某种 --i-understand-this-will-remap-all-pgs 标志的池启用 'hashpspool' 选项 (issue#18468, pr#13507, Vikhyat Umrao)
- mon: 将 mon_osd_full_ratio 纳入 MAX AVAIL 计算 (issue#18522, pr#15236, Sage Weil)
- mon: 无法形成大仲裁;msg/async 忙循环 (issue#20230, pr#15726, Haomai Wang, Michal Jarzabek)
- mon: 修复 force_pg_create pg 陷入 creating bug (issue#18298, pr#17008, Alexey Sheplyakov)
- mon: osd crush set crushmap 需要健全性检查 (issue#19302, pr#16144, Loic Dachary)
- osd: 为 Jumbo Frames (MTU 9000) 添加心跳消息 (issue#20087, issue#20323, pr#16059, Piotr Dałek, Sage Weil, Greg Farnum)
- osd: 修复 fiemap 中的无限循环 (issue#19996, pr#15189, Sage Weil, Ning Yao)
- osd: 泄露的 MOSDMap (issue#18293, pr#14943, Sage Weil)
- osd: objecter full_try 行为与 osd 不一致 (issue#19430, pr#15474, Sage Weil)
- osd: omap 线程池心跳仅每 100 个值重置一次 (issue#20375, pr#16167, Josh Durgin)
- osd: osd_internal_types: 在 put_read lock 上也唤醒 snaptrimmer (issue#19131, pr#16015, Sage Weil)
- osd: PrimaryLogPG: 如果 (pg.deleting),则不调用 on_shutdown() (issue#19902, pr#15065, Kefu Chai)
- osd: 对没有访问权限的池执行 rados ls 不返回错误 (issue#20043, issue#19790, pr#16473, Nathan Cutler, Kefu Chai, John Spray, Sage Weil, Brad Hubbard)
- osd: ReplicatedPG: 解决缓存分层 osd 高内存消耗问题 (issue#20464, pr#16169, Peng Xie)
- osd: 在关机时重置() snaptrimmer,并且不要在泄露的 pg ref 上默认中止 (issue#19931, pr#15322, Greg Farnum)
- osd: scrub_to 指定 clone ver,但 transaction 包含 head write ver (issue#20041, pr#16405, David Zafman)
- osd: 在持有 sdata_lock 的情况下解锁 sdata_op_ordering_lock,以避免丢失唤醒信号 (issue#20427, pr#15947, Alexey Sheplyakov)
- qa: 在重启 osd 之后添加睡眠,然后再“tell”它 (issue#16239, pr#15475, Kefu Chai)
- rbd: api: is_exclusive_lock_owner 不应返回 -EBUSY (issue#20182, pr#16296, Jason Dillaman)
- rbd: cli: 在转换之前确保位置参数存在 (issue#20185, pr#16295, Jason Dillaman)
- rbd: cli: 禁用 cephx 映射会导致错误消息 (issue#19035, pr#16297, Jason Dillaman)
- rbd: 默认功能应与 OSD 协商 (issue#17010, pr#14874, Mykola Golub, Jason Dillaman)
- rbd: 为带有克隆的池启用镜像可能会失败 (issue#19798, issue#19130, pr#14663, Mykola Golub, Jason Dillaman)
- rbd-mirror: 图像同步应发送 NOCACHE advise flag (issue#17127, pr#16285, Mykola Golub)
- rbd: object-map: 在 trim 操作期间批量更新 (issue#17356, pr#15460, Mykola Golub, Venky Shankar, Nathan Cutler)
- rbd: 如果在读请求进行中时图像被扁平化,则可能出现 IO 挂起 (issue#19832, pr#15464, Jason Dillaman)
- rbd: rbd_clone_copy_on_read 与 exclusive-lock 无效 (issue#18888, pr#16124, Nathan Cutler, Venky Shankar, Jason Dillaman)
- rbd: rbd-mirror: 确保检测到缺失图像时重新同步 (issue#19811, pr#15488, Jason Dillaman)
- rbd: rbd-mirror: 未修改图像的故障转移和故障回复导致脑裂 (issue#19858, pr#14977, Jason Dillaman)
- rbd: rbd-nbd: 内核报告无效设备大小 (0, expected 1073741824) (issue#19871, pr#15463, Mykola Golub)
- rgw: 添加 remove-x-delete 功能以取消 swift 对象过期 (issue#19074, pr#14659, Jing Wenjun)
- rgw: aws4: 添加 rgw_s3_auth_aws4_force_boto2_compat 配置选项 (issue#16463, pr#17009, Javier M. Mellid)
- rgw: radosgw-admin 中的 bucket index 检查删除有效索引 (issue#18470, pr#16856, Zhang Shaowen, Pavan Rallabhandi)
- rgw: cls: ceph::timespan tag_timeout 错误的单位 (issue#20380, pr#16289, Matt Benjamin)
- rgw: 自定义数据头支持 (issue#19644, pr#15966, Pavan Rallabhandi)
- rgw: datalog trim 无法按预期工作 (issue#20190, pr#16299, Zhang Shaowen)
- rgw: 在从属区域组中删除非空 bucket (issue#19313, pr#15477, Zhang Shaowen)
- rgw: 当缓存值为零时不减少统计信息缓存 (issue#20661, issue#20934, pr#16720, Aleksei Gutikov, Pavan Rallabhandi)
- rgw: 修复列出数据日志时分片 id 超出范围导致的崩溃 (issue#19732, pr#15465, redickwang)
- rgw: 修复 RGWRealmReloader::reload 在 SIGHUP 上的挂起 (issue#20686, pr#17281, fang.yuxiang)
- rgw: 修复 rest api for log list 中的无限循环 (issue#20386, pr#15988, xierui, Casey Bodley)
- rgw: 修复 RGWCompleteMultipart 中的竞争条件 (issue#20861, pr#16767, Abhishek Varshney, Matt Benjamin)
- rgw: 在 check_bad_index_multipart 中一次修复多达 1000 个条目 (issue#20772, pr#16880, Orit Wasserman, Matt Benjamin)
- rgw: 以下划线开头的文件夹不在 bucket 索引中 (issue#19432, pr#16276, Giovani Rinaldi, Orit Wasserman)
- rgw: 'gc list –include-all' 命令无限循环前 1000 个项目 (issue#19978, pr#15719, Shasha Lu, fang yuxiang)
- rgw: meta sync 线程在 RGWMetaSyncShardCR 崩溃 (issue#20251, pr#16711, fang yuxiang, Nathan Cutler)
- rgw: multipart copy-part 为 s3 java sdk 请求头删除 '/' (issue#20075, pr#16266, donglingpeng)
- rgw: 版本化 bucket 上的 multipart part 创建版本化 bucket index 条目 (issue#19604, issue#17964, pr#17278, Zhang Shaowen)
- rgw: multisite: CreateBucket 转发到 master 后,本地 bucket 可能使用不同的 bucket index shards 值 (issue#19745, pr#15450, Shasha Lu)
- rgw: multisite: bucket zonegroup redirect 不起作用 (issue#19488, pr#15448, Casey Bodley)
- rgw: multisite: 跨 period 的元数据同步修复 (issue#18639, pr#15556, Casey Bodley)
- rgw: multisite: 当 RGWMetaSyncShardCR::full_sync() 无法写入标记时,锁未释放 (issue#18077, pr#17155, Zhang Shaowen)
- rgw: multisite: auxiliary zone 上的 log_meta 导致元数据同步连续循环 (issue#20357, issue#20244, pr#17148, Orit Wasserman, Casey Bodley)
- rgw: multisite: RGWDataSyncShardCR 中失败租约的内存泄漏 (issue#19861, issue#19834, issue#19446, pr#15457, Casey Bodley, weiqiaomiao)
- rgw: multisite: 在 slave zone 上操作 bucket 的 acl&cors 不受限制 (issue#16888, pr#15453, Casey Bodley, Shasha Lu, Guo Zhandong)
- rgw: multisite: realm 重命名不会传播到其他集群 (issue#19746, pr#15454, Casey Bodley)
- rgw: multisite: rest api 在 "period commit" 上无法解码大型 period (issue#19505, pr#15447, Casey Bodley)
- rgw: multisite: RGWPeriodPuller 不会在新 period 上调用 RGWPeriod::reflect() (issue#19816, issue#19817, pr#17167, Casey Bodley)
- rgw: multisite: RGWRadosRemoveOmapKeysCR::request_complete 返回值错误 (issue#20539, pr#17156, Shasha Lu)
- rgw: 未初始化指针导致 ec 数据池 rgw 崩溃 (issue#20542, pr#17164, Aleksei Gutikov, fang yuxiang)
- rgw: radosgw-admin: bucket rm with –bypass-gc and without –purge-data 不会抛出错误消息 (issue#20688, pr#17159, Abhishek Varshney)
- rgw: radosgw-admin data sync run crash (issue#20423, pr#17165, Shasha Lu)
- rgw: radosgw-admin: fix bucket limit check argparse, div(0) (issue#20966, pr#16952, Matt Benjamin)
- rgw: 降低 cls_log 中 'storing entry at' 的日志级别 (issue#19835, pr#15455, Willem Jan Withagen)
- rgw: 删除不必要的 'error in read_id for object name: default' (issue#19922, pr#15197, weiqiaomiao)
- rgw: rgw: 在 s3 v4 身份验证的规范查询字符串中将 '+' 替换为 "%20" (issue#20501, pr#16951, Zhang Shaowen, Matt Benjamin)
- rgw: rgw_common.cc: 修改 RGWHTTPArgs::sys_get 中的 end check (issue#16072, pr#16268, zhao kun)
- rgw: rgw_file: 无法删除 w/uxattrs 的 bucket (issue#20061, issue#20047, issue#19214, issue#20045, pr#15459, Matt Benjamin)
- rgw: rgw_file: 修复 write_finish 中的 size and (c|m)time unix attrs (issue#19653, pr#15449, Matt Benjamin)
- rgw: rgw_file: evict_block() 中不正确的 lane lock 行为 (issue#21141, pr#17597, Matt Benjamin)
- rgw: rgw_file: 防止重启之间 mkdir 冲突 (issue#20275, pr#17147, Gui Hecheng)
- rgw: rgw_file: v3 write timer 不关闭打开的句柄 (issue#19932, pr#15456, Matt Benjamin)
- rgw: 在 nfs-ganesha 中导出 rgw bucket 时发生段错误 (issue#20663, pr#17285, Matt Benjamin)
- rgw: 无限发送 data-log list (issue#20951, pr#17287, fang.yuxiang)
- rgw: 设置最新对象的 acl 失败 (issue#18649, pr#15451, Zhang Shaowen)
- rgw: 截断的对象 (issue#20107, pr#17166, Yehuda Sadeh)
- rgw: 在创建 bucket 元数据期间访问未初始化内存 (issue#20774, pr#17280, Radoslaw Zarzynski)
- rgw: tenated bucket 上的使用情况日志导致无效内存读取 (issue#20779, pr#17279, Radoslaw Zarzynski)
- rgw: 用户配额在 multipart upload 上工作不正常 (issue#19285, issue#19602, pr#17277, Zhang Shaowen)
- rgw: 列出对象版本时未返回 VersionIdMarker 和 NextVersionIdMarker (issue#19886, pr#16316, Zhang Shaowen)
- rgw: 当持续上传对象到版本化 bucket 时,一些对象将不同步 (issue#18208, pr#15452, lvshuhua)
- tools: ceph cli: Rados object in state configuring race (issue#16477, pr#15762, Loic Dachary)
- tools: ceph-disk: dmcrypt cluster 必须默认为 ceph (issue#20893, pr#16870, Loic Dachary)
- tools: ceph-disk: 不激活被抑制的 journal 设备 (issue#19489, pr#16703, David Disseldorp)
- tools: ceph-disk: separate ceph-osd –check-needs-* logs (issue#19888, pr#15503, Loic Dachary)
- tools: ceph-disk: systemd unit timesout 太快 (issue#20229, pr#17133, Loic Dachary)
- tools: ceph-disk: Use stdin for 'config-key put' command (issue#21059, pr#17084, Brad Hubbard, Loic Dachary, Sage Weil)
- tools: libradosstriper 处理用户输入中任意 printf 占位符 (issue#20240, pr#17574, Stan K)