v0.87 Giant 发布

sage

此版本将作为稳定版本 Giant, v0.87.x 的基础。Giant 的亮点包括

  • RADOS 性能:在 OSD 和客户端 librados 代码中进行了一系列改进,以提高闪存后端上的吞吐量,并提高快速机器上的并行性和可扩展性。
  • CephFS:我们修复了 CephFS 中的大量错误,并构建了一些基本的日志恢复和诊断工具。在 Giant 中,单 MDS 系统的稳定性和性能得到了极大的提升。虽然我们尚未建议将 CephFS 用于生产部署,但我们鼓励对其进行非关键工作负载的测试,以便我们更好地评估该功能的可用性、性能和稳定性差距。
  • 本地恢复码:OSD 现在支持一种纠删编码方案,该方案存储一些额外的数据块,以减少从单个 OSD 故障中恢复所需的 IO。
  • 降级与错位:‘ceph -s’ 和相关命令的 Ceph 健康报告现在区分数据降级(副本数量少于所需数量)和数据错位(存储在集群中的错误位置)。这种区分非常重要,因为后者不会损害数据安全。
  • 分层改进:我们对缓存分层实现进行了多项改进,以提高性能。最值得注意的是,对象不会通过一次读取提升到缓存层;只有在发现它们足够热时才会发生这种情况。
  • 监控器性能:监控器现在异步地将写入本地数据存储,从而提高整体响应速度。
  • 恢复工具:ceph_objectstore_tool 得到了极大的扩展,允许操作单个 OSD 的数据存储,用于调试和修复目的。这主要由我们的 QA 基础设施用于行使恢复代码。

升级顺序

  • 如果您的现有集群运行的版本早于 v0.80.x Firefly,请先升级到最新的 Firefly 版本,然后再升级到 Giant。我们尚未测试直接从 Emperor、Dumpling 或更早版本进行升级的情况。

    我们已经测试过

    • Firefly 到 Giant
    • Dumpling 到 Firefly 到 Giant
  • 请按以下顺序升级守护进程

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

    请注意,OSD 和监控器的相对顺序并不重要,但我们主要测试的是先升级监控器。

从 v0.80x Firefly 升级

  • librbd 的客户端缓存现在默认启用 (rbd cache = true)。还启用了一个安全选项 (rbd cache writethrough until flush = true),以便在库观察到“flush”命令之前,不使用写回缓存,从而指示 librbd 用户将该操作从来宾 VM 传递过来。这避免了与不支持 flush 的旧版本 qemu 配合使用时可能造成的数据丢失。

    leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB leveldb_block_size = 64*1024 = 65536 // 64KB leveldb_compression = false leveldb_log = “”

    OSD 仍然会维护以下 OSD 特定的默认值

    leveldb_log = “”

  • ‘rados getxattr ...’ 命令过去会在 attr 值中添加一个多余的换行符;现在不再添加。

  • 监控器上的 *_kb 性能计数器已被删除。这些已被一组新的 *_bytes 计数器取代(例如,cluster_osd_kbis 被 cluster_osd_bytes 取代)。

  • 通过 ‘ceph df detail -f json-pretty’ 和相关命令访问的池统计信息 JSON 转储中的 ‘rd_kb’ 和 ‘wr_kb’ 字段已被相应的 *_bytes 字段取代。 同样,‘total_space’、‘total_used’ 和 ‘total_avail’ 字段已被 ‘total_bytes’、‘total_used_bytes’ 和 ‘total_avail_bytes’ 字段取代。

  • ‘rados df --format=json’ 输出中的 ‘read_bytes’ 和 ‘write_bytes’ 字段错误地报告了操作;现在已修复。

  • ‘rados df --format=json’ 输出之前包含 ‘read_kb’ 和 ‘write_kb’ 字段;这些字段已被删除。请使用 read_bytes 和 write_bytes 代替(如果需要,除以 1024)。

  • 实验性的 keyvaluestore-dev OSD 后端具有磁盘上的格式更改,这阻止了现有的 OSD 数据被升级。这只会影响开发人员和测试人员。

  • 特定于监控器和 OSD 的 leveldb 选项已被删除。从现在开始,用户应使用 leveldb_* 通用选项,并在配置文件的相应部分中添加这些选项。监控器仍然会维护以下特定于监控器的默认设置

    leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB leveldb_block_size = 64*1024 = 65536 // 64KB leveldb_compression = false leveldb_log = “”

    OSD 仍然会维护以下 OSD 特定的默认值

    leveldb_log = “”

  • CephFS 对旧版锚点表的支持终于被删除。对于在 firefly 之前创建的文件系统,用户应确保在升级之前修改具有多个硬链接的 inode,以确保正确写入回溯。

    sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \;

  • 我们禁止无意义的“tier cache-mode”转换。从现在开始,“writeback”只能转换为“forward”,而“forward”可以转换为 1) 如果有脏对象,则转换为“writeback”,或者 2) 如果没有脏对象,则转换为任何模式。

