v9.0.3 发布

sage

这是 Infernalis 周期中倒数第二个开发批次。最具侵入性的更改是 OSD 的 ObjectStore 接口的内部(对用户不可见)更改。在 RGW、RBD 和 CephFS scrub/repair 大量改进方面还有许多修复和改进。

升级

  • librbd 的 rbd_aio_read 和 Image::aio_read API 方法的返回值不再在成功时返回读取的字节数。相反,它在成功时返回 0,在失败时返回负值。
  • ‘ceph scrub’、‘ceph compact’ 和 ‘ceph sync force’ 现在已弃用。用户应改为使用 ‘ceph mon scrub’、‘ceph mon compact’ 和 ‘ceph mon sync force’。
  • ‘ceph mon_metadata’ 应改为使用 ‘ceph mon metadata’。无需弃用此命令(自首次引入以来,同一主要版本)。
  • “osdmaptool” 的 –dump-json 选项已被 –dump json 替换。
  • “pg ls-by-{pool,primary,osd}” 和 “pg ls” 命令现在使用 “recovering” 而不是 “recovery”,以将正在恢复的 pg 包含在列出的 pg 中。

值得注意的更改

  • autotools: 修复树外构建 (Krxysztof Kosinski)
  • autotools: 改进 make check 输出 (Loic Dachary)
  • buffer: 添加 invalidate_crc() (Piotr Dalek)
  • buffer: 修复零错误 (#12252 Haomai Wang)
  • build: 修复 Fedora 22 上的 junit 检测 (Ira Cooper)
  • ceph-disk: 安装 pip > 6.1 (#11952 Loic Dachary)
  • cephfs-data-scan: 许多添加和改进 (John Spray)
  • ceph: 改进 ‘tell’ 的错误输出 (#11101 Kefu Chai)
  • ceph-objectstore-tool: 杂项改进 (David Zafman)
  • ceph-objectstore-tool: 重构和清理 (John Spray)
  • ceph_test_rados: 测试流水线读取 (Zhiqiang Wang)
  • common: 修复 bit_vector 范围计算 (#12611 Jason Dillaman)
  • common: 使工作队列的添加/删除线程安全 (#12662 Jason Dillaman)
  • common: optracker 改进 (Zhiqiang Wang, Jianpeng Ma)
  • crush: 添加 –check 以验证悬挂名称、最大 osd id (Kefu Chai)
  • crush: 清理,与内核同步 (Ilya Dryomov)
  • crush: 修复 adjust_subtree_weight 上的子树基权重 (#11855 Sage Weil)
  • crypo: 修复 NSS 泄漏 (Jason Dillaman)
  • crypto: 修复不平衡的初始化/关闭 (#12598 Zheng Yan)
  • doc: 杂项更新 (Kefu Chai, Owen Synge, Gael Fenet-Garde, Loic Dachary, Yannick Atchy-Dalama, Jiaying Ren, Kevin Caradant, Robert Maxime, Nicolas Yong, Germain Chipaux, Arthur Gorjux, Gabriel Sentucq, Clement Lebrun, Jean-Remi Deveaux, Clair Massot, Robin Tang, Thomas Laumondais, Jordan Dorne, Yuan Zhou, Valentin Thomas, Pierre Chaumont, Benjamin Troquereau, Benjamin Sesia, Vikhyat Umrao)
  • erasure-code: 清理 (Kefu Chai)
  • erasure-code: 改进测试 (Loic Dachary)
  • erasure-code: shec: 修复恢复错误 (Takanori Nakao, Shotaro Kawaguchi)
  • libcephfs: 添加 pread, pwrite (Jevon Qiao)
  • libcephfs,ceph-fuse: 缓存清理 (Zheng Yan)
  • librados: 为 copy-from 添加 src_fadvise_flags (Jianpeng Ma)
  • librados: 在 pool_create 上尊重 default_crush_ruleset (#11640 Yuan Zhou)
  • librbd: copy、export、import 的 fadvise (Jianpeng Ma)
  • librbd: 处理 NOCACHE fadvise 标志 (Jinapeng Ma)
  • librbd: 可选地禁用分配提示 (Haomai Wang)
  • librbd: 防止 resize 请求之间的竞争 (#12664 Jason Dillaman)
  • log: 修复由于日志轮换导致的的数据损坏竞争 (#12465 Samuel Just)
  • mds: 通过 asok 暴露 frags (John Spray)
  • mds: 修复在一次 setxattr 中设置整个文件布局 (John Spray)
  • mds: 修复关闭 (John Spray)
  • mds: 处理杂项损坏问题 (John Spray)
  • mds: 杂项修复 (Jianpeng Ma, Dan van der Ster, Zhang Zhi)
  • mds: 杂项快照修复 (Zheng Yan)
  • mds: 将布局存储在 header 对象上 (#4161 John Spray)
  • misc: 性能和清理 (Nathan Cutler, Xinxin Shu)
  • mon: 为 mon 命令添加 NOFORWARD、OBSOLETE、DEPRECATE 标志 (Joao Eduardo Luis)
  • mon: 在 ‘ceph osd df’ 输出中添加 PG 计数 (Michal Jarzabek)
  • mon: 清理,重新组织一些 mon 命令 (Joao Eduardo Luis)
  • mon: 禁止 >2 层 (#11840 Kefu Chai)
  • mon: 修复调试时的日志转储崩溃 (Mykola Golub)
  • mon: 修复元数据更新竞争 (Mykola Golub)
  • mon: 修复刷新 (#11470 Joao Eduardo Luis)
  • mon: 使阻塞操作消息更具可读性 (Jianpeng Ma)
  • mon: 仅将 mon 元数据发送到支持的对等节点 (Sage Weil)
  • mon: 定期后台 scrub (Joao Eduardo Luis)
  • mon: 防止 pgp_num > pg_num (#12025 Xinxin Shu)
  • mon: 拒绝过大的 max_mds 值 (#12222 John Spray)
  • msgr: 添加 ceph_perf_msgr 工具 (Hoamai Wang)
  • msgr: async: 修复 seq 处理 (Haomai Wang)
  • msgr: xio: fastpath 改进 (Raju Kurunkad)
  • msgr: xio: 与 accellio v1.4 同步 (Vu Pham)
  • osd: 如果提升失败,则清理临时对象 (Jianpeng Ma)
  • osd: 将集合限制为 meta 和 PG(正常和临时)(Sage Weil)
  • osd: filestore: 使用 splice 进行克隆 (Jianpeng Ma)
  • osd: filestore: 修复递归锁 (Xinxin Shu)
  • osd: 修复 dup 提升丢失操作错误 (Zhiqiang Wang)
  • osd: 修复临时清除 (David Zafman)
  • osd: 在每个集合/pgid 中使用临时命名空间 (Sage Weil)
  • osd: 低速和高速刷新模式 (Mingxin Liu)
  • osd: peer_features 包含自身 (David Zafman)
  • osd: 恢复、对等修复 (#11687 Samuel Just)
  • osd: 需要 firefly 功能 (David Zafman)
  • osd: 使用更精确的精度设置初始 crush 权重 (Sage Weil)
  • osd: 使用临时对象进行恢复 (Sage Weil)
  • osd: 使用 blkid 收集分区信息 (Joseph Handzik)
  • rados: 添加 –striper 选项以使用 libradosstriper (#10759 Sebastien Ponce)
  • radosgw-admin: 修复子用户修改输出 (#12286 Guce)
  • rados: 正确处理 –snapid 参数 (Abhishek Lekshmanan)
  • rados: 改进基准缓冲区处理、性能 (Piotr Dalek)
  • rados: 新的池导入实现 (John Spray)
  • rbd: 修复链接问题 (Jason Dillaman)
  • rbd: 改进 CLI 参数解析、用法 (Ilya Dryomov)
  • rbd: 识别 queue_depth 内核选项 (Ilya Dryomov)
  • rbd: 支持 CLI 中的 G 和 T 单位 (Abhishek Lekshmanan)
  • rbd: 在帮助中使用 image-spec 和 snap-spec (Vikhyat Umrao, Ilya Dryomov)
  • rest-bench: 杂项修复 (Shawn Chen)
  • rest-bench: 支持 https (#3968 Yuan Zhou)
  • rgw: 添加最大 multipart 上传部分 (#12146 Abshishek Dixit)
  • rgw: 添加 Trasnaction-Id 到响应 (Abhishek Dixit)
  • rgw: 记录池和对象的布局 (Pete Zaitcev)
  • rgw: 在复制对象时不要保留 ACL (#12370 Yehuda Sadeh)
  • rgw: 修复 Connection: header 处理 (#12298 Wido den Hollander)
  • rgw: 修复数据损坏竞争条件 (#11749 Wuxingyi)
  • rgw: 修复获取用户配额时的 JSON 响应 (#12117 Wuxingyi)
  • rgw: 强制 swift bucket stats 请求的内容类型 (#12095 Orit Wasserman)
  • rgw: 改进对 swift 帐户元数据的支持 (Radoslaw Zarzynski)
  • rgw: 使 max put 大小可配置 (#6999 Yuan Zhou)
  • rgw: 孤儿检测工具 (Yehuda Sadeh)
  • rgw: swift: 不要覆盖发送的内容类型 (#12363 Orit Wasserman)
  • rgw: swift: 为帐户 GET 设置 Content-Length (#12158 Radoslav Zarzynski)
  • rpm: 始终重建并安装 rpm 的 man 页面 (Owen Synge)
  • rpm: 杂项修复 (Boris Ranto, Owen Synge, Ken Dreyer, Ira Cooper)
  • systemd: logrotate 修复 (Tim Seron, Lars Marowsky-Bree, Nathan Cutler)
  • sysvinit 兼容性: 杂项修复 (Owen Synge)
  • test: 杂项 fs 测试改进 (John Spray, Loic Dachary)
  • test: python 测试、linter 清理 (Alfredo Deza)

获取 Ceph