注意

本文档适用于 Ceph 开发版本。

Giant

Giant 是 Ceph 的第七个稳定版本。它以巨型乌贼(Architeuthis dux)命名。

v0.87.2 Giant

这是 Giant 的第二个(也可能是最后一个)点发布。

我们建议所有 v0.87.x Giant 用户升级到此版本。

显著变化

  • ceph-objectstore-tool:仅在兼容性问题时输出不支持的特性 (#11176 David Zafman)

  • common:销毁时不隐式解锁 rwlock (Federico Simoncelli)

  • common:使空队列的等待超时可配置 (#10818 Samuel Just)

  • crush:选择与规则 ID 匹配的规则集 ID (Xiaoxi Chen)

  • crush:为新纠删码规则集设置 set_choose_tries = 100 (#10353 Loic Dachary)

  • librados:安全地检查初始化的原子 (#9617 Josh Durgin)

  • librados:修复失败的 tick_event 断言 (#11183 Zhiqiang Wang)

  • librados:修复在跳过映射上的循环 (#9986 Ding Dinghua)

  • librados:修复带超时的 op 提交 (#10340 Samuel Just)

  • librados: pybind: 修复内存泄漏 (#10723 Billy Olsen)

  • librados: pybind: 保留对回调的引用 (#10775 Josh Durgin)

  • librados: 将操作标志从 C API 翻译 (Matthew Richards)

  • libradosstriper: 修复 write_full 在 ENOENT 上的错误 (#10758 Sebastien Ponce)

  • libradosstriper: 使用 strtoll 而不是 strtol (Dongmao Zhang)

  • mds: 修复系统时间向后移动引起的断言 (#11053 Yan, Zheng)

  • mon: 允许在写入时注入随机延迟 (Joao Eduardo Luis)

  • mon: 不信任小的 osd 纪元缓存值 (#10787 Sage Weil)

  • mon: 如果对象正在清理,则失败非阻塞刷新 (#8011 Samuel Just)

  • mon: 修复 stats 倾倒中的除零错误 (Joao Eduardo Luis)

  • mon: 修复在没有 osds 时的 get_rule_avail (#10257 Joao Eduardo Luis)

  • mon: 修复超时轮期周期 (#10546 Joao Eduardo Luis)

  • mon: 忽略 up_from 之前的 osd 故障 (#10762 Dan van der Ster, Sage Weil)

  • mon: paxos:在写入存储之前重置接受超时 (#10220 Joao Eduardo Luis)

  • mon: 如果“fs new”上存在文件系统,则返回 (Joao Eduardo Luis)

  • mon: 使用 EntityName 扩展配置文件 (#10844 Joao Eduardo Luis)

  • mon: 验证跨服务提议的先决条件 (#10643 Joao Eduardo Luis)

  • mon: 在请求提议时等待 osdmon 可写 (Joao Eduardo Luis)

  • mount.ceph:避免关于 /etc/mtab 的错误消息 (#10351 Yan, Zheng)

  • msg/simple:允许 RESETSESSION 当我们忘记端点时 (#10080 Greg Farnum)

  • msg/simple:在接收队列之前丢弃延迟队列 (#9910 Sage Weil)

  • osd:离开 Primary 时清除 primary_state (#10059 Samuel Just)

  • osd:启动时不忽略已删除的 pgs (#10617 Sage Weil)

  • osd: 修复 FileJournal 包装以首先获取标题 (#10883 David Zafman)

  • osd: 修复 SnapTrimWQ 中的 PG 泄漏 (#10421 Kefu Chai)

  • osd: 修复 do_read_entry 中的 journalq 人口 (#6003 Samuel Just)

  • osd: 修复 op_queue_age_hit 和 fs_perf_stat 的 operator== (#10259 Samuel Just)

  • osd: 修复拆分后的罕见断言 (#10430 David Zafman)

  • osd:从 last_map 获取 pgid 祖先以构建过去间隔 (#10430 David Zafman)

  • osd:在 {read,write}_log 中包含 rollback_info_trimmed_to (#10157 Samuel Just)

  • osd:在 DBObjectMap::sync 中锁定 header_lock (#9891 Samuel Just)

  • osd:在刷新它被阻塞在上的操作之前重新排队阻塞的操作 (#10512 Sage Weil)

  • osd:在回填时容忍列表和获取属性之间缺失的对象 (#10150 Samuel Just)

  • osd:使用正确的 atime 进行驱逐决策 (Xinze Chi)

  • rgw:在获取 ACL 请求时刷新 XML 标头 (#10106 Yehuda Sadeh)

  • rgw:适当地索引 swift 密钥 (#10471 Hemant Bruman, Yehuda Sadeh)

  • rgw:为挂起的桶索引操作发送取消 (#10770 Baijiaruo, Yehuda Sadeh)

  • rgw: swift:支持 X_Remove_Container-Meta-{key} (#01475 Dmytro Iurchenko)

更多详细信息,请参阅the complete changelog.

v0.87.1 Giant

这是 Giant 的第一个(也可能是最后一个)点发布。我们对稳定性修复的关注将转向锤子和萤火虫。

我们建议所有 v0.87 Giant 用户升级到此版本。

升级

  • 由于 Linux 内核版本 3.18 的变化以及 FUSE 接口的限制,ceph-fuse 需要在至少某些系统上以 root 身份挂载。有关详细信息,请参阅问题 #9997、#10277 和 #10542。

显著变化

  • 构建:在汇编器对象上禁用堆栈执行位 (#10114 Dan Mick)

  • 构建:支持 boost 1.57.0 (#10688 Ken Dreyer)

  • ceph-disk:修复 dmcrypt 文件权限 (#9785 Loic Dachary)

  • ceph-disk:zap 后运行 partprobe,与 partx 或 partprobe 行为 (#9665 #9721 Loic Dachary)

  • cephfs-journal-tool:修复老化日志的导入 (#9977 John Spray)

  • cephfs-journal-tool:修复日志导入 (#10025 John Spray)

  • ceph-fuse:使用 remount 来修剪内核 dcache (#10277 Yan, Zheng)

  • common:添加 cctid 元变量 (#6228 Adam Crume)

  • common:修复 ghobject_t 的 shard 倾倒的转储 (#10063 Loic Dachary)

  • crush:修复桶权重下溢 (#9998 Pawel Sadowski)

  • 纠删码:执行块大小对齐 (#10211 Loic Dachary)

  • 纠删码:回归测试套件 (#9420 Loic Dachary)

  • 纠删码:放宽 caucy w 限制 (#10325 Loic Dachary)

  • libcephfs,ceph-fuse: 允许在 inject_release_failure 上设置 xattr caps (#9800 John Spray)

  • libcephfs,ceph-fuse: 修复 cap 刷写 tid 比较 (#9869 Greg Farnum)

  • libcephfs,ceph-fuse: 新标志指示排序 dcache (#9178 Yan, Zheng)

  • libcephfs,ceph-fuse:在重新连接到 MDS 之前修剪缓存 (Yan, Zheng)

  • librados: 限制正在进行的读取请求的数量 (#9854 Jason Dillaman)

  • libradospy: 修复线程关闭 (#8797 Dan Mick)

  • libradosstriper: 修复截断中的锁定问题 (#10129 Sebastien Ponce)

  • librbd: 在关闭 mage 之前完成挂起的操作 (#10299 Jason Dillaman)

  • librbd: 修复图像打开失败的错误路径 (#10030 Jason Dillaman)

  • librbd: 优雅地处理已删除/重命名的池 (#10270 Jason Dillaman)

  • librbd: 在列出子项时创建 ioctx 时处理错误 (#10123 Jason Dillaman)

  • mds: 修复 MClientSession 中的兼容版本 (#9945 John Spray)

  • mds: 修复 journaler 写入错误处理 (#10011 John Spray)

  • mds: 修复文件大小恢复的锁定 (#10229 Yan, Zheng)

  • mds: 在关闭期间处理 heartbeat_reset (#10382 John Spray)

  • mds: 为 straydir 存储回溯 (Yan, Zheng)

  • mon: 允许 FS 池的层 (#10135 John Spray)

  • mon: 修复 last_epoch_clean 缓存和 osdmap 切割 (#9987 Sage Weil)

  • mon: 修复“fs ls”在仆人上 (#10288 John Spray)

  • mon: 修复来自仆人的 MDS 健康状态 (#10151 John Spray)

  • mon: 修复 paxos 的 off-by-one (#9301 Sage Weil)

  • msgr: simple:在持有全局锁时不要阻塞接管 (#9921 Greg Farnum)

  • osd: 深度清理必须不会因为 hinfo 缺失而中止 (#10018 Loic Dachary)

  • osd: 修复错误指向的操作检测 (#9835 Sage Weil)

  • osd: 修复 acting 的 past_interval 显示 (#9752 Loic Dachary)

  • osd: 当 osdmaps 落后时修复 PG 对等回退 (#10431 Sage Weil)

  • osd: 处理无操作写入的快照情况 (#10262 Ssage Weil)

  • osd: 使用快速调度 (Sage Weil, Greg Farnum)

  • rados: 修复写入到 /dev/null (#Loic Dachary)

  • radosgw-admin: 当需要时创建子用户 (#10103 Yehuda Sadeh)

  • rbd: 避免在图像导入期间使 aio_write 缓冲区失效 (#10590 Jason Dillaman)

  • rbd: 修复大于 2GB 的图像的导出 (Vicente Cheng)

  • rgw: 更改多部分上传 id 魔术 (#10271 Georgios Dimitrakakis, Yehuda Sadeh)

  • rgw: 检查 keystone 认证用于 S3 POST (#10062 Abhishek Lekshmanan)

  • rgw: 检查 S3 keystone 认证的 timestamp (#10062 Abhishek Lekshmanan)

  • rgw: 修复 swift 的部分 GET (#10553 Yehuda Sadeh)

  • rgw: 修复配额禁用 (#9907 Dong Lei)

  • rgw: 修复 put 时对象元数据的罕见损坏 (#9576 Yehuda Sadeh)

  • rgw: 修复 S3 对象复制内容类型 (#9478 Yehuda Sadeh)

  • rgw: 标头以 rn 结尾 (#9254 Benedikt Fraunhofer, Yehuda Sadeh)

  • rgw: 移除 swift 用户清单 DLO 哈希计算 (#9973 Yehuda Sadeh)

  • rgw: 当 len 为 0 时返回正确的 len (#9877 Yehuda Sadeh)

  • rgw: 返回 X-Timestamp 字段 (#8911 Yehuda Sadeh)

  • rgw: 以 systemd 运行为 apache 运行 radosgw (#10125)

  • rgw: 在 S3 对象复制时发送 ETag (#9479 Yehuda Sadeh)

  • rgw: 在 fastcgi 中显式发送 HTTP 状态原因 (Yehuda Sadeh)

  • rgw: 为 keystone 令牌验证设置长度 (#7796 Mark Kirkwood, Yehuda Sadeh)

  • rgw: 在启动守护程序之前在 sysvinit 上设置 ulimit -n (#9587 Sage Weil)

  • rgw: 在 set_attrs 时更新桶索引 (#5595 Yehuda Sadeh)

  • rgw: 在身份验证时更新 swift 子用户权限掩码 (#9918 Yehuda Sadeh)

  • rgw: URL 解码 HTTP 查询参数修正 (#10271 Georgios Dimitrakakis, Yehuda Sadeh)

  • rgw: 读取对象属性时使用缓存的属性 (#10307 Yehuda Sadeh)

  • rgw: 使用 strict_strtoll 进行内容长度 (#10701 Axel Dunkel, Yehuda Sadeh)

更多详细信息,请参阅the complete changelog.

v0.87 Giant

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

  • RADOS 性能: 在 OSD 和客户端 librados 代码中进行了各种改进,以提高闪存后端的吞吐量,并提高快速机器上的并行性和可扩展性。

  • CephFS: 我们已修复了 CephFS 中的许多错误,并构建了一些基本日志恢复和诊断工具。Giant 中单 MDS 系统的稳定性和性能大大提高。虽然我们尚未推荐 CephFS 用于生产部署,但我们鼓励测试非关键工作负载,以便我们更好地了解功能、可用性、性能和稳定性差距。

  • 本地恢复代码: OSD 现在支持一种纠删码方案,该方案存储一些额外的数据块,以减少从单个 OSD 故障中恢复所需的 IO。

  • 退化与误放: 从“ceph -s”和相关命令中报告的 Ceph 健康报告现在区分退化(复制品少于所需数量)和误放(数据存储在集群中错误的位置)。这种区别很重要,因为后者不会影响数据安全。

  • 层级改进: 我们对缓存层级实现的进行了 several 改进,以提高性能。最值得注意的是,对象不是通过单个读取提升到缓存层级;它们必须先被确定为足够热才能发生这种情况。

  • 监控性能: 监控现在异步写入本地数据存储,提高了整体响应能力。

  • 恢复工具: ceph_objectstore_tool 已大大扩展,以允许对单个 OSD 的数据存储进行操作,用于调试和修复目的。这主要被我们的 QA 基础设施用来执行恢复代码。

升级顺序

  • 如果您的现有集群正在运行一个比 v0.80.x 萤火虫旧的版本,请在继续 Giant 之前首先升级到最新的萤火虫发布版本。我们没有直接从皇帝、饺子或更旧的版本测试升级。

    我们测试:

    • Firefly 到 Giant

    • 饺子到 Firefly 到 Giant

  • 请按以下顺序升级守护程序:

    1. 监控器

    2. OSD

    3. MDS 和/或 radosgw

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

从 v0.80x 萤火虫升级

  • librbd 的客户端端缓存现在默认启用(rbd cache = true)。一个安全选项(rbd cache writethrough until flush = true)也已启用,以便在库观察到“flush”命令时,不会使用写回缓存,这避免了在使用不支持 flush 的较旧版本 qemu 时潜在的数据丢失。

    leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB

    OSD 将仍然维护以下 osd-specific 默认值:

    leveldb_log = “”

  • “rados getxattr …” 命令以前会在属性值中添加一个无意义的换行符;现在不再这样了。

  • The*_kb perf监控器上的计数器已被移除。这些被替换为一组新的*_bytes计数器(例如,cluster_osd_kbcluster_osd_bytes搜索)。

  • Therd_kbwr_kb替换为ceph df detail -f json-pretty池统计的 JSON 倾倒中的相应*_bytes字段。类似地,total_space, total_used,和total_avail字段被替换为total_bytes, total_used_bytestotal_avail_bytes字段。

  • Therados df --format=json输出read_byteswrite_bytes字段错误地报告了操作;这现在已修复。

  • Therados df --format=json输出以前包括read_kbwrite_kb字段;这些已被移除。请使用read_byteswrite_bytes而不是(如果适当,则除以 1024)。

  • 实验性 keyvaluestore-dev OSD 后端有一个磁盘格式变化,阻止现有 OSD 数据升级。这仅影响开发人员和测试人员。

  • mon-specific 和 osd-specific leveldb 选项已被移除。从这一点开始,用户应使用leveldb_*通用

    leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB

    OSD 将仍然维护以下 osd-specific 默认值:

    leveldb_log = “”

  • CephFS support for the legacy anchor table has finally been removed. Users with file systems created before firefly should ensure that inodes with multiple hard links are modified prior to the upgrade to ensure that the backtraces are written properly. For example:

    sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \;
    
  • We disallow nonsensical ‘tier cache-mode’ transitions. From this point onward, ‘writeback’ can only transition to ‘forward’ and ‘forward’ can transition to 1) ‘writeback’ if there are dirty objects, or 2) any if there are no dirty objects.

Notable Changes since v0.86

  • ceph-disk: use new udev rules for centos7/rhel7 (#9747 Loic Dachary)

  • libcephfs-java: fix fstat mode (Noah Watkins)

  • librados: fix deadlock when listing PG contents (Guang Yang)

  • librados: misc fixes to the new threading model (#9582 #9706 #9845 #9873 Sage Weil)

  • mds: fix inotable initialization (Henry C Chang)

  • mds: gracefully handle unknown lock type in flock requests (Yan, Zheng)

  • mon: add read-only, read-write, and role-definer rols (Joao Eduardo Luis)

  • mon: fix mon cap checks (Joao Eduardo Luis)

  • mon: misc fixes for new paxos async writes (#9635 Sage Weil)

  • mon: set scrub timestamps on PG creation (#9496 Joao Eduardo Luis)

  • osd: erasure code: fix buffer alignment (Janne Grunau, Loic Dachary)

  • osd: fix alloc hint induced crashes on mixed clusters (#9419 David Zafman)

  • osd: fix backfill reservation release on rejection (#9626, Samuel Just)

  • osd: fix ioprio option parsing (#9676 #9677 Loic Dachary)

  • osd: fix memory leak during snap trimming (#9113 Samuel Just)

  • osd: misc peering and recovery fixes (#9614 #9696 #9731 #9718 #9821 #9875 Samuel Just, Guang Yang)

Notable Changes since v0.80.x Firefly

  • bash completion improvements (Wido den Hollander)

  • brag: fixes, improvements (Loic Dachary)

  • buffer: improve rebuild_page_aligned (Ma Jianpeng)

  • build: fix build on alpha (Michael Cree, Dmitry Smirnov)

  • build: fix CentOS 5 (Gerben Meijer)

  • build: fix yasm check for x32 (Daniel Schepler, Sage Weil)

  • ceph-brag: add tox tests (Alfredo Deza)

  • ceph-conf: flush log on exit (Sage Weil)

  • ceph.conf: update sample (Sebastien Han)

  • ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick)

  • ceph-disk: add Scientific Linux support (Dan van der Ster)

  • ceph-disk:不要意外创建目录 (Owne Synge)

  • ceph-disk:修复 dmcrypt 支持 (Sage Weil)

  • ceph-disk: fix dmcrypt support (Stephen Taylor)

  • ceph-disk: handle corrupt volumes (Stuart Longlang)

  • ceph-disk:linter 清理,日志改进 (Alfredo Deza)

  • ceph-disk: partprobe as needed (Eric Eastman)

  • ceph-disk:在 ‘ceph-disk list’ 输出中显示有关 dmcrypt 的信息 (Sage Weil)

  • ceph-disk:使用分区类型 UUIDs 和 blkid (Sage Weil)

  • ceph: 修复非默认集群名称 (#8944, Dan Mick)

  • ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng)

  • ceph-fuse, libcephfs: fix crash in trim_caps (John Spray)

  • ceph-fuse, libcephfs: improve cap trimming (John Spray)

  • ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil)

  • ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng)

  • ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman)

  • ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness)

  • ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness)

  • ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov)

  • cephtool: fix help (Yilong Zhao)

  • cephtool: refactor and improve CLI tests (Joao Eduardo Luis)

  • cephtool: test cleanup (Joao Eduardo Luis)

  • clang build fixes (John Spray, Danny Al-Gaaf)

  • client: improved MDS session dumps (John Spray)

  • common: add config diff admin socket command (Joao Eduardo Luis)

  • common: add rwlock assertion checks (Yehuda Sadeh)

  • common: fix dup log messages (#9080, Sage Weil)

  • common: perfcounters now use atomics and go faster (Sage Weil)

  • config: support G, M, K, etc. suffixes (Joao Eduardo Luis)

  • coverity cleanups (Danny Al-Gaaf)

  • crush: clean up CrushWrapper interface (Xioaxi Chen)

  • crush: include new tunables in dump (Sage Weil)

  • crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary)

  • crush: only require rule features if the rule is used (#8963, Sage Weil)

  • crushtool: send output to stdout, not stderr (Wido den Hollander)

  • doc: cache tiering (John Wilkins)

  • doc: CRUSH updates (John Wilkins)

  • doc: 记录新的上游 wireshark 解码器 (Kevin Cox)

  • doc: improve manual install docs (Francois Lafont)

  • doc: keystone integration docs (John Wilkins)

  • doc: librados example fixes (Kevin Dalley)

  • doc: many doc updates (John Wilkins)

  • doc: 许多安装文档更新 (John Wilkins)

  • doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster)

  • doc: osd primary affinity (John Wilkins)

  • doc: pool quotas (John Wilkins)

  • doc: pre-flight doc improvements (Kevin Dalley)

  • doc: switch to an unencumbered font (Ross Turk)

  • doc: updated simple configuration guides (John Wilkins)

  • doc: update erasure docs (Loic Dachary, Venky Shankar)

  • doc: update openstack docs (Josh Durgin)

  • filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just)

  • filestore: fix xattr spillout (Greg Farnum, Haomai Wang)

  • fix hppa arch build (Dmitry Smirnov)

  • fix i386 builds (Sage Weil)

  • fix struct vs class inconsistencies (Thorsten Behrens)

  • global: write pid file even when running in foreground (Alexandre Oliva)

  • hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray)

  • hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen)

  • init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil)

  • journaler: fix locking (Zheng, Yan)

  • keyvaluestore: fix hint crash (#8381, Haomai Wang)

  • keyvaluestore: header cache (Haomai Wang)

  • libcephfs-java: build against older JNI headers (Greg Farnum)

  • libcephfs-java: fix gcj-jdk build (Dmitry Smirnov)

  • librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil)

  • librados: 修复错误路径中的锁泄漏 (#9022, Paval Rallabhandi)

  • librados: 修复池存在检查 (#8835, Pavan Rallabhandi)

  • librados: fix rados_pool_list bounds checks (Sage Weil)

  • librados: 修复关闭竞争 (#9130 Sage Weil)

  • librados: 修复 watch/notify 测试 (#7934 David Zafman)

  • librados: 修复在 acting 集合更改时重新注册 watch (#9220 Samuel Just)

  • librados: 给 Objecter 细粒度锁 (Yehuda Sadeh, Sage Weil, John Spray)

  • librados: lttng tracepoitns (Adam Crume)

  • librados, osd: 在失败的通知上返回 ETIMEDOUT (Sage Weil)

  • librados: pybind: 修复当 0 存在时的读取 (#9547 Mohammad Salehe)

  • librados_striper: striping library for librados (Sebastien Ponce)

  • librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang)

  • librbd: check error code on cache invalidate (Josh Durgin)

  • librbd: 默认启用缓存 (Sage Weil)

  • librbd: 强制缓存大小在读取请求上 (#Jason Dillaman)

  • librbd: 修复使用扁平图像克隆时崩溃 (#8845, Josh Durgin)

  • librbd: fix error path when opening image (#8912, Josh Durgin)

  • librbd: 在关闭期间处理黑名单 (#9105 John Spray)

  • librbd: lttng tracepoints (Adam Crume)

  • librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov)

  • librbd: 根据标识符存储和检索快照元数据 (Josh Durgin)

  • libs3: update to latest (Danny Al-Gaaf)

  • log: fix derr level (Joao Eduardo Luis)

  • logrotate: fix osd log rotation on ubuntu (Sage Weil)

  • lttng: 跟踪基础设施 (Noah Watkins, Adam Crume)

  • mailmap:许多更新 (Loic Dachary)

  • mailmap: 更新 (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy)

  • Makefile: fix out of source builds (Stefan Eilemann)

  • 许多许多 coverity 修复,清理 (Danny Al-Gaaf)

  • mds: 适应新的 Objecter 锁定,为所有 Contexts 提供类型 (John Spray)

  • mds: add file system name, enabled flag (John Spray)

  • mds: 添加内部健康检查 (John Spray)

  • mds: 添加快照创建/删除的最小/最大 UID (#9029, Wido den Hollander)

  • mds: 避免紧密的 mon 重连循环 (#9428 Sage Weil)

  • mds: boot refactor, cleanup (John Spray)

  • mds: cephfs-journal-tool (John Spray)

  • mds: 修复杀死会话的崩溃 (#9173 John Spray)

  • mds: 修复 ctime 更新 (#9514 Greg Farnum)

  • mds: fix journal conversion with standby-replay (John Spray)

  • mds: 修复 standby-replay 的日志转换 (John Spray)

  • mds: 修复 standby-replay 缓存切割 (#8648 Zheng, Yan)

  • mds: fix xattr bug triggered by ACLs (Yan, Zheng)

  • mds: 给 perfcounters 有意义的名称 (Sage Weil)

  • mds: 改进对监控器的健康报告 (John Spray)

  • mds: improve Journaler on-disk format (John Spray)

  • mds: 改进 journal 锁定 (Zheng, Yan)

  • mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil)

  • mds: 使最大文件恢复可调 (#Sage Weil)

  • mds: misc encoding improvements (John Spray)

  • mds: misc fixes for multi-mds (Yan, Zheng)

  • mds: multi-mds fixes (Yan, Zheng)

  • mds: OPTracker integration, dump_ops_in_flight (Greg Farnum)

  • mds: 在适当的时候优先考虑文件恢复 (Sage Weil)

  • mds: 重构信标,提高可靠性 (John Spray)

  • mds: remove legacy anchor table (Yan, Zheng)

  • mds: remove legacy discover ino (Yan, Zheng)

  • mds: 在 EBLACKLISTED 时重启 (John Spray)

  • mds: separate inode recovery queue (John Spray)

  • mds: session ls, evict commands (John Spray)

  • mds: submit log events in async thread (Yan, Zheng)

  • mds: 跟踪 RECALL 进度,报告失败 (#9284 John Spray)

  • mds: 在 journal 写入期间更新段引用 (John Spray, Greg Farnum)

  • mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng)

  • mds: 为客户端使用有意义的名称 (John Spray)

  • mds: validate journal header on load and save (John Spray)

  • mds: 警告未撤回 caps 的客户端 (Zheng, Yan, John Spray)

  • Fedora 20 的杂项构建错误/警告 (Boris Ranto)

  • misc build fixes for OS X (John Spray)

  • misc cleanup (Christophe Courtaut)

  • misc integer size cleanups (Kevin Cox)

  • misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui)

  • misc suse fixes (Danny Al-Gaaf)

  • misc word size fixes (Kevin Cox)

  • mon: 添加所有管理员命令的审计日志 (Joao Eduardo Luis)

  • mon: 添加集群指纹 (Sage Weil)

  • mon: add get-quota commands (Joao Eduardo Luis)

  • mon: 添加“osd blocked-by”命令以轻松查看哪些 OSD 正在阻止对等进度 (Sage Weil)

  • mon: 添加“osd reweight-by-pg”命令 (Sage Weil, Guang Yang)

  • mon: 为 paxos 操作添加性能计数器 (Sage Weil)

  • mon: 避免在池创建时创建不必要的规则 (#9304 Loic Dachary)

  • monclient: fix hang (Sage Weil)

  • mon: 如果需要,则创建默认 EC 配置文件 (Loic Dachary)

  • mon: do not create file system by default (John Spray)

  • mon: 不要滥用日志 (Aanchal Agrawal, Sage Weil)

  • mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis)

  • mon: ec pool profile fixes (Loic Dachary)

  • mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis)

  • mon: fix ‘ceph df’ output for available space (Xiaoxi Chen)

  • mon: fix compat version for MForward (Joao Eduardo Luis)

  • mon: 在 loopback 消息和 paxos 超时时修复崩溃 (#9062, Sage Weil)

  • mon: fix default replication pool ruleset choice (#8373, John Spray)

  • mon: 在 pg_num 调整 OSD 添加之前修复除零错误 (#9101, Sage Weil)

  • mon: 修复 double-free of 旧 MOSDBoot (#9176, Sage Weil)

  • mon: 修复健康下降消息 (Sage Weil)

  • mon: fix occasional memory leak after session reset (#9176, Sage Weil)

  • mon: 修复 op 写延迟性能计数器 (#9217 Xinxin Shu)

  • mon: 修复 ‘osd perf’ 报告的延迟 (#9269 Samuel Just)

  • mon: 修复 quorum 功能检查 (#8738, Greg Farnum)

  • mon: fix ruleset/ruleid bugs (#9044, Loic Dachary)

  • mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz)

  • mon: 修复启动时的存储检查 (Joao Eduardo Luis)

  • mon: include per-pool ‘max avail’ in df output (Sage Weil)

  • mon: 使 paxos 事务提交异步 (Sage Weil)

  • mon: make usage dumps in terms of bytes, not kB (Sage Weil)

  • mon: ‘osd crush reweight-subtree …’ (Sage Weil)

  • mon, osd: 放宽客户端 EC 支持要求 (Sage Weil)

  • mon: 预加载纠删码插件 (#9153 Loic Dachary)

  • mon: 防止缓存池直接被 CephFS 使用 (#9435 John Spray)

  • mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis)

  • mon: prevent implicit destruction of OSDs with ‘osd setmaxosd …’ (#8865, Anand Bhat)

  • mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis)

  • mon: restore original weight when auto-marked out OSDs restart (Sage Weil)

  • mon: restrict some pool properties to tiered pools (Joao Eduardo Luis)

  • mon: some instrumentation (Sage Weil)

  • mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov)

  • mon: 使用用户提供的规则集用于复制池 (Xiaoxi Chen)

  • mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil)

  • mon: 验证启动时可用磁盘空间 (#9502 Joao Eduardo Luis)

  • mon: 验证加载时纠删码插件的版本 (Loic Dachary)

  • msgr: avoid big lock when sending (most) messages (Greg Farnum)

  • msgr: 修复记录的地址 (Yongyue Sun)

  • msgr: misc locking fixes for fast dispatch (#8891, Sage Weil)

  • msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei)

  • objecter: flag operations that are redirected by caching (Sage Weil)

  • objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil)

  • osd: 考虑 hit_set_archive 字节 (Sage Weil)

  • osd: 添加预哈希文件存储目录的能力 (Guang Yang)

  • osd: add ‘dump_reservations’ admin socket command (Sage Weil)

  • osd: 添加纠删码插件的特性位 (Loic Dachary)

  • osd: add header cache for KeyValueStore (Haomai Wang)

  • osd: 添加 ISA 纠删码插件表缓存 (Andreas-Joachim Peters)

  • osd: add local_mtime for use by cache agent (Zhiqiang Wang)

  • osd: 添加本地恢复代码 (LRC) 纠删码插件 (Loic Dachary)

  • osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin)

  • osd: add READFORWARD caching mode (Luis Pabon)

  • osd: add superblock for KeyValueStore backend (Haomai Wang)

  • osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters)

  • osd: allow map cache size to be adjusted at runtime (Sage Weil)

  • osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy)

  • osd: avoid sharing PG info that is not durable (Samuel Just)

  • osd: bound osdmap epoch skew between PGs (Sage Weil)

  • osd: cache tier flushing fixes for snapped objects (Samuel Just)

  • osd: cap hit_set 大小 (#9339 Samuel Just)

  • osd: clean up shard_id_t, shard_t (Loic Dachary)

  • osd: 在 unlink 时清除 FDCache (#8914 Loic Dachary)

  • osd: clear slow request latency info on osd up/down (Sage Weil)

  • osd: 不要驱逐阻塞的对象 (#9285 Zhiqiang Wang)

  • osd: do not skip promote for write-ordered reads (#9064, Samuel Just)

  • osd: fix agent early finish looping (David Zafman)

  • osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil)

  • osd: fix bogus assert during OSD shutdown (Sage Weil)

  • osd: fix bug with long object names and rename (#8701, Sage Weil)

  • osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just)

  • osd: fix cache full -> not full requeueing (#8931, Sage Weil)

  • osd: fix clone deletion case (#8334, Sam Just)

  • osd: 修复克隆与 cache_evict 的 bug (#8629 Sage Weil)

  • osd: fix connection reconnect race (Greg Farnum)

  • osd: 修复重复回填保留的崩溃 (Greg Farnum)

  • osd: 修复死对等连接检查 (#9295 Greg Farnum, Sage Weil)

  • osd: fix discard of old/obsolete subop replies (#9259, Samuel Just)

  • osd: fix discard of peer messages from previous intervals (Greg Farnum)

  • osd: fix dump of open fds on EMFILE (Sage Weil)

  • osd: fix dumps (Joao Eduardo Luis)

  • osd: fix erasure-code lib initialization (Loic Dachary)

  • osd: fix extent normalization (Adam Crume)

  • osd: fix filestore removal corner case (#8332, Sam Just)

  • osd: fix flush vs OpContext (Samuel Just)

  • osd: fix gating of messages from old OSD instances (Greg Farnum)

  • osd: fix hang waiting for osdmap (#8338, Greg Farnum)

  • osd: fix interval check corner case during peering (#8104, Sam Just)

  • osd: 修复 ISA 纠删码对齐 (Loic Dachary, Andreas-Joachim Peters)

  • osd: fix journal dump (Ma Jianpeng)

  • osd: fix journal-less operation (Sage Weil)

  • osd: 修复 keyvaluestore 刷写 (#8589 Haomai Wang)

  • osd: 修复 keyvaluestore 升级 (Haomai Wang)

  • osd: fix loopback msgr issue (Ma Jianpeng)

  • osd: fix LSB release parsing (Danny Al-Gaaf)

  • osd: fix MarkMeDown and other shutdown races (Sage Weil)

  • osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil)

  • osd: 修复升级时 min_read_recency_for_promote 的默认值 (Zhiqiang Wang)

  • osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil)

  • osd: 修复挂载/重挂载同步竞争 (#9144 Sage Weil)

  • osd: fix PG object listing/ordering bug (Guang Yang)

  • osd: fix PG stat errors with tiering (#9082, Sage Weil)

  • osd: 修复 purged_snap 初始化在回填上 (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas)

  • osd: 修复对象删除上的竞争条件 (#9480 Somnath Roy)

  • osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng)

  • osd: fix recovery reservation deadlock for EC pools (Samuel Just)

  • osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng)

  • osd: fix requesting queueing on PG split (Samuel Just)

  • osd: fix scrub vs cache bugs (Samuel Just)

  • osd: 修复快照对象从缓存层级写回 (#9054 Samuel Just)

  • osd: fix trim of hitsets (Sage Weil)

  • osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil)

  • osd: implement alignment on chunk sizes (Loic Dachary)

  • osd: improved backfill priorities (Sage Weil)

  • osd: 改进 journal 关闭 (Ma Jianpeng, Mark Kirkwood)

  • osd: improve locking for KeyValueStore (Haomai Wang)

  • osd: 改进 OpTracker 中的锁定 (Pavan Rallabhandi, Somnath Roy)

  • osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil)

  • osd: 改进层级代理算术 (Zhiqiang Wang, Sage Weil, Samuel Just)

  • osd: include backend information in metadata reported to mon (Sage Weil)

  • osd: locking, sharding, caching improvements in FileStore’s FDCache (Somnath Roy, Greg Farnum)

  • osd: 文件存储的 lttng tracepoints (Noah Watkins)

  • osd: 使黑名单编码确定性 (#9211 Sage Weil)

  • osd: make tiering behave if hit_sets aren’t enabled (Sage Weil)

  • osd: many important bug fixes (Samuel Just)

  • osd: many many core fixes (Samuel Just)

  • osd: 许多重要修复 (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just)

  • osd: mark pools with incomplete clones (Sage Weil)

  • osd: 杂项纠删码插件修复 (Loic Dachary)

  • osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng)

  • osd, mon: add rocksdb support (Xinxin Shu, Sage Weil)

  • osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis)

  • osd, mon: 在集群健康和 PG 状态报告中区分“误放”和“退化”对象 (Sage Weil)

  • osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just)

  • osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil)

  • osd: 预加载纠删码插件 (#9153 Loic Dachary)

  • osd: prevent old rados clients from using tiered pools (#8714, Sage Weil)

  • osd: reduce OpTracker overhead (Somnath Roy)

  • osd: 将一些 ErasureCode 功能重构到命令父类中 (Loic Dachary)

  • osd: remove obsolete classic scrub code (David Zafman)

  • osd: scrub PGs with invalid stats (Sage Weil)

  • osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang)

  • osd: 在创建时设置 rollback_info_completed (#8625, Samuel Just)

  • osd: sharded threadpool to improve parallelism (Somnath Roy)

  • osd: 分片 OpTracker 以提高性能 (Somnath Roy)

  • osd: simple io prioritization for scrub (Sage Weil)

  • osd: simple scrub throttling (Sage Weil)

  • osd: simple snap trimmer throttle (Sage Weil)

  • osd: tests for bench command (Loic Dachary)

  • osd: trim old EC objects quickly; verify on scrub (Samuel Just)

  • osd: use FIEMAP to inform copy_range (Haomai Wang)

  • osd: 使用本地时间进行层级决策 (Zhiqiang Wang)

  • osd: use xfs hint less frequently (Ilya Dryomov)

  • osd: 验证加载时纠删码插件的版本 (Loic Dachary)

  • osd: work around GCC 4.8 bug in journal code (Matt Benjamin)

  • pybind/rados: fix small timeouts (John Spray)

  • qa: xfstests updates (Ilya Dryomov)

  • rados: 允许从 stdin 读取 setxattr 值 (Sage Weil)

  • rados bench: fix arg order (Kevin Dalley)

  • rados: 丢弃 getxattr 命令中的无偿 n (Sage Weil)

  • rados: 修复 bench 写算术 (Jiangheng)

  • rados: fix {read,write}_ops values for df output (Sage Weil)

  • rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov)

  • rbd-fuse: allow exposing single image (Stephen Taylor)

  • rbd-fuse: fix unlink (Josh Durgin)

  • rbd: improve option default behavior (Josh Durgin)

  • rbd: 并行化 rbd 导入,导出 (Jason Dillaman)

  • rbd: rbd-replay 工具,用于重放捕获的 rbd 工作负载跟踪 (Adam Crume)

  • rbd: 启用缓存时使用写回(不是写通过)(Jason Dillaman)

  • removed mkcephfs (deprecated since dumpling)

  • rest-api: fix help (Ailing Zhang)

  • rgw: 添加 civetweb 作为端口 7490 的默认前端 (#9013 Yehuda Sadeh)

  • rgw: 添加 --min-rewrite-stripe-size 用于对象重写器 (Yehuda Sadeh)

  • rgw: 添加 powerdns 钩子用于全球集群的动态 DNS (Wido den Hollander)

  • rgw: 添加 S3 桶获取位置操作 (Abhishek Lekshmanan)

  • rgw: 允许 S3 访问密钥中的 : (Roman Haritonov)

  • rgw: 自动对 EC 池对齐写入 (#8442, Yehuda Sadeh)

  • rgw: 桶链接使用实例 ID (Yehuda Sadeh)

  • rgw: 缓存桶信息 (Yehuda Sadeh)

  • rgw: 缓存解码的用户信息 (Yehuda Sadeh)

  • rgw: 检查 put_metadata 的实体权限 (#8428, Yehuda Sadeh)

  • rgw: 如果目标桶位于不同的池中,则复制对象数据 (#9039, Yehuda Sadeh)

  • rgw: 不要尝试对 CORS 预检请求进行身份验证 (#8718, Robert Hubbard, Yehuda Sadeh)

  • rgw: 修复管理员创建用户操作 (#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: 修复多对象 PUT 竞态 (#8452, Yehuda Sadeh)

  • rgw: 修复多部分上传 (#8846, Silvain Munaut, Yehuda Sadeh)

  • rgw: 修复 radosgw-admin “显示日志”命令 (#8553, Yehuda Sadeh)

  • rgw: 在对象创建期间删除对象 (#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: improve delimited listing of bucket, misc fixes (Yehuda Sadeh)

  • rgw: improve -h (Abhishek Lekshmanan)

  • rgw: many fixes for civetweb (Yehuda Sadeh)

  • rgw: misc civetweb fixes (Yehuda Sadeh)

  • rgw: 杂项 civetweb 前端修复 (Yehuda Sadeh)

  • rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh)

  • rgw: powerdns backend for global namespaces (Wido den Hollander)

  • rgw: prevent multiobject PUT race (Yehuda Sadeh)

  • rgw: send user manifest header (Yehuda Sadeh)

  • rgw: subuser creation fixes (#8587 Yehuda Sadeh)

  • rgw: use systemd-run from sysvinit script (JuanJose Galvez)

  • rpm: do not restart daemons on upgrade (Alfredo Deza)

  • rpm: misc packaging fixes for rhel7 (Sandon Van Ness)

  • rpm: split ceph-common from ceph (Sandon Van Ness)

  • systemd: initial systemd config files (Federico Simoncelli)

  • systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick)

  • sysvinit: 添加对非默认集群名称的支持 (Alfredo Deza)

  • sysvinit: 对失败不太敏感 (Sage Weil)

  • test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov)

  • unit test improvements (Loic Dachary)

  • upstart: 增加最大打开文件限制 (Sage Weil)

  • vstart.sh: 修复/改进 rgw 支持 (Luis Pabon, Abhishek Lekshmanan)

v0.86

This is a release candidate for Giant, which will hopefully be out in another week or two. We did a feature freeze about a month ago and since then have been doing only stabilization and bug fixing (and a handful on low-risk enhancements). A fair bit of new functionality went into the final sprint, but it’s baked for quite a while now and we’re feeling pretty good about it.

Major items include:

  • librados locking refactor to improve scaling and client performance

  • local recovery code (LRC) erasure code plugin to trade some additional storage overhead for improved recovery performance

  • LTTNG tracing framework, with initial tracepoints in librados, librbd, and the OSD FileStore backend

  • separate monitor audit log for all administrative commands

  • asynchronous monitor transaction commits to reduce the impact on monitor read requests while processing updates

  • low-level tool for working with individual OSD data stores for debugging, recovery, and testing

  • many MDS improvements (bug fixes, health reporting)

There are still a handful of known bugs in this release, but nothing severe enough to prevent a release. By and large we are pretty pleased with the stability and expect the final Giant release to be quite reliable.

Please try this out on your non-production clusters for a preview

显著变化

  • buffer: improve rebuild_page_aligned (Ma Jianpeng)

  • build: fix CentOS 5 (Gerben Meijer)

  • build: fix build on alpha (Michael Cree, Dmitry Smirnov)

  • build: fix yasm check for x32 (Daniel Schepler, Sage Weil)

  • ceph-disk: add Scientific Linux support (Dan van der Ster)

  • ceph-fuse, libcephfs: fix crash in trim_caps (John Spray)

  • ceph-fuse, libcephfs: improve cap trimming (John Spray)

  • ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng)

  • ceph.conf: update sample (Sebastien Han)

  • ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness)

  • ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman)

  • common: add config diff admin socket command (Joao Eduardo Luis)

  • common: add rwlock assertion checks (Yehuda Sadeh)

  • crush: clean up CrushWrapper interface (Xioaxi Chen)

  • crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary)

  • doc: improve manual install docs (Francois Lafont)

  • doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster)

  • global: write pid file even when running in foreground (Alexandre Oliva)

  • hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray)

  • journaler: fix locking (Zheng, Yan)

  • librados, osd: 在失败的通知上返回 ETIMEDOUT (Sage Weil)

  • librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil)

  • librados: 修复关闭竞争 (#9130 Sage Weil)

  • librados: 修复在 acting 集合更改时重新注册 watch (#9220 Samuel Just)

  • librados: 修复 watch/notify 测试 (#7934 David Zafman)

  • librados: 给 Objecter 细粒度锁 (Yehuda Sadeh, Sage Weil, John Spray)

  • librados: lttng tracepoitns (Adam Crume)

  • librados: pybind: 修复当 0 存在时的读取 (#9547 Mohammad Salehe)

  • librbd: 强制缓存大小在读取请求上 (#Jason Dillaman)

  • librbd: 在关闭期间处理黑名单 (#9105 John Spray)

  • librbd: lttng tracepoints (Adam Crume)

  • lttng: 跟踪基础设施 (Noah Watkins, Adam Crume)

  • mailmap: 更新 (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy)

  • 许多许多 coverity 修复,清理 (Danny Al-Gaaf)

  • mds: 适应新的 Objecter 锁定,为所有 Contexts 提供类型 (John Spray)

  • mds: 添加内部健康检查 (John Spray)

  • mds: 避免紧密的 mon 重连循环 (#9428 Sage Weil)

  • mds: 修复杀死会话的崩溃 (#9173 John Spray)

  • mds: 修复 ctime 更新 (#9514 Greg Farnum)

  • mds: 修复 standby-replay 的日志转换 (John Spray)

  • mds: 修复 standby-replay 缓存切割 (#8648 Zheng, Yan)

  • mds: 给 perfcounters 有意义的名称 (Sage Weil)

  • mds: 改进对监控器的健康报告 (John Spray)

  • mds: 改进 journal 锁定 (Zheng, Yan)

  • mds: 使最大文件恢复可调 (#Sage Weil)

  • mds: 在适当的时候优先考虑文件恢复 (Sage Weil)

  • mds: 重构信标,提高可靠性 (John Spray)

  • mds: 在 EBLACKLISTED 时重启 (John Spray)

  • mds: 跟踪 RECALL 进度,报告失败 (#9284 John Spray)

  • mds: 在 journal 写入期间更新段引用 (John Spray, Greg Farnum)

  • mds: 为客户端使用有意义的名称 (John Spray)

  • mds: 警告未撤回 caps 的客户端 (Zheng, Yan, John Spray)

  • mon: 添加“osd reweight-by-pg”命令 (Sage Weil, Guang Yang)

  • mon: 添加所有管理员命令的审计日志 (Joao Eduardo Luis)

  • mon: 添加集群指纹 (Sage Weil)

  • mon: 避免在池创建时创建不必要的规则 (#9304 Loic Dachary)

  • mon: 不要滥用日志 (Aanchal Agrawal, Sage Weil)

  • mon: 修复 ‘osd perf’ 报告的延迟 (#9269 Samuel Just)

  • mon: 修复 double-free of 旧 MOSDBoot (#9176, Sage Weil)

  • mon: 修复 op 写延迟性能计数器 (#9217 Xinxin Shu)

  • mon: 修复启动时的存储检查 (Joao Eduardo Luis)

  • mon: 使 paxos 事务提交异步 (Sage Weil)

  • mon: 预加载纠删码插件 (#9153 Loic Dachary)

  • mon: 防止缓存池直接被 CephFS 使用 (#9435 John Spray)

  • mon: 使用用户提供的规则集用于复制池 (Xiaoxi Chen)

  • mon: 验证启动时可用磁盘空间 (#9502 Joao Eduardo Luis)

  • mon: 验证加载时纠删码插件的版本 (Loic Dachary)

  • msgr: 修复记录的地址 (Yongyue Sun)

  • osd: 考虑 hit_set_archive 字节 (Sage Weil)

  • osd: 添加 ISA 纠删码插件表缓存 (Andreas-Joachim Peters)

  • osd: 添加预哈希文件存储目录的能力 (Guang Yang)

  • osd: 添加纠删码插件的特性位 (Loic Dachary)

  • osd: 添加本地恢复代码 (LRC) 纠删码插件 (Loic Dachary)

  • osd: cap hit_set 大小 (#9339 Samuel Just)

  • osd: 在 unlink 时清除 FDCache (#8914 Loic Dachary)

  • osd: 不要驱逐阻塞的对象 (#9285 Zhiqiang Wang)

  • osd: 修复 ISA 纠删码对齐 (Loic Dachary, Andreas-Joachim Peters)

  • osd: 修复克隆与 cache_evict 的 bug (#8629 Sage Weil)

  • osd: 修复重复回填保留的崩溃 (Greg Farnum)

  • osd: 修复死对等连接检查 (#9295 Greg Farnum, Sage Weil)

  • osd: 修复 keyvaluestore 刷写 (#8589 Haomai Wang)

  • osd: 修复 keyvaluestore 升级 (Haomai Wang)

  • osd: 修复升级时 min_read_recency_for_promote 的默认值 (Zhiqiang Wang)

  • osd: 修复挂载/重挂载同步竞争 (#9144 Sage Weil)

  • osd: 修复 purged_snap 初始化在回填上 (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas)

  • osd: 修复对象删除上的竞争条件 (#9480 Somnath Roy)

  • osd: 修复快照对象从缓存层级写回 (#9054 Samuel Just)

  • osd: 改进 journal 关闭 (Ma Jianpeng, Mark Kirkwood)

  • osd: 改进 OpTracker 中的锁定 (Pavan Rallabhandi, Somnath Roy)

  • osd: 改进层级代理算术 (Zhiqiang Wang, Sage Weil, Samuel Just)

  • osd: 文件存储的 lttng tracepoints (Noah Watkins)

  • osd: 使黑名单编码确定性 (#9211 Sage Weil)

  • osd: 许多重要修复 (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just)

  • osd: 杂项纠删码插件修复 (Loic Dachary)

  • osd: 预加载纠删码插件 (#9153 Loic Dachary)

  • osd: 分片 OpTracker 以提高性能 (Somnath Roy)

  • osd: 使用本地时间进行层级决策 (Zhiqiang Wang)

  • osd: 验证加载时纠删码插件的版本 (Loic Dachary)

  • rados: 修复 bench 写算术 (Jiangheng)

  • rbd: 并行化 rbd 导入,导出 (Jason Dillaman)

  • rbd: rbd-replay 工具,用于重放捕获的 rbd 工作负载跟踪 (Adam Crume)

  • rbd: 启用缓存时使用写回(不是写通过)(Jason Dillaman)

  • rgw: 添加 S3 桶获取位置操作 (Abhishek Lekshmanan)

  • rgw: 添加 civetweb 作为端口 7490 的默认前端 (#9013 Yehuda Sadeh)

  • rgw: 允许 S3 访问密钥中的 : (Roman Haritonov)

  • rgw: 修复管理员创建用户操作 (#8583 Ray Lv)

  • rgw: 修复日志文件名后缀 (#9353 Alexandre Marangone)

  • rgw: 修复使用 (Abhishek Lekshmanan)

  • rgw: many fixes for civetweb (Yehuda Sadeh)

  • rgw: subuser creation fixes (#8587 Yehuda Sadeh)

  • rgw: use systemd-run from sysvinit script (JuanJose Galvez)

  • unit test improvements (Loic Dachary)

  • vstart.sh: 修复/改进 rgw 支持 (Luis Pabon, Abhishek Lekshmanan)

v0.84

这是 Giant 之前的倒数第二个开发发布,其中包含新功能。在此周期中要落地的重大项目包括 Matt Benjamin 的信使重构,为 RDMA 支持奠定基础,SanDisk 的性能改进系列,我们新的基于 civetweb 的独立 RGW 前端的大量改进,以及一个新的“osd blocked-by”mon 命令,允许管理员轻松识别哪些 OSD 正在阻止对等进度。另一个重大变化是 OSD 和监控器现在区分“误放”和“退化”对象:后者意味着复制品少于我们希望的数量,而前者仅仅意味着它们没有被存储在我们希望它们存储的位置。

还值得注意的是 librbd 中的一项更改,它默认启用客户端端缓存。这与其他选项相结合,使得缓存写通过,直到观察到“flush”操作:这意味着 librbd 用户(通常是虚拟机客机操作系统)支持屏障和 flush,并且缓存可以安全地切换到写回模式,而不会影响数据安全或完整性。长期以来,推荐的做法是启用这些选项(例如,在 OpenStack 环境中),但直到现在它还不是默认的。

我们已经冻结了 Giant 发布的树,下一个开发发布将是一个候选版本,其中包含最终一批新功能。

升级

  • librbd 的客户端端缓存现在默认启用(rbd cache = true)。一个安全选项(rbd cache writethrough until flush = true)也已启用,以便在库观察到“flush”命令时,不会使用写回缓存,这避免了在使用不支持 flush 的较旧版本 qemu 时潜在的数据丢失。

    leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB

    OSD 将仍然维护以下 osd-specific 默认值:

    leveldb_log = “”

  • “rados getxattr …” 命令以前会在属性值中添加一个无意义的换行符;现在不再这样了。

显著变化

  • ceph-disk:不要意外创建目录 (Owne Synge)

  • ceph-disk:修复 dmcrypt 支持 (Sage Weil)

  • ceph-disk:linter 清理,日志改进 (Alfredo Deza)

  • ceph-disk:在 ‘ceph-disk list’ 输出中显示有关 dmcrypt 的信息 (Sage Weil)

  • ceph-disk:使用分区类型 UUIDs 和 blkid (Sage Weil)

  • ceph: 修复非默认集群名称 (#8944, Dan Mick)

  • doc: 记录新的上游 wireshark 解码器 (Kevin Cox)

  • doc: 许多安装文档更新 (John Wilkins)

  • librados: 修复错误路径中的锁泄漏 (#9022, Paval Rallabhandi)

  • librados: 修复池存在检查 (#8835, Pavan Rallabhandi)

  • librbd: 默认启用缓存 (Sage Weil)

  • librbd: 修复使用扁平图像克隆时崩溃 (#8845, Josh Durgin)

  • librbd: 根据标识符存储和检索快照元数据 (Josh Durgin)

  • mailmap:许多更新 (Loic Dachary)

  • mds: 添加快照创建/删除的最小/最大 UID (#9029, Wido den Hollander)

  • Fedora 20 的杂项构建错误/警告 (Boris Ranto)

  • mon: 添加“osd blocked-by”命令以轻松查看哪些 OSD 正在阻止对等进度 (Sage Weil)

  • mon: 为 paxos 操作添加性能计数器 (Sage Weil)

  • mon: 如果需要,则创建默认 EC 配置文件 (Loic Dachary)

  • mon: 在 loopback 消息和 paxos 超时时修复崩溃 (#9062, Sage Weil)

  • mon: 在 pg_num 调整 OSD 添加之前修复除零错误 (#9101, Sage Weil)

  • mon: fix occasional memory leak after session reset (#9176, Sage Weil)

  • mon: fix ruleset/ruleid bugs (#9044, Loic Dachary)

  • mon: make usage dumps in terms of bytes, not kB (Sage Weil)

  • mon: prevent implicit destruction of OSDs with ‘osd setmaxosd …’ (#8865, Anand Bhat)

  • mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil)

  • msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei)

  • objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil)

  • osd: add local_mtime for use by cache agent (Zhiqiang Wang)

  • osd: add superblock for KeyValueStore backend (Haomai Wang)

  • osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters)

  • osd: do not skip promote for write-ordered reads (#9064, Samuel Just)

  • osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil)

  • osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just)

  • osd: fix discard of old/obsolete subop replies (#9259, Samuel Just)

  • osd: fix discard of peer messages from previous intervals (Greg Farnum)

  • osd: fix dump of open fds on EMFILE (Sage Weil)

  • osd: fix journal dump (Ma Jianpeng)

  • osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil)

  • osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng)

  • osd: fix recovery reservation deadlock for EC pools (Samuel Just)

  • osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng)

  • osd: fix requesting queueing on PG split (Samuel Just)

  • osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil)

  • osd: implement alignment on chunk sizes (Loic Dachary)

  • osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil)

  • osd: locking, sharding, caching improvements in FileStore’s FDCache (Somnath Roy, Greg Farnum)

  • osd: many important bug fixes (Samuel Just)

  • osd, mon: add rocksdb support (Xinxin Shu, Sage Weil)

  • osd, mon: 在集群健康和 PG 状态报告中区分“误放”和“退化”对象 (Sage Weil)

  • osd: 将一些 ErasureCode 功能重构到命令父类中 (Loic Dachary)

  • osd: 在创建时设置 rollback_info_completed (#8625, Samuel Just)

  • rados: 允许从 stdin 读取 setxattr 值 (Sage Weil)

  • rados: 丢弃 getxattr 命令中的无偿 n (Sage Weil)

  • rgw: 添加 --min-rewrite-stripe-size 用于对象重写器 (Yehuda Sadeh)

  • rgw: 添加 powerdns 钩子用于全球集群的动态 DNS (Wido den Hollander)

  • rgw: 如果目标桶位于不同的池中,则复制对象数据 (#9039, Yehuda Sadeh)

  • rgw: 不要尝试对 CORS 预检请求进行身份验证 (#8718, Robert Hubbard, Yehuda Sadeh)

  • rgw: 修复 civetweb URL 解码 (#8621, Yehuda Sadeh)

  • rgw: 在对象创建期间删除对象 (#Patrycja Szablowska, Yehuda Sadeh)

  • rgw: 修复复制对象的条带化 (#9089, Yehuda Sadeh)

  • rgw: 修复识别对象是否具有尾部 (#9226, Yehuda Sadeh)

  • rgw: 修复条带大小不是块大小的倍数时的情况 (#8937, Yehuda Sadeh)

  • rgw: 改进 civetweb 日志记录 (Yehuda Sadeh)

  • rgw: 杂项 civetweb 前端修复 (Yehuda Sadeh)

  • sysvinit: 添加对非默认集群名称的支持 (Alfredo Deza)

v0.84

下一个 Ceph 开发发布已经到来!此发布包含几个重大项目,包括一些用于日志记录的 MDS 改进,能够删除 CephFS 文件系统(并命名),几个与层级池相关的清理,几个 OSD 性能分支,一个新的“读取前向”RADOS 缓存模式,一个基于 Seagate Kinetic 的原型 Kinetic OSD 后端,以及各种 radosgw 改进(尤其是与新独立的 civetweb 前端)。还有无数的 OSD 错误修复。事情看起来相当好,对于下个月即将到来的 Giant 发布。

升级

  • The*_kb perf监控器上的计数器已被移除。这些被替换为一组新的*_bytes计数器(例如,cluster_osd_kbcluster_osd_bytes搜索)。

  • Therd_kbwr_kb替换为ceph df detail -f json-pretty池统计的 JSON 倾倒中的相应*_bytes字段。类似地,total_space, total_used,和total_avail字段被替换为total_bytes, total_used_bytestotal_avail_bytes字段。

  • Therados df --format=json输出read_byteswrite_bytes字段错误地报告了操作;这现在已修复。

  • Therados df --format=json输出以前包括read_kbwrite_kb字段;这些已被移除。请使用read_byteswrite_bytes而不是(如果适当,则除以 1024)。

显著变化

  • ceph-conf: flush log on exit (Sage Weil)

  • ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick)

  • ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness)

  • ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov)

  • cephtool: refactor and improve CLI tests (Joao Eduardo Luis)

  • client: improved MDS session dumps (John Spray)

  • common: fix dup log messages (#9080, Sage Weil)

  • crush: include new tunables in dump (Sage Weil)

  • crush: only require rule features if the rule is used (#8963, Sage Weil)

  • crushtool: send output to stdout, not stderr (Wido den Hollander)

  • fix i386 builds (Sage Weil)

  • fix struct vs class inconsistencies (Thorsten Behrens)

  • hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen)

  • librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang)

  • librbd: fix error path when opening image (#8912, Josh Durgin)

  • mds: add file system name, enabled flag (John Spray)

  • mds: boot refactor, cleanup (John Spray)

  • mds: fix journal conversion with standby-replay (John Spray)

  • mds: separate inode recovery queue (John Spray)

  • mds: session ls, evict commands (John Spray)

  • mds: submit log events in async thread (Yan, Zheng)

  • mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng)

  • mds: validate journal header on load and save (John Spray)

  • misc build fixes for OS X (John Spray)

  • misc integer size cleanups (Kevin Cox)

  • mon: add get-quota commands (Joao Eduardo Luis)

  • mon: do not create file system by default (John Spray)

  • mon: fix ‘ceph df’ output for available space (Xiaoxi Chen)

  • mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis)

  • mon: fix compat version for MForward (Joao Eduardo Luis)

  • mon: restrict some pool properties to tiered pools (Joao Eduardo Luis)

  • msgr: misc locking fixes for fast dispatch (#8891, Sage Weil)

  • osd: add ‘dump_reservations’ admin socket command (Sage Weil)

  • osd: add READFORWARD caching mode (Luis Pabon)

  • osd: add header cache for KeyValueStore (Haomai Wang)

  • osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin)

  • osd: allow map cache size to be adjusted at runtime (Sage Weil)

  • osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy)

  • osd: avoid sharing PG info that is not durable (Samuel Just)

  • osd: clear slow request latency info on osd up/down (Sage Weil)

  • osd: fix PG object listing/ordering bug (Guang Yang)

  • osd: fix PG stat errors with tiering (#9082, Sage Weil)

  • osd: fix bug with long object names and rename (#8701, Sage Weil)

  • osd: fix cache full -> not full requeueing (#8931, Sage Weil)

  • osd: fix gating of messages from old OSD instances (Greg Farnum)

  • osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil)

  • osd: improve locking for KeyValueStore (Haomai Wang)

  • osd: make tiering behave if hit_sets aren’t enabled (Sage Weil)

  • osd: mark pools with incomplete clones (Sage Weil)

  • osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng)

  • osd: prevent old rados clients from using tiered pools (#8714, Sage Weil)

  • osd: reduce OpTracker overhead (Somnath Roy)

  • osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang)

  • osd: trim old EC objects quickly; verify on scrub (Samuel Just)

  • osd: work around GCC 4.8 bug in journal code (Matt Benjamin)

  • rados bench: fix arg order (Kevin Dalley)

  • rados: fix {read,write}_ops values for df output (Sage Weil)

  • rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov)

  • rbd: improve option default behavior (Josh Durgin)

  • rgw: 自动对 EC 池对齐写入 (#8442, Yehuda Sadeh)

  • rgw: 修复 swift CORS 预检请求时的崩溃 (#8586, Yehuda Sadeh)

  • rgw: 修复内存泄漏 (Andrey Kuznetsov)

  • rgw: 修复多部分上传 (#8846, Silvain Munaut, Yehuda Sadeh)

  • rgw: improve -h (Abhishek Lekshmanan)

  • rgw: improve delimited listing of bucket, misc fixes (Yehuda Sadeh)

  • rgw: misc civetweb fixes (Yehuda Sadeh)

  • rgw: powerdns backend for global namespaces (Wido den Hollander)

  • systemd: initial systemd config files (Federico Simoncelli)

v0.83

Another Ceph development release! This has been a longer cycle, so there has been quite a bit of bug fixing and stabilization in this round. There is also a bunch of packaging fixes for RPM distros (RHEL/CentOS, Fedora, and SUSE) and for systemd. We’ve also added a new librados-striper library from Sebastien Ponce that provides a generic striping API for applications to code to.

升级

  • 实验性 keyvaluestore-dev OSD 后端有一个磁盘格式变化,阻止现有 OSD 数据升级。这仅影响开发人员和测试人员。

  • mon-specific 和 osd-specific leveldb 选项已被移除。从这一点开始,用户应使用leveldb_*通用

    leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB

    OSD 将仍然维护以下 osd-specific 默认值:

    leveldb_log = “”

显著变化

  • ceph-disk: fix dmcrypt support (Stephen Taylor)

  • cephtool: fix help (Yilong Zhao)

  • cephtool: test cleanup (Joao Eduardo Luis)

  • doc: librados example fixes (Kevin Dalley)

  • doc: many doc updates (John Wilkins)

  • doc: update erasure docs (Loic Dachary, Venky Shankar)

  • filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just)

  • filestore: fix xattr spillout (Greg Farnum, Haomai Wang)

  • keyvaluestore: header cache (Haomai Wang)

  • librados_striper: striping library for librados (Sebastien Ponce)

  • libs3: update to latest (Danny Al-Gaaf)

  • log: fix derr level (Joao Eduardo Luis)

  • logrotate: fix osd log rotation on ubuntu (Sage Weil)

  • mds: fix xattr bug triggered by ACLs (Yan, Zheng)

  • misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui)

  • misc suse fixes (Danny Al-Gaaf)

  • misc word size fixes (Kevin Cox)

  • mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis)

  • mon: ec pool profile fixes (Loic Dachary)

  • mon: 修复健康下降消息 (Sage Weil)

  • mon: 修复 quorum 功能检查 (#8738, Greg Farnum)

  • mon: ‘osd crush reweight-subtree …’ (Sage Weil)

  • mon, osd: 放宽客户端 EC 支持要求 (Sage Weil)

  • mon: some instrumentation (Sage Weil)

  • objecter: flag operations that are redirected by caching (Sage Weil)

  • osd: clean up shard_id_t, shard_t (Loic Dachary)

  • osd: fix connection reconnect race (Greg Farnum)

  • osd: fix dumps (Joao Eduardo Luis)

  • osd: fix erasure-code lib initialization (Loic Dachary)

  • osd: fix extent normalization (Adam Crume)

  • osd: fix loopback msgr issue (Ma Jianpeng)

  • osd: fix LSB release parsing (Danny Al-Gaaf)

  • osd: improved backfill priorities (Sage Weil)

  • osd: many many core fixes (Samuel Just)

  • osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis)

  • osd: sharded threadpool to improve parallelism (Somnath Roy)

  • osd: simple io prioritization for scrub (Sage Weil)

  • osd: simple scrub throttling (Sage Weil)

  • osd: tests for bench command (Loic Dachary)

  • osd: use xfs hint less frequently (Ilya Dryomov)

  • pybind/rados: fix small timeouts (John Spray)

  • qa: xfstests updates (Ilya Dryomov)

  • rgw: 缓存桶信息 (Yehuda Sadeh)

  • rgw: 缓存解码的用户信息 (Yehuda Sadeh)

  • rgw: 修复多对象 PUT 竞态 (#8452, Yehuda Sadeh)

  • rgw: 修复 radosgw-admin “显示日志”命令 (#8553, Yehuda Sadeh)

  • rgw: 修复 URL 解码 (#8702, Brian Rak)

  • rgw: 处理空额外池名 (Yehuda Sadeh)

  • rpm: do not restart daemons on upgrade (Alfredo Deza)

  • rpm: misc packaging fixes for rhel7 (Sandon Van Ness)

  • rpm: split ceph-common from ceph (Sandon Van Ness)

  • systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick)

  • sysvinit: 对失败不太敏感 (Sage Weil)

  • upstart: 增加最大打开文件限制 (Sage Weil)

v0.82

This is the second post-firefly development release. It includes a range of bug fixes and some usability improvements. There are some MDS debugging and diagnostic tools, an improved ‘ceph df’, and some OSD backend refactoring and cleanup.

显著变化

  • ceph-brag: add tox tests (Alfredo Deza)

  • common: perfcounters now use atomics and go faster (Sage Weil)

  • doc: CRUSH updates (John Wilkins)

  • doc: osd primary affinity (John Wilkins)

  • doc: pool quotas (John Wilkins)

  • doc: pre-flight doc improvements (Kevin Dalley)

  • doc: switch to an unencumbered font (Ross Turk)

  • doc: update openstack docs (Josh Durgin)

  • fix hppa arch build (Dmitry Smirnov)

  • init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil)

  • keyvaluestore: fix hint crash (#8381, Haomai Wang)

  • libcephfs-java: build against older JNI headers (Greg Farnum)

  • librados: fix rados_pool_list bounds checks (Sage Weil)

  • mds: cephfs-journal-tool (John Spray)

  • mds: improve Journaler on-disk format (John Spray)

  • mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil)

  • mds: misc encoding improvements (John Spray)

  • mds: misc fixes for multi-mds (Yan, Zheng)

  • mds: OPTracker integration, dump_ops_in_flight (Greg Farnum)

  • misc cleanup (Christophe Courtaut)

  • mon: fix default replication pool ruleset choice (#8373, John Spray)

  • mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz)

  • mon: include per-pool ‘max avail’ in df output (Sage Weil)

  • mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis)

  • mon: restore original weight when auto-marked out OSDs restart (Sage Weil)

  • mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov)

  • osd: fix bogus assert during OSD shutdown (Sage Weil)

  • osd: fix clone deletion case (#8334, Sam Just)

  • osd: fix filestore removal corner case (#8332, Sam Just)

  • osd: fix hang waiting for osdmap (#8338, Greg Farnum)

  • osd: fix interval check corner case during peering (#8104, Sam Just)

  • osd: fix journal-less operation (Sage Weil)

  • osd: include backend information in metadata reported to mon (Sage Weil)

  • rest-api: fix help (Ailing Zhang)

  • rgw: 检查 put_metadata 的实体权限 (#8428, Yehuda Sadeh)

v0.81

This is the first development release since Firefly. It includes a lot of work that we delayed merging while stabilizing things. Lots of new functionality, as well as several fixes that are baking a bit before getting backported.

升级

  • CephFS support for the legacy anchor table has finally been removed. Users with file systems created before firefly should ensure that inodes with multiple hard links are modified prior to the upgrade to ensure that the backtraces are written properly. For example:

    sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \;
    
  • Disallow nonsensical ‘tier cache-mode’ transitions. From this point onward, ‘writeback’ can only transition to ‘forward’ and ‘forward’ can transition to 1) ‘writeback’ if there are dirty objects, or 2) any if there are no dirty objects.

显著变化

  • bash completion improvements (Wido den Hollander)

  • brag: fixes, improvements (Loic Dachary)

  • ceph-disk: handle corrupt volumes (Stuart Longlang)

  • ceph-disk: partprobe as needed (Eric Eastman)

  • ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng)

  • ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil)

  • clang build fixes (John Spray, Danny Al-Gaaf)

  • config: support G, M, K, etc. suffixes (Joao Eduardo Luis)

  • coverity cleanups (Danny Al-Gaaf)

  • doc: cache tiering (John Wilkins)

  • doc: keystone integration docs (John Wilkins)

  • doc: updated simple configuration guides (John Wilkins)

  • libcephfs-java: fix gcj-jdk build (Dmitry Smirnov)

  • librbd: check error code on cache invalidate (Josh Durgin)

  • librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov)

  • Makefile: fix out of source builds (Stefan Eilemann)

  • mds: multi-mds fixes (Yan, Zheng)

  • mds: remove legacy anchor table (Yan, Zheng)

  • mds: remove legacy discover ino (Yan, Zheng)

  • monclient: fix hang (Sage Weil)

  • mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis)

  • msgr: avoid big lock when sending (most) messages (Greg Farnum)

  • osd: bound osdmap epoch skew between PGs (Sage Weil)

  • osd: cache tier flushing fixes for snapped objects (Samuel Just)

  • osd: fix agent early finish looping (David Zafman)

  • osd: fix flush vs OpContext (Samuel Just)

  • osd: fix MarkMeDown and other shutdown races (Sage Weil)

  • osd: fix scrub vs cache bugs (Samuel Just)

  • osd: fix trim of hitsets (Sage Weil)

  • osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just)

  • osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil)

  • osd: remove obsolete classic scrub code (David Zafman)

  • osd: scrub PGs with invalid stats (Sage Weil)

  • osd: simple snap trimmer throttle (Sage Weil)

  • osd: use FIEMAP to inform copy_range (Haomai Wang)

  • rbd-fuse: allow exposing single image (Stephen Taylor)

  • rbd-fuse: fix unlink (Josh Durgin)

  • removed mkcephfs (deprecated since dumpling)

  • rgw: 桶链接使用实例 ID (Yehuda Sadeh)

  • rgw: 修复在块读取错误后内存泄漏 (Yehuda Sadeh)

  • rgw: 修复 URL 转义 (Yehuda Sadeh)

  • rgw: 修复用户清单 (Yehuda Sadeh)

  • rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh)

  • rgw: prevent multiobject PUT race (Yehuda Sadeh)

  • rgw: send user manifest header (Yehuda Sadeh)

  • test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov)

由 Ceph 基金会提供

Ceph 文档是一个由非盈利Ceph 基金会资助和托管的社会资源。。如果您想支持此项目和其他工作,请考虑现在加入.