自 v0.86 以来值得注意的变化

  • ceph-disk:使用新的 udev 规则 centos7/rhel7 (#9747 Loic Dachary)
  • libcephfs-java:修复 fstat 模式 (Noah Watkins)
  • librados:修复列出 PG 内容时的死锁 (Guang Yang)
  • librados:对新的线程模型进行了一些修复 (#9582 #9706 #9845 #9873 Sage Weil)
  • mds:修复 inotable 初始化 (Henry C Chang)
  • mds:优雅地处理 flock 请求中的未知锁类型 (Yan, Zheng)
  • mon:添加只读、读写和角色定义器角色 (Joao Eduardo Luis)
  • mon:修复 mon cap 检查 (Joao Eduardo Luis)
  • mon:对新的 paxos 异步写入进行一些修复 (#9635 Sage Weil)
  • mon:在 PG 创建时设置 scrub 时间戳 (#9496 Joao Eduardo Luis)
  • osd:纠删码:修复缓冲区对齐 (Janne Grunau, Loic Dachary)
  • osd:修复混合集群上的 alloc hint 引起的崩溃 (#9419 David Zafman)
  • osd:修复回填预留释放时的拒绝 (#9626, Samuel Just)
  • osd:修复 ioprio 选项解析 (#9676 #9677 Loic Dachary)
  • osd:修复快照修剪期间的内存泄漏 (#9113 Samuel Just)
  • osd:各种对等和恢复修复 (#9614 #9696 #9731 #9718 #9821 #9875 Samuel Just, Guang Yang)

自 v0.80.X Firefly 以来值得注意的变化

  • bash 完成改进 (Wido den Hollander)
  • brag:修复、改进 (Loic Dachary)
  • buffer:改进 rebuild_page_aligned (Ma Jianpeng)
  • build:修复 alpha 上的构建 (Michael Cree, Dmitry Smirnov)
  • build:修复 CentOS 5 (Gerben Meijer)
  • build:修复 x32 的 yasm 检查 (Daniel Schepler, Sage Weil)
  • ceph-brag:添加 tox 测试 (Alfredo Deza)
  • ceph-conf:退出时刷新日志 (Sage Weil)
  • ceph.conf:更新示例 (Sebastien Han)
  • ceph-dencoder:重构构建以限制依赖项 (Sage Weil, Dan Mick)
  • ceph-disk:添加 Scientific Linux 支持 (Dan van der Ster)
  • ceph-disk:不要无意中创建目录 (Owne Synge)
  • ceph-disk:修复 dmcrypt 支持 (Sage Weil)
  • ceph-disk:修复 dmcrypt 支持 (Stephen Taylor)
  • ceph-disk:处理损坏的卷 (Stuart Longlang)
  • ceph-disk:linter 清理、日志改进 (Alfredo Deza)
  • ceph-disk:根据需要执行 partprobe (Eric Eastman)
  • ceph-disk:在 ‘ceph-disk list’ 输出中显示有关 dmcrypt 的信息 (Sage Weil)
  • ceph-disk:使用分区类型 UUID 和 blkid (Sage Weil)
  • ceph:修复非默认集群名称 (#8944, Dan Mick)
  • ceph-fuse, libcephfs:asok 钩子用于处理会话重置、超时 (Yan, Zheng)
  • ceph-fuse, libcephfs:修复 trim_caps 崩溃 (John Spray)
  • ceph-fuse, libcephfs:改进 cap 修剪 (John Spray)
  • ceph-fuse, libcephfs:改进 traceless 回复处理 (Sage Weil)
  • ceph-fuse, libcephfs:用于 rstat 的虚拟 xattrs (Yan, Zheng)
  • ceph_objectstore_tool:大大改进和扩展的工具,用于离线处理 OSD 数据存储 (David Zafman)
  • ceph.spec:许多修复 (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness)
  • ceph.spec:拆分 ceph-common 包,其他修复 (Sandon Van Ness)
  • ceph_test_librbd_fsx:修复 RNG,使其确定性 (Ilya Dryomov)
  • cephtool:修复帮助 (Yilong Zhao)
  • cephtool:重构并改进 CLI 测试 (Joao Eduardo Luis)
  • cephtool:测试清理 (Joao Eduardo Luis)
  • clang 构建修复 (John Spray, Danny Al-Gaaf)
  • client:改进 MDS 会话转储 (John Spray)
  • common:添加配置差异管理套接字命令 (Joao Eduardo Luis)
  • common:添加 rwlock 断言检查 (Yehuda Sadeh)
  • common:修复重复日志消息 (#9080, Sage Weil)
  • common:perfcounters 现在使用原子操作并更快 (Sage Weil)
  • config:支持 G、M、K 等后缀 (Joao Eduardo Luis)
  • coverity 清理 (Danny Al-Gaaf)
  • crush:清理 CrushWrapper 接口 (Xioaxi Chen)
  • crush:在转储中包含新的可调参数 (Sage Weil)
  • crush:使规则集 ID 唯一 (Xiaoxi Chen, Loic Dachary)
  • crush:仅当使用该规则时才需要规则功能 (#8963, Sage Weil)
  • crushtool:将输出发送到 stdout,而不是 stderr (Wido den Hollander)
  • doc:缓存分层 (John Wilkins)
  • doc:CRUSH 更新 (John Wilkins)
  • doc:记录新的 upstream wireshark 解码器 (Kevin Cox)
  • doc:改进手动安装文档 (Francois Lafont)
  • doc:keystone 集成文档 (John Wilkins)
  • doc:librados 示例修复 (Kevin Dalley)
  • doc:许多文档更新 (John Wilkins)
  • doc:许多安装文档更新 (John Wilkins)
  • doc:各种更新 (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster)
  • doc:osd 主亲和性 (John Wilkins)
  • doc:池配额 (John Wilkins)
  • doc:预飞行文档改进 (Kevin Dalley)
  • doc:切换到无限制的字体 (Ross Turk)
  • doc:更新简单的配置指南 (John Wilkins)
  • doc:更新纠删文档 (Loic Dachary, Venky Shankar)
  • doc:更新 openstack 文档 (Josh Durgin)
  • filestore:禁用 XFS 提示的使用(旧内核上的错误) (Samuel Just)
  • filestore:修复 xattr 溢出 (Greg Farnum, Haomai Wang)
  • 修复 hppa 架构构建 (Dmitry Smirnov)
  • 修复 i386 构建 (Sage Weil)
  • 修复 struct 与 class 不一致 (Thorsten Behrens)
  • global:即使在前景中运行也写入 pid 文件 (Alexandre Oliva)
  • hadoop:改进测试 (Huamin Chen, Greg Farnum, John Spray)
  • hadoop:更新 Hadoop 2.0 的 hadoop 测试 (Haumin Chen)
  • init-ceph:在 crush 或 mount 失败时继续启动其他守护进程 (#8343, Sage Weil)
  • journaler:修复锁定 (Zheng, Yan)
  • keyvaluestore:修复 hint 崩溃 (#8381, Haomai Wang)
  • keyvaluestore:header 缓存 (Haomai Wang)
  • libcephfs-java:针对较旧的 JNI 标头进行构建 (Greg Farnum)
  • libcephfs-java:修复 gcj-jdk 构建 (Dmitry Smirnov)
  • librados:修复读取操作超时时的崩溃 (#9362 Matthias Kiefer, Sage Weil)
  • librados:修复错误路径中的锁泄漏 (#9022, Paval Rallabhandi)
  • librados:修复池存在性检查 (#8835, Pavan Rallabhandi)
  • librados:修复 rados_pool_list 边界检查 (Sage Weil)
  • librados:修复关闭时的竞争条件 (#9130 Sage Weil)
  • librados:修复 watch/notify 测试 (#7934 David Zafman)
  • librados:修复 acting set 更改时的 watch 重新注册 (#9220 Samuel Just)
  • librados:为 Objecter 提供细粒度的锁 (Yehuda Sadeh, Sage Weil, John Spray)
  • librados:lttng tracepoitns (Adam Crume)
  • librados, osd:在失败的 notify 上返回 ETIMEDOUT (Sage Weil)
  • librados:pybind:修复当 0 存在时的读取 (#9547 Mohammad Salehe)
  • librados_striper:librados 的 striping 库 (Sebastien Ponce)
  • librbd, ceph-fuse:减少缓存刷新开销 (Haomai Wang)
  • librbd:检查缓存失效时的错误代码 (Josh Durgin)
  • librbd:默认启用缓存 (Sage Weil)
  • librbd:强制在读取请求上缓存大小 (Jason Dillaman)
  • librbd:修复使用展平镜像的克隆时的崩溃 (#8845, Josh Durgin)
  • librbd:修复打开镜像时的错误路径 (#8912, Josh Durgin)
  • librbd:在关闭时处理黑名单 (#9105 John Spray)
  • librbd:lttng tracepoints (Adam Crume)
  • librbd:新的 libkrbd 库,用于内核 map/unmap/showmapped (Ilya Dryomov)
  • librbd:基于 ID 存储和检索快照元数据 (Josh Durgin)
  • libs3:更新到最新版本 (Danny Al-Gaaf)
  • log:修复 derr 级别 (Joao Eduardo Luis)
  • logrotate:修复 ubuntu 上的 osd 日志轮换 (Sage Weil)
  • lttng:跟踪基础设施 (Noah Watkins, Adam Crume)
  • mailmap:许多更新 (Loic Dachary)
  • mailmap:更新 (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy)
  • Makefile:修复源外构建 (Stefan Eilemann)
  • 许多 coverity 修复、清理 (Danny Al-Gaaf)
  • mds:适应新的 Objecter 锁定,为所有 Contexts 提供类型 (John Spray)
  • mds:添加文件系统名称、启用标志 (John Spray)
  • mds:添加内部健康检查 (John Spray)
  • mds:添加快照创建/删除的最小/最大 UID (#9029, Wido den Hollander)
  • mds:避免紧密的监控器重新连接循环 (#9428 Sage Weil)
  • mds:启动重构,清理 (John Spray)
  • mds:cephfs-journal-tool (John Spray)
  • mds:修复杀死会话时的崩溃 (#9173 John Spray)
  • mds:修复 ctime 更新 (#9514 Greg Farnum)
  • mds:修复带有 standby-replay 的日志转换 (John Spray)
  • mds:修复 replay 锁定 (Yan, Zheng)
  • mds:修复 standby-replay 缓存修剪 (#8648 Zheng, Yan)
  • mds:修复由 ACL 触发的 xattr 错误 (Yan, Zheng)
  • mds:为 perfcounters 提供有意义的名称 (Sage Weil)
  • mds:改进向监控器报告健康状况 (John Spray)
  • mds:改进 Journaler 磁盘格式 (John Spray)
  • mds:改进日志锁定 (Zheng, Yan)
  • mds, libcephfs: 使用客户端时间戳来设置 mtime/ctime (Sage Weil)
  • mds: 使最大文件恢复次数可调 (Sage Weil)
  • mds: 各种编码改进 (John Spray)
  • mds: 多 mds 的各种修复 (Yan, Zheng)
  • mds: 多 mds 修复 (Yan, Zheng)
  • mds: OPTracker 集成,dump_ops_in_flight (Greg Farnum)
  • mds: 在适当的时候优先进行文件恢复 (Sage Weil)
  • mds: 重构 beacon,提高可靠性 (John Spray)
  • mds: 移除旧版 anchor 表 (Yan, Zheng)
  • mds: 移除旧版 discover ino (Yan, Zheng)
  • mds: 在 EBLACKLISTED 时重启 (John Spray)
  • mds: 分离 inode 恢复队列 (John Spray)
  • mds: session ls, evict 命令 (John Spray)
  • mds: 在异步线程中提交日志事件 (Yan, Zheng)
  • mds: 跟踪 RECALL 进度,报告失败 (#9284 John Spray)
  • mds: 在日志写入期间更新 segment 引用 (John Spray, Greg Farnum)
  • mds: 使用客户端提供的 timestamp 来设置用户可见的文件元数据 (Yan, Zheng)
  • mds: 使用有意义的名称来标识客户端 (John Spray)
  • mds: 在加载和保存时验证日志头 (John Spray)
  • mds: 警告未撤销 caps 的客户端 (Zheng, Yan, John Spray)
  • misc: Fedora 20 的构建错误/警告 (Boris Ranto)
  • misc: OS X 的构建修复 (John Spray)
  • misc: 清理 (Christophe Courtaut)
  • misc: 整数大小清理 (Kevin Cox)
  • misc: 内存泄漏、清理、修复 (Danny Al-Gaaf, Sahid Ferdjaoui)
  • misc: suse 修复 (Danny Al-Gaaf)
  • misc: 字大小修复 (Kevin Cox)
  • mon: 为所有管理命令添加审计日志 (Joao Eduardo Luis)
  • mon: 添加集群指纹 (Sage Weil)
  • mon: 添加 get-quota 命令 (Joao Eduardo Luis)
  • mon: 添加 ‘osd blocked-by’ 命令,以便轻松查看哪些 OSD 正在阻止 peering 进度 (Sage Weil)
  • mon: 添加 ‘osd reweight-by-pg’ 命令 (Sage Weil, Guang Yang)
  • mon: 添加 paxos 操作的 perfcounters (Sage Weil)
  • mon: 在创建 pool 时避免创建不必要的规则 (#9304 Loic Dachary)
  • monclient: 修复挂起 (Sage Weil)
  • mon: 在需要时创建默认 EC profile (Loic Dachary)
  • mon: 默认情况下不要创建文件系统 (John Spray)
  • mon: 不要 spam 日志 (Aanchal Agrawal, Sage Weil)
  • mon: 移除 mon- 和 osd- 特定的 leveldb 选项 (Joao Eduardo Luis)
  • mon: ec pool profile 修复 (Loic Dachary)
  • mon: 修复当没有 auth keys 时出现的 bug (#8851, Joao Eduardo Luis)
  • mon: 修复 ‘ceph df’ 输出中可用空间 (Xiaoxi Chen)
  • mon: 修复 MForward 的 compat 版本 (Joao Eduardo Luis)
  • mon: 修复 loopback 消息和 paxos 超时期间的崩溃 (#9062, Sage Weil)
  • mon: 修复默认复制 pool 规则集选择 (#8373, John Spray)
  • mon: 修复 pg_num 在添加 OSD 之前调整时出现的除以零错误 (#9101, Sage Weil)
  • mon: 修复旧 MOSDBoot 的双重释放 (Sage Weil)
  • mon: 修复 health down 消息 (Sage Weil)
  • mon: 修复 session 重置后的偶发内存泄漏 (#9176, Sage Weil)
  • mon: 修复 op write latency perfcounter (#9217 Xinxin Shu)
  • mon: 修复 ‘osd perf’ 报告的延迟 (#9269 Samuel Just)
  • mon: 修复 quorum 功能检查 (#8738, Greg Farnum)
  • mon: 修复 ruleset/ruleid bug (#9044, Loic Dachary)
  • mon: 修复 set cache_target_full_ratio (#8440, Geoffrey Hartz)
  • mon: 修复启动时 store 检查 (Joao Eduardo Luis)
  • mon: 在 df 输出中包含每个 pool 的 ‘max avail’ (Sage Weil)
  • mon: 使 paxos 事务提交异步 (Sage Weil)
  • mon: 使 usage dumps 以字节为单位,而不是 kB (Sage Weil)
  • mon: ‘osd crush reweight-subtree ...’ (Sage Weil)
  • mon, osd: 放宽客户端 EC 支持要求 (Sage Weil)
  • mon: 预加载 erasure 插件 (#9153 Loic Dachary)
  • mon: 防止 cache pool 被 CephFS 直接使用 (#9435 John Spray)
  • mon: 防止 EC pool 被 cephfs 使用 (Joao Eduardo Luis)
  • mon: 防止使用 ‘osd setmaxosd ...’ 隐式销毁 OSD (#8865, Anand Bhat)
  • mon: 防止无意义的 cache-mode 转换 (Joao Eduardo Luis)
  • mon: 在自动标记为 out 的 OSD 重启时恢复原始权重 (Sage Weil)
  • mon: 限制某些 pool 属性到 tiered pool (Joao Eduardo Luis)
  • mon: 一些 instrumentation (Sage Weil)
  • mon: 使用 msg header tid 用于 MMonGetVersionReply (Ilya Dryomov)
  • mon: 使用用户提供的 ruleset 来进行 replicated pool (Xiaoxi Chen)
  • mon: 验证 Paxos 轮次结束时所有 quorum 成员是否连续 (#9053, Sage Weil)
  • mon: 验证启动时可用的磁盘空间 (#9502 Joao Eduardo Luis)
  • mon: 在加载时验证 erasure 插件版本 (Loic Dachary)
  • msgr: 避免在发送(大多数)消息时使用大锁 (Greg Farnum)
  • msgr: 修复记录的地址 (Yongyue Sun)
  • msgr: 各种锁定修复,用于快速分发 (#8891, Sage Weil)
  • msgr: 重构以干净地分离 SimpleMessenger 实现,并向基于 Connection 的调用移动 (Matt Benjamin, Sage Wei)
  • objecter: 标记被缓存重定向的操作 (Sage Weil)
  • objectstore: 清理 KeyValueDB 接口,用于 key/value 后端 (Sage Weil)
  • osd: 考虑 hit_set_archive 字节 (Sage Weil)
  • osd: 添加预哈希 filestore 目录的能力 (Guang Yang)
  • osd: 添加 ‘dump_reservations’ 管理 socket 命令 (Sage Weil)
  • osd: 添加 erasure 插件的 feature bit (Loic Dachary)
  • osd: 为 KeyValueStore 添加 header cache (Haomai Wang)
  • osd: 添加 ISA erasure 插件表 cache (Andreas-Joachim Peters)
  • osd: 添加 local_mtime 用于 cache agent (Zhiqiang Wang)
  • osd: 添加 local recovery code (LRC) erasure 插件 (Loic Dachary)
  • osd: 添加基于 Seagate Kinetic 的原型 KineticStore (Josh Durgin)
  • osd: 添加 READFORWARD 缓存模式 (Luis Pabon)
  • osd: 为 KeyValueStore 后端添加 superblock (Haomai Wang)
  • osd: 添加对 Intel ISA-L erasure code 库的支持 (Andreas-Joachim Peters)
  • osd: 允许调整 map cache 大小 (Sage Weil)
  • osd: 避免通过引用传递一些东西来避免 refcounting 开销 (Somnath Roy)
  • osd: 避免共享非持久的 PG 信息 (Samuel Just)
  • osd: 绑定 osdmap epoch 偏差到 PGs (Sage Weil)
  • osd: 缓存 tier flushing 修复,用于 snapped 对象 (Samuel Just)
  • osd: 限制 hit_set 大小 (#9339 Samuel Just)
  • osd: 清理 shard_id_t, shard_t (Loic Dachary)
  • osd: 在 unlink 时清除 FDCache (#8914 Loic Dachary)
  • osd: 在 osd up/down 时清除慢请求延迟信息 (Sage Weil)
  • osd: 不要驱逐被阻止的对象 (#9285 Zhiqiang Wang)
  • osd: 不要跳过 write-ordered reads 的 promote (#9064, Samuel Just)
  • osd: 修复 agent early finish 循环 (David Zafman)
  • osd: 修复被黑名单客户端的模糊编码顺序 (#9211, Sage Weil)
  • osd: 修复 OSD 关闭期间的虚假断言 (Sage Weil)
  • osd: 修复长对象名称和重命名期间的 bug (#8701, Sage Weil)
  • osd: 修复 snapshot 对象缓存刷新 corner case (#9054, Samuel Just)
  • osd: 修复 cache full -> not full requeueing (#8931, Sage Weil)
  • osd: 修复 clone 删除 case (#8334, Sam Just)
  • osd: 修复 clone vs cache_evict bug (#8629 Sage Weil)
  • osd: 修复连接重新连接竞争 (Greg Farnum)
  • osd: 修复由于重复 backfill reservation 导致的崩溃 (#8863 Sage Weil)
  • osd: 修复死对等连接检查 (#9295 Greg Farnum, Sage Weil)
  • osd: 修复丢弃旧的/过时的 subop 响应 (#9259, Samuel Just)
  • osd: 修复丢弃来自先前间隔的对等消息 (Greg Farnum)
  • osd: 修复 EMFILE 上的 open fds 转储 (Sage Weil)
  • osd: 修复 dumps (Joao Eduardo Luis)
  • osd: 修复 erasure-code lib 初始化 (Loic Dachary)
  • osd: 修复 extent 归一化 (Adam Crume)
  • osd: 修复 filestore 删除 corner case (#8332, Sam Just)
  • osd: 修复 flush vs OpContext (Samuel Just)
  • osd: 修复来自旧 OSD 实例的消息门控 (Greg Farnum)
  • osd: 修复等待 osdmap 期间的挂起 (#8338, Greg Farnum)
  • osd: 修复 peering 期间的 interval 检查 corner case (#8104, Sam Just)
  • osd: 修复 ISA erasure 对齐 (Loic Dachary, Andreas-Joachim Peters)
  • osd: 修复 journal 转储 (Ma Jianpeng)
  • osd: 修复 journal-less 操作 (Sage Weil)
  • osd: 修复 keyvaluestore scrub (#8589 Haomai Wang)
  • osd: 修复 keyvaluestore 升级 (Haomai Wang)
  • osd: 修复 loopback msgr 问题 (Ma Jianpeng)
  • osd: 修复 LSB release 解析 (Danny Al-Gaaf)
  • osd: 修复 MarkMeDown 和其他关闭竞争 (Sage Weil)
  • osd: 修复 memstore bug,collection_move_rename,lock ordering (Sage Weil)
  • osd: 修复 min_read_recency_for_promote 升级时的默认值 (Zhiqiang Wang)
  • osd: 修复 mon feature bit 要求 bug 和由此产生的日志 spam (Sage Weil)
  • osd: 修复挂载/重新挂载同步竞争 (#9144 Sage Weil)
  • osd: 修复 PG 对象列表/排序 bug (Guang Yang)
  • osd: 修复带有 tiering 的 PG stat 错误 (#9082, Sage Weil)
  • osd: 修复 backfill 上的 purged_snap 初始化 (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas)
  • osd: 修复对象删除上的竞争条件 (#9480 Somnath Roy)
  • osd: 修复 EC 恢复期间的 recovery chunk size 使用 (Ma Jianpeng)
  • osd: 修复 EC pool 的 recovery reservation 死锁 (Samuel Just)
  • osd: 修复覆盖链式 xattr 时旧 xattr 的删除 (Ma Jianpeng)
  • osd: 修复 PG split 上的请求排队 (Samuel Just)
  • osd: 修复 scrub vs cache bug (Samuel Just)
  • osd: 修复 snap 对象从 cache tier 回写 (#9054 Samuel Just)
  • osd: 修复 hitsets 的 trim (Sage Weil)
  • osd: 如果 fs 返回 E2BIG,则强制将新的 xattr 导入 leveldb (#7779, Sage Weil)
  • osd: 实现 chunk size 上的对齐 (Loic Dachary)
  • osd: 改进 backfill 优先级 (Sage Weil)
  • osd: 改进 journal 关闭 (Ma Jianpeng, Mark Kirkwood)
  • osd: 改进 KeyValueStore 的锁定 (Haomai Wang)
  • osd: 改进 OpTracker 的锁定 (Pavan Rallabhandi, Somnath Roy)
  • osd: 改进 degraded 对象相对于 misplaced 对象的恢复优先级 (Sage Weil)
  • osd: 改进 tiering agent 算术 (Zhiqiang Wang, Sage Weil, Samuel Just)
  • osd: 在报告给 mon 的元数据中包含后端信息 (Sage Weil)
  • osd: FileStore 的 FDCache 中的锁定、分片、缓存改进 (Somnath Roy, Greg Farnum)
  • osd: filestore 的 lttng tracepoints (Noah Watkins)
  • osd: 使 blacklist 编码确定性 (#9211 Sage Weil)
  • osd: 使 tiering 在未启用 hit_sets 时行为正常 (Sage Weil)
  • osd: 许多重要的 bug 修复 (Samuel Just)
  • osd: 许多许多核心修复 (Samuel Just)
  • osd: 许多许多重要的修复 (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just)
  • osd: 标记带有不完整 clone 的 pool (Sage Weil)
  • osd: 各种 erasure code 插件修复 (Loic Dachary)
  • osd: 各种锁定修复,用于快速分发 (Samuel Just, Ma Jianpeng)
  • osd, mon: 添加 rocksdb 支持 (Xinxin Shu, Sage Weil)
  • osd, mon: 启动时进行配置合理性检查 (Sage Weil, Joao Eduardo Luis)
  • osd, mon: 在集群健康和 PG 状态报告中区分 “misplaced” 和 “degraded” 对象 (Sage Weil)
  • osd, msgr: OSD 操作的快速分发 (Greg Farnum, Samuel Just)
  • osd, objecter: 在 last_force_op_resend 屏障上重新发送操作;修复 cache overlay 操作顺序 (Sage Weil)
  • osd: 预加载 erasure 插件 (#9153 Loic Dachary)
  • osd: 防止旧的 rados 客户端使用 tiered pool (#8714, Sage Weil)
  • osd: 减少 OpTracker 开销 (Somnath Roy)
  • osd: 将一些 ErasureCode 功能重构到命令父类中 (Loic Dachary)
  • osd: 移除过时的 classic scrub 代码 (David Zafman)
  • osd: scrub 带有无效统计信息的 PGs (Sage Weil)
  • osd: 设置对象和 xattr 名称的可配置硬限制 (Sage Weil, Haomai Wang)
  • osd: 在创建时设置 rollback_info_completed (#8625, Samuel Just)
  • osd: 分片线程池以提高并行性 (Somnath Roy)
  • osd: 分片 OpTracker 以提高性能 (Somnath Roy)
  • osd: scrub 的简单 IO 优先级 (Sage Weil)
  • osd: 简单的 scrub 节流 (Sage Weil)
  • osd: 简单的 snap trimmer 节流 (Sage Weil)
  • osd: bench 命令的测试 (Loic Dachary)
  • osd: 快速 trim 旧的 EC 对象;在 scrub 时验证 (Samuel Just)
  • osd: 使用 FIEMAP 来告知 copy_range (Haomai Wang)
  • osd: 使用本地时间进行 tiering 决策 (Zhiqiang Wang)
  • osd: 更少地使用 xfs hint (Ilya Dryomov)
  • osd: 在加载时验证 erasure 插件版本 (Loic Dachary)
  • osd: 解决 journal 代码中的 GCC 4.8 bug (Matt Benjamin)
  • pybind/rados: 修复小的超时 (John Spray)
  • qa: xfstests 更新 (Ilya Dryomov)
  • rados: 允许从 stdin 读取 setxattr 值 (Sage Weil)
  • rados bench: 修复参数顺序 (Kevin Dalley)
  • rados: 移除 getxattr 命令中多余的 n (Sage Weil)
  • rados: 修复 bench write 算术 (Jiangheng)
  • rados: 修复 df 输出中 {read,write}_ops 值 (Sage Weil)
  • rbd: 添加 rbdmap pre- 和 post- hook,修复各种 bug (Dmitry Smirnov)
  • rbd-fuse: 允许暴露单个镜像 (Stephen Taylor)
  • rbd-fuse: 修复 unlink (Josh Durgin)
  • rbd: 改进选项默认行为 (Josh Durgin)
  • rbd: 并行化 rbd 导入、导出 (Jason Dillaman)
  • rbd: rbd-replay 工具,用于重放捕获的 rbd 工作负载跟踪 (Adam Crume)
  • rbd: 在启用缓存时使用写回(而非写通) (Jason Dillaman)
  • 移除 mkcephfs(自 dumpling 以来已弃用)
  • rest-api: 修复帮助信息 (Ailing Zhang)
  • rgw: 在 7490 端口添加 civetweb 作为默认前端 (#9013 Yehuda Sadeh)
  • rgw: 为对象重条带添加 –min-rewrite-stripe-size (Yehuda Sadeh)
  • rgw: 为全局集群添加 powerdns 钩子,用于动态 DNS (Wido den Hollander)
  • rgw: 添加 S3 bucket 获取位置操作 (Abhishek Lekshmanan)
  • rgw: 允许 S3 访问密钥中包含冒号 (Roman Haritonov)
  • rgw: 自动将写入对齐到 EC 池 (#8442, Yehuda Sadeh)
  • rgw: bucket 链接使用实例 ID (Yehuda Sadeh)
  • rgw: 缓存 bucket 信息 (Yehuda Sadeh)
  • rgw: 缓存解码后的用户信息 (Yehuda Sadeh)
  • rgw: 检查 put_metadata 的实体权限 (#8428, Yehuda Sadeh)
  • rgw: 如果目标 bucket 在不同的池中,则复制对象数据 (#9039, Yehuda Sadeh)
  • rgw: 不要尝试对 CORS 预检请求进行身份验证 (#8718, Robert Hubbard, Yehuda Sadeh)
  • rgw: 修复 admin 创建用户操作 (#8583 Ray Lv)
  • rgw: 修复 civetweb URL 解码 (#8621, Yehuda Sadeh)
  • rgw: 修复 swift CORS 预检请求中的崩溃 (#8586, Yehuda Sadeh)
  • rgw: 修复日志文件名后缀 (#9353 Alexandre Marangone)
  • rgw: 修复块读取错误后的内存泄漏 (Yehuda Sadeh)
  • rgw: 修复内存泄漏 (Andrey Kuznetsov)
  • rgw: 修复 multipart 对象属性回归 (#8452, Yehuda Sadeh)
  • rgw: 修复 multipart 上传 (#8846, Silvain Munaut, Yehuda Sadeh)
  • rgw: 修复 radosgw-admin ‘show log’ 命令 (#8553, Yehuda Sadeh)
  • rgw: 修复对象创建期间对象的删除 (#8553, Patrycja Szablowska, Yehuda Sadeh)
  • rgw: 修复复制对象的条带化 (#9089, Yehuda Sadeh)
  • rgw: 修复测试,以确定对象是否具有尾部 (#9226, Yehuda Sadeh)
  • rgw: 修复 URL 解码 (#8702, Brian Rak)
  • rgw: 修复 URL 转义 (Yehuda Sadeh)
  • rgw: 修复用法 (Abhishek Lekshmanan)
  • rgw: 修复用户清单 (Yehuda Sadeh)
  • rgw: 修复条带大小不是块大小的倍数时的问题 (#8937, Yehuda Sadeh)
  • rgw: 处理空的额外池名称 (Yehuda Sadeh)
  • rgw: 改进 civetweb 日志记录 (Yehuda Sadeh)
  • rgw: 改进 bucket 分隔符列表,以及其他修复 (Yehuda Sadeh)
  • rgw: 改进 -h (Abhishek Lekshmanan)
  • rgw: 许多 civetweb 修复 (Yehuda Sadeh)
  • rgw: 各种 civetweb 修复 (Yehuda Sadeh)
  • rgw: 各种 civetweb 前端修复 (Yehuda Sadeh)
  • rgw: 对象和 bucket 重写函数,以允许重条带化旧对象 (Yehuda Sadeh)
  • rgw: powerdns 后端,用于全局命名空间 (Wido den Hollander)
  • rgw: 防止多对象 PUT 竞争 (Yehuda Sadeh)
  • rgw: 发送用户清单头 (Yehuda Sadeh)
  • rgw: 子用户创建修复 (#8587 Yehuda Sadeh)
  • rgw: 从 sysvinit 脚本中使用 systemd-run (JuanJose Galvez)
  • rpm: 在升级时不要重启守护进程 (Alfredo Deza)
  • rpm: rhel7 的各种打包修复 (Sandon Van Ness)
  • rpm: 将 ceph-common 从 ceph 中拆分 (Sandon Van Ness)
  • systemd: 初始 systemd 配置文件 (Federico Simoncelli)
  • systemd: 将启动的守护进程包装到新的 systemd 环境中 (Sage Weil, Dan Mick)
  • sysvinit: 支持非默认集群名称 (Alfredo Deza)
  • sysvinit: 对故障不那么敏感 (Sage Weil)
  • test_librbd_fsx: 同时测试 krbd 和 librbd (Ilya Dryomov)
  • 单元测试改进 (Loic Dachary)
  • upstart: 增加最大打开文件数限制 (Sage Weil)
  • vstart.sh: 修复/改进 rgw 支持 (Luis Pabon, Abhishek Lekshmanan)

获取 Ceph