v0.78 发布

sage

此开发版本包含两个关键特性:擦除编码和缓存分层。本次发布合并了大量的代码,并且花费了数周时间来稳定代码库,现在它已准备好供更广泛的用户群进行测试。

不是火fly发布。由于我们需要获得新代码的一些运行经验并进行额外的测试,然后再承诺长期支持,因此火fly发布将至少推迟一个 sprint。

请注意,虽然在本版本中可以创建和测试擦除编码池,但升级到 v0.79 时这些池将无法使用,因为 OSDMap 编码会发生微妙的变化。请勿将重要数据填充到您的测试池中,以免无法重新加载。

升级

  • 按照以下顺序升级守护进程

    1. 监控器
    2. OSD
    3. MDS 和/或 radosgw

    如果先重启 ceph-mds 守护进程,它将等待所有 OSD 都升级完成后才能完成启动序列。如果未在重启 ceph-osd 守护进程之前重启 ceph-mon 守护进程,它们将无法正确地将新的功能注册到集群中,并且在重启第二次之前,新功能可能无法使用。

  • 一起升级 radosgw 守护进程。对于 multipart 上传,存在一种微妙的行为变化,它阻止了由新的 radosgw 发起的 multipart 请求被旧的 radosgw 完成。

  • CephFS 最近添加了对文件数据对象上名为“backtrace”的新属性的支持,该属性用于通过 inode 编号进行查找(即,NFS 重新导出和硬链接),并且以后将由 fsck 修复使用。这取代了用于硬链接解析的现有 anchor 表机制。为了完全淘汰它,任何具有过时 backtrace 属性的 inode 都会在 inode 本身修改时进行更新。这将在旧的 CephFS 文件系统升级后导致一些额外的负载。

  • librados 的 ObjectWriteOperation 接口中的每个操作的返回代码现在已填充。

  • librados 的 cmpxattr 操作现在处理包含空字节作为数据的 xattr,而不是以 null 结尾的字符串。

  • librados 中创建然后删除相同对象的复合操作现在明确禁止(失败,错误码为 -EINVAL)。

