v0.93 Hammer release candidate 发布
sage
这是 Hammer 的第一个发布候选版本,包含所有将在最终版本中存在的特性。我们欢迎并鼓励在非生产集群中进行任何和所有的测试,以便在最终 Hammer 版本发布之前识别功能、稳定性或性能方面的问题。
我们建议在 librbd 方面谨慎一些。其中围绕对象映射和锁定的许多新功能默认情况下被禁用,但仍然可能影响现有镜像的稳定性。我们正在继续修复这些错误,以便最终的 Hammer 版本(可能为 v0.94)将非常稳定。
自 Giant 以来的主要特性包括
- cephfs:journal scavenger 修复工具 (John Spray)
- crush:新的改进的 straw2 bucket 类型 (Sage Weil, Christina Anderson, Xiaoxi Chen)
- doc:改进了 CephFS 早期采用者的指导 (John Spray)
- librbd:添加了用于提高性能的每个镜像对象映射 (Jason Dillaman)
- librbd:Copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng)
- librados:fadvise 风格的 IO 提示 (Jianpeng Ma)
- mds:许多快照相关的修复 (Yan, Zheng)
- mon:新的 ‘ceph osd df’ 命令 (Mykola Golub)
- mon:新的 ‘ceph pg ls ...’ 命令 (Xinxin Shu)
- osd:针对高性能后端改进了性能
- osd:改进了恢复行为 (Samuel Just)
- osd:改进了带有读取的缓存层行为 (Zhiqiang Wang)
- rgw:S3 兼容的 bucket 版本控制支持 (Yehuda Sadeh)
- rgw:大型 bucket 索引分片 (Guang Yang, Yehuda Sadeh)
- RDMA “xio” messenger 支持 (Matt Benjamin, Vu Pham)
升级 ¶
- 从 firefly 或 giant 升级时没有特殊限制
值得注意的更改 ¶
- build:CMake 支持 (Ali Maredia, Casey Bodley, Adam Emerson, Marcus Watts, Matt Benjamin)
- ceph-disk:如果需要加密,则不要重用分区 (Loic Dachary)
- ceph-disk:支持 LUKS 用于加密分区 (Andrew Bartlett, Loic Dachary)
- ceph-fuse,libcephfs:添加对 O_NOFOLLOW 和 O_PATH 的支持 (Greg Farnum)
- ceph-fuse,libcephfs:在完成 cap 重连之前重新发送请求 (#10912 Yan, Zheng)
- ceph-fuse:根据内核版本选择内核缓存失效机制 (Greg Farnum)
- ceph-objectstore-tool:改进了导入 (David Zafman)
- ceph-objectstore-tool:杂项改进,修复 (#9870 #9871 David Zafman)
- ceph:添加 ‘ceph osd df [tree]’ 命令 (#10452 Mykola Golub)
- ceph:修复 ‘ceph tell ...’ 命令验证 (#10439 Joao Eduardo Luis)
- ceph:改进 ‘ceph osd tree’ 输出 (Mykola Golub)
- cephfs-journal-tool:添加 recover_dentries 函数 (#9883 John Spray)
- common:在刷新后的 json 输出中添加换行符 (Sage Weil)
- common:过滤 ‘perf dump’ (John Spray)
- common:修复 Formatter factory 损坏 (#10547 Loic Dachary)
- common:使 json-pretty 输出更漂亮 (Sage Weil)
- crush:新的改进的 straw2 bucket 类型 (Sage Weil, Christina Anderson, Xiaoxi Chen)
- crush:更新 indep 规则的 tries 统计信息 (#10349 Loic Dachary)
- crush:对 erasure code 规则集使用更大的 choose_tries 值 (#10353 Loic Dachary)
- debian,rpm:将 RBD udev 规则移动到 ceph-common (#10864 Ken Dreyer)
- debian:将 python-ceph 分割为 python-{rbd,rados,cephfs} (Boris Ranto)
- doc:CephFS 灾难恢复指南 (John Spray)
- doc:CephFS 早期采用者 (John Spray)
- doc:修复 OpenStack Glance 文档 (#10478 Sebastien Han)
- doc:杂项更新 (#9793 #9922 #10204 #10203 Travis Rhoden, Hazem, Ayari, Florian Coste, Andy Allan, Frank Yu, Baptiste Veuillez-Mainard, Yuan Zhou, Armando Segnini, Robert Jansen, Tyler Brekke, Viktor Suprun)
- doc:将 cloudfiles 替换为 swiftclient Python Swift 示例 (Tim Freund)
- erasure-code:添加 mSHEC erasure code 支持 (Takeshi Miyamae)
- erasure-code:改进文档 (#10340 Loic Dachary)
- erasure-code:将 max_size 设置为 20 (#10363 Loic Dachary)
- libcephfs,ceph-fuse:修复获取零长度 xattr (#10552 Yan, Zheng)
- librados:添加 blacklist_add 方便方法 (Jason Dillaman)
- librados:在 C API 中公开 rados_{read|write}_op_assert_version (Kim Vandry)
- librados:修复池名称缓存 (#10458 Radoslaw Zarzynski)
- librados:修复资源泄漏,杂项错误 (#10425 Radoslaw Zarzynski)
- librados:修复某些 watch/notify 锁定 (Jason Dillaman, Josh Durgin)
- libradosstriper:修复 ENOENT 时的 write_full (#10758 Sebastien Ponce)
- librbd:RBD 镜像映射的 CRC 保护 (Jason Dillaman)
- librbd:添加了用于提高性能的每个镜像对象映射 (Jason Dillaman)
- librbd:添加支持“对象映射”,指示哪些对象存在 (Jason Dillaman)
- librbd:调整内部锁定 (Josh Durgin, Jason Dillaman)
- librbd:更好地处理 watch 错误 (Jason Dillaman)
- librbd:通过锁所有者协调维护操作 (Jason Dillaman)
- librbd:Copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng, Jason Dillaman)
- librbd:使用快照强制写入顺序 (Jason Dillaman)
- librbd:fadvise 风格的提示;为某些操作添加杂项提示 (Jianpeng Ma)
- librbd:修复 coverity 误报 (Jason Dillaman)
- librbd:修复 snap 创建竞争条件 (Jason Dillaman)
- librbd:异步刷新 AIO 操作 (#10714 Jason Dillaman)
- librbd:使长时间维护操作的异步版本 (Jason Dillaman)
- librbd:mock 测试 (Jason Dillaman)
- librbd:在断开锁之前,可选地将客户端列入黑名单 (#10761 Jason Dillaman)
- librbd:防止在收缩期间复制 (Jason Dillaman)
- mds:添加 cephfs-table-tool (John Spray)
- mds:避免在大多数情况下发送无痕回复 (Yan, Zheng)
- mds:导出 dir asok 命令 (John Spray)
- mds:修复 stray/purge perfcounters (#10388 John Spray)
- mds: 在关闭期间处理 heartbeat_reset (#10382 John Spray)
- mds:许多快照相关的修复 (Yan, Zheng)
- mds:重构,改进 Session 存储 (John Spray)
- misc coverity 修复 (Danny Al-Gaaf)
- mon:为某些 mon 命令添加 noforward 标志 (Mykola Golub)
- mon:不允许空池名称 (#10555 Wido den Hollander)
- mon: 不要停用最后一个 MDS (#10862 John Spray)
- mon:删除旧的 ceph_mon_store_converter (Sage Weil)
- mon:修复 ‘ceph pg dump_stuck degraded’ (Xinxin Shu)
- mon:修复 ‘profile osd’ 在 mon 上使用 config-key 函数 (#10844 Joao Eduardo Luis)
- mon:修复 mkfs 期间的 feature 跟踪 (Joao Eduardo Luis)
- mon:修复选举期间的 feature 跟踪 (Joao Eduardo Luis)
- mon:修复 mds gid/rank/state 解析 (John Spray)
- mon:忽略来自 up_from 之前的故障报告 (#10762 Dan van der Ster, Sage Weil)
- mon:改进了损坏 CRUSH 映射的检测 (Joao Eduardo Luis)
- mon:在 osdmap 摘要中包含 pg_temp 计数 (Sage Weil)
- mon:将健康摘要记录到集群日志 (#9440 Joao Eduardo Luis)
- mon:使 ‘mds fail’ 幂等 (John Spray)
- mon:使 pg dump {sum,pgs,pgs_brief} 适用于 format=plain (#5963 #6759 Mykola Golub)
- mon:新的池安全标志 nodelete, nopgchange, nosizechange (#9792 Mykola Golub)
- mon:新的、友好的 ‘ceph pg ls ...’ 命令 (Xinxin Shu)
- mon:防止 MDS 从 STOPPING 状态过渡 (#10791 Greg Farnum)
- mon:建议一次性处理所有待处理的工作 (Sage Weil)
- mon:删除不存在池的 pg_temps (Joao Eduardo Luis)
- mon:需要 mon_allow_pool_delete 选项才能删除池 (Sage Weil)
- mon:将 globalid 预分配值设置为更大的值 (Sage Weil)
- mon:跳过 get_rule_avail 中的零化 osd 统计信息 (#10257 Joao Eduardo Luis)
- mon:验证 min_size 范围 (Jianpeng Ma)
- msgr:async:将线程绑定到 CPU 核心,改进轮询 (Haomai Wang)
- msgr:修复 crc 配置 (Mykola Golub)
- msgr:杂项单元测试 (Haomai Wang)
- msgr:xio:XioMessenger RDMA 支持 (Casey Bodley, Vu Pham, Matt Benjamin)
- osd, librados:fadvise 风格的 librados 提示 (Jianpeng Ma)
- osd, librados:修复 xattr_cmp_u64 (Dongmao Zhang)
- osd,mon:添加 ‘norebalance’ 标志 (Kefu Chai)
- osd,mon:在 MOSDBoot 中显式指定 OSD 特性 (#10911 Sage Weil)
- osd:添加选项以优先处理心跳网络流量 (Jian Wen)
- osd:添加对 SHEC erasure-code 算法的支持 (Takeshi Miyamae, Loic Dachary)
- osd:允许在低于 min_size 时恢复 (Samuel Just)
- osd:允许在少于 min_size OSD 的情况下恢复 (Samuel Just)
- osd:允许对降级对象进行写入 (Samuel Just)
- osd:允许对降级对象进行写入 (Samuel Just)
- osd:避免发布未更改的 PG 统计信息 (Sage Weil)
- osd:缓存最近的 ObjectContexts (Dong Yuan)
- osd:在间隔更改时清除缓存 (Samuel Just)
- osd:除非目标 OSD 是新的,否则不要代理读取 (#10788 Sage Weil)
- osd:修复不一致对象上的摘要更新 (#10524 Samuel Just)
- osd:不要为 snapdirs 记录摘要 (#10536 Samuel Just)
- osd:修复 OSDCap 解析器在旧的 (el6) boost::spirit 上 (#10757 Kefu Chai)
- osd:修复 el6 上的 OSDCap 解析 (#10757 Kefu Chai)
- osd:修复 ObjectStore::Transaction 编码版本 (#10734 Samuel Just)
- osd:修复修复期间的 auth 对象选择 (#10524 Samuel Just)
- osd:修复挂起的摘要更新错误 (#10840 Samuel Just)
- osd:修复 cancel_proxy_read_ops (Sage Weil)
- osd:修复中断的 pg 删除清理 (#10617 Sage Weil)
- osd:修复 journal 包装错误 (#10883 David Zafman)
- osd:修复 SnapTrimWQ 中的泄漏 (#10421 Kefu Chai)
- osd:修复 memstore 剩余空间计算 (Xiaoxi Chen)
- osd:修复混合版本对等问题 (Samuel Just)
- osd:修复对象摘要更新错误 (#10840 Samuel Just)
- osd:修复排序问题与新的事务编码 (#10534 Dong Yuan)
- osd:修复 past_interval 生成 (#10427 #10430 David Zafman)
- osd:修复 push 上的短读取处理 (#8121 David Zafman)
- osd:修复 watch 超时缓存状态更新 (#10784 David Zafman)
- osd:强制执行 watch/notify 操作的异步处理 (Zhiqiang Wang)
- osd:改进缓存提升/降级跨度的幂等性检测 (#8935 Sage Weil, Samuel Just)
- osd:包含激活对等项到 blocked_by (#10477 Sage Weil)
- osd:jerasure 和 gf-complete 更新来自上游 (#10216 Loic Dachary)
- osd:journal:检查 fsync/fdatasync 结果 (Jianpeng Ma)
- osd:journal:修复关闭时的挂起 (#10474 David Zafman)
- osd:journal:修复 header.committed_up_to (Xinze Chi)
- osd:journal:初始化节流 (Ning Yao)
- osd:journal:杂项错误修复 (#6003 David Zafman, Samuel Just)
- osd:杂项清理 (Xinze Chi, Yongyue Sun)
- osd:新的 ‘activating’ 状态介于对等和活动之间 (Sage Weil)
- osd:保留用于提升/降级幂等性检查的 reqids (Sage Weil, Zhiqiang Wang, Samuel Just)
- osd:删除死锁代码 (Xinxin Shu)
- osd:限制 scrub 到一天中的特定时间 (Xinze Chi)
- osd:rocksdb:修复关闭 (Hoamai Wang)
- pybind:修复 librados 绑定中的内存泄漏 (Billy Olsen)
- qa:修复 mds 测试 (#10539 John Spray)
- qa:忽略 rados ls 中的重复项 (Josh Durgin)
- qa:改进 hadoop 测试 (Noah Watkins)
- qa:重新组织 fs 配额测试 (Greg Farnum)
- rados:修复用法 (Jianpeng Ma)
- radosgw-admin:添加 replicalog 更新命令 (Yehuda Sadeh)
- rbd-fuse:关闭时清理 (Josh Durgin)
- rbd:添加 ‘merge-diff’ 函数 (MingXin Liu, Yunchuan Wen, Li Wang)
- rbd:修复镜像导入时的缓冲区处理 (#10590 Jason Dillaman)
- rbd:默认情况下让 exclusive lockin goff (Jason Dillaman)
- rbd:更新 init-rbdmap 以修复 dup mount point (Karel Striegel)
- rbd:对导入、导出和基准测试操作使用 IO 提示 (#10462 Jason Dillaman)
- rbd_recover_tool:RBD 镜像恢复工具 (Min Chen)
- rgw:S3 风格的对象版本控制支持 (Yehuda Sadeh)
- rgw:检查 S3 POST 请求的 keystone 身份验证 (#10062 Abhishek Lekshmanan)
- rgw:扩展 replica log API (purge-all) (Yehuda Sadeh)
- rgw:如果未配置 keystone,则对 S3 POST 失败 (#10688 Valery Tschopp, Yehuda Sadeh)
- rgw:修复 get ACL 请求的 XML 标头 (#10106 Yehuda Sadeh)
- rgw:修复带有数据清除的 bucket 删除 (Yehuda Sadeh)
- rgw:修复 replica log 索引 (#8251 Yehuda Sadeh)
- rgw:修复 swift 元数据标头名称 (Dmytro Iurchenko)
- rgw:删除 multipart 条目在 abort 上的 bucket 索引 (#10719 Yehuda Sadeh)
- rgw:对 POST on containers 响应 204 (#10667 Yuan Zhou)
- rgw:重用 fcgx 连接结构 (#10194 Yehuda Sadeh)
- rgw:支持多个主机名 (#7467 Yehuda Sadeh)
- rgw:swift:转储 container 的自定义元数据 (#10665 Ahmad Faheem, Dmytro Iurchenko)
- rgw:swift:支持响应格式的 Accept 标头 (#10746 Dmytro Iurchenko)
- rgw:swift:支持 X-Remove-Container-Meta-{key} (#10475 Dmytro Iurchenko)
- rpm:将 rgw logrotate 移动到 radosgw 子包 (Ken Dreyer)
- tests:centos-6 dockerfile (#10755 Loic Dachary)
- 测试:共享缓存的单元测试 (Dong Yuan)
- vstart.sh:与 cmake 配合使用 (Yehuda Sadeh)