值得注意的更改

  • ceph-brag:新的客户端和服务器工具 (Sebastien Han, Babu Shanmugam)
  • ceph-disk:在 RHEL 或 CentOS 上使用 partx 代替 partprobe (Alfredo Deza)
  • ceph:修复 ‘tell’ 和交互模式的组合 (Joao Eduardo Luis)
  • ceph-fuse:修复内联数据和多个 MDS 相关的错误 (Zheng Yan)
  • client:修复 getcwd() 以使用新的 LOOKUPPARENT 操作 (Zheng Yan)
  • common:回退到 json-pretty 以进行 admin socket (Loic Dachary)
  • common:修复 ‘config dump’ 调试前缀 (Danny Al-Gaaf)
  • common:各种 Coverity 修复 (Danny Al-Gaaf)
  • common:throttle、shared_cache 性能改进、TrackedOp (Greg Farnum, Samuel Just)
  • crush:修复 dump 的 JSON 模式 (John Spray)
  • crush:各种清理、测试 (Loic Dachary)
  • crush:新的 vary_r 可调参数 (Sage Weil)
  • crush:防止类型为 0 的无效 bucket (Sage Weil)
  • keyvaluestore:添加 perfcounters,各种 bug 修复 (Haomai Wang)
  • keyvaluestore:可移植性改进 (Noah Watkins)
  • libcephfs:API 更改以更好地支持通过 Ganesha 进行 NFS 重新导出 (Matt Benjamin, Adam Emerson, Andrey Kuznetsov, Casey Bodley, David Zafman)
  • librados:API 文档改进 (John Wilkins, Josh Durgin)
  • librados:修复对象枚举错误;允许迭代器赋值 (Josh Durgin)
  • librados:简化测试 (Josh Durgin)
  • librados:支持 C API 的原子读取和 omap 操作 (Josh Durgin)
  • librados:支持 osd 和 mon 命令超时 (Josh Durgin)
  • librbd:将分配提示传递给 OSD (Ilya Dryomov)
  • logrotate:修复阻止某些守护进程旋转的错误 (Loic Dachary)
  • mds:避免在恢复期间重复发现 (Zheng Yan)
  • mds:修复文件锁所有者检查 (Zheng Yan)
  • mds:修复 LOOKUPPARENT,新的 LOOKUPNAME 操作以实现可靠的 NFS 重新导出 (Zheng Yan)
  • mds:修复 setxattr 上的 xattr 处理 (Zheng Yan)
  • mds:修复 getattr 回复中的 xattr (Sage Weil)
  • mds:强制更新旧 inode 的 backtrace (Zheng Yan)
  • mds:多个 multi-mds 和 dirfrag 错误修复 (Zheng Yan)
  • mon:在池元数据中编码擦除条带宽度 (Loic Dachary)
  • mon:擦除编码 crush 规则创建 (Loic Dachary)
  • mon:擦除编码插件支持 (Loic Dachary)
  • mon:修复初始 post-mkfs quorum 创建中的错误 (Sage Weil)
  • mon:修复启动期间终端中的错误输出 (Joao Eduardo Luis)
  • mon:修复旧 CRUSH 可调参数警告 (Sage Weil)
  • mon:修复 osd_epochs 下限跟踪以进行 map 修剪 (Sage Weil)
  • mon:修复 OSDMap 编码特性 (Sage Weil, Aaron Ten Clay)
  • mon:修复 ‘pg dump’ JSON 输出 (John Spray)
  • mon:在 ‘ceph df detail’ 中包含脏数据统计信息 (Sage Weil)
  • mon:按 quorum 顺序列出 quorum 成员名称 (Sage Weil)
  • mon:防止添加空的缓存层 (Sage Weil)
  • mon:防止删除 CephFS 池 (John Spray)
  • mon:警告缓存层接近 ‘full’ (Sage Weil)
  • osd:分配提示,支持 XFS (Ilya Dryomov)
  • osd:擦除编码池支持 (Samuel Just)
  • osd:修复导致缓慢/停滞恢复的错误 (#7706) (Samuel Just)
  • osd:修复日志合并中的错误 (Samuel Just)
  • osd:修复/澄清读取时的 end-of-object 处理 (Loic Dachary)
  • osd:修复不礼貌的 mon 会话回退,重新连接行为 (Greg Farnum)
  • osd:修复 SnapContext 缓存 ID 错误 (Samuel Just)
  • osd:增加默认 leveldb 缓存大小和写缓冲区 (Sage Weil, Dmitry Smirnov)
  • osd:限制 ‘osd bench ...’ 参数的大小 (Joao Eduardo Luis)
  • osdmaptool:新的 –test-map-pgs 模式 (Sage Weil, Ilya Dryomov)
  • osd, mon:添加 primary-affinity 以调整主项的选择 (Sage Weil)
  • osd:新的 ‘status’ admin socket 命令 (Sage Weil)
  • osd:简单的分层代理 (Sage Weil)
  • osd:存储擦除编码对象条带的校验和 (Samuel Just)
  • osd:对象存储后端测试 (Haomai Wang)
  • osd:各种重构和错误修复 (Samuel Just, David Zafman)
  • rados:添加 ‘set-alloc-hint’ 命令 (Ilya Dryomov)
  • rbd-fuse:修复 enumerate_images 溢出,内存泄漏 (Ilya Dryomov)
  • rbdmap:修复 upstart 脚本 (Stephan Renatus)
  • rgw:避免将系统事件记录到使用日志 (Yehuda Sadeh)
  • rgw:修复 Swift 范围响应 (Yehuda Sadeh)
  • rgw:提高 manifest 对象的扩展性 (Yehuda Sadeh)
  • rgw:multipart 对象、策略的各种修复 (Yehuda Sadeh)
  • rgw:支持非标准的 MultipartUpload 命令 (Yehuda Sadeh)

您可以从通常的位置获取 v0.78