Ceph 9.0.0 发布,分布式文件系统

efbb 10年前

Ceph 9.0.0 发布,这是 Infernalis 周期的第一个开发版本,而且也是 Ceph 版本发布采用另一个版本号模式的第一个版本。“9” 代表这是第 9 个 cycle-I(Infernalis),I 是第九个字母。第一个 “0”表示这是一个开发版本(“1” 表示候选版本, “2”表示稳定版本),最后一个 “0” 表示这个这个开发版本的第一个版本。

值得关注的改进如下:

  • 新的 ‘ceph daemonperf’命令,用来实时查看 perfcounter 统计数据

  • 降低 MDS 内存使用

  • 大量的 MDS 快照修复

  • 在图像自身 librbd 可以存储选项

  • RGW Swift API 支持方面的大量修复

  • OSD 性能提升

  • 大量文档更新和小的 bug 修复

NOTABLE CHANGES

  • aarch64: add optimized version of crc32c (Yazen Ghannam, Steve Capper)

  • auth: reinit NSS after fork() (#11128 Yan, Zheng)

  • build: disable LTTNG by default (#11333 Josh Durgin)

  • build: fix ppc build (James Page)

  • build: install-deps: support OpenSUSE (Loic Dachary)

  • build: misc cmake fixes (Matt Benjamin)

  • ceph-disk: follow ceph-osd hints when creating journal (#9580 Sage Weil)

  • ceph-disk: handle re-using existing partition (#10987 Loic Dachary)

  • ceph-disk: improve parted output parsing (#10983 Loic Dachary)

  • ceph-disk: make suppression work for activate-all and activate-journal (Dan van der Ster)

  • ceph-disk: misc fixes (Alfredo Deza)

  • ceph-fuse, libcephfs: don’t clear COMPLETE when trimming null (Yan, Zheng)

  • ceph-fuse, libcephfs: hold exclusive caps on dirs we “own” (#11226 Greg Farnum)

  • ceph-fuse: do not require successful remount when unmounting (#10982 Greg Farnum)

  • ceph: new ‘ceph daemonperf’ command (John Spray, Mykola Golub)

  • common: PriorityQueue tests (Kefu Chai)

  • common: add descriptions to perfcounters (Kiseleva Alyona)

  • common: fix LTTNG vs fork issue (Josh Durgin)

  • crush: fix has_v4_buckets (#11364 Sage Weil)

  • crushtool: fix order of operations, usage (Sage Weil)

  • debian: minor package reorg (Ken Dreyer)

  • doc: docuemnt object corpus generation (#11099 Alexis Normand)

  • doc: fix gender neutrality (Alexandre Maragone)

  • doc: fix install doc (#10957 Kefu Chai)

  • doc: fix sphinx issues (Kefu Chai)

  • doc: mds data structure docs (Yan, Zheng)

  • doc: misc updates (Nilamdyuti Goswami, Vartika Rai, Florian Haas, Loic Dachary, Simon Guinot, Andy Allan, Alistair Israel, Ken Dreyer, Robin Rehu, Lee Revell, Florian Marsylle, Thomas Johnson, Bosse Klykken, Travis Rhoden, Ian Kelling)

  • doc: swift tempurls (#10184 Abhishek Lekshmanan)

  • doc: switch doxygen integration back to breathe (#6115 Kefu Chai)

  • erasure-code: update ISA-L to 2.13 (Yuan Zhou)

  • gmock: switch to submodule (Danny Al-Gaaf, Loic Dachary)

  • hadoop: add terasort test (Noah Watkins)

  • java: fix libcephfs bindings (Noah Watkins)

  • libcephfs,ceph-fuse: fix request resend on cap reconnect (#10912 Yan, Zheng)

  • librados: define C++ flags from C constants (Josh Durgin)

  • librados: fix last_force_resent handling (#11026 Jianpeng Ma)

  • librados: fix memory leak from C_TwoContexts (Xiong Yiliang)

  • librados: fix striper when stripe_count = 1 and stripe_unit != object_size (#11120 Yan, Zheng)

  • librados: op perf counters (John Spray)

  • librados: pybind: fix write() method return code (Javier Guerra)

  • libradosstriper: fix leak (Danny Al-Gaaf)

  • librbd: add purge_on_error cache behavior (Jianpeng Ma)

  • librbd: misc aio fixes (#5488 Jason Dillaman)

  • librbd: misc rbd fixes (#11478 #11113 #11342 #11380 Jason Dillaman, Zhiqiang Wang)

  • librbd: readahead fixes (Zhiqiang Wang)

  • librbd: store metadata, including config options, in image (Haomai Wang)

  • mds: add ‘damaged’ state to MDSMap (John Spray)

  • mds: add nicknames for perfcounters (John Spray)

  • mds: disable problematic rstat propagation into snap parents (Yan, Zheng)

  • mds: fix mydir replica issue with shutdown (#10743 John Spray)

  • mds: fix out-of-order messages (#11258 Yan, Zheng)

  • mds: fix shutdown with strays (#10744 John Spray)

  • mds: fix snapshot fixes (Yan, Zheng)

  • mds: fix stray handling (John Spray)

  • mds: flush immediately in do_open_truncate (#11011 John Spray)

  • mds: improve dump methods (John Spray)

  • mds: misc journal cleanups and fixes (#10368 John Spray)

  • mds: new SessionMap storage using omap (#10649 John Spray)

  • mds: reduce memory consumption (Yan, Zheng)

  • mds: throttle purge stray operations (#10390 John Spray)

  • mds: tolerate clock jumping backwards (#11053 Yan, Zheng)

  • misc coverity fixes (Danny Al-Gaaf)

  • mon: do not deactivate last mds (#10862 John Spray)

  • mon: make osd get pool ‘all’ only return applicable fields (#10891 Michal Jarzabek)

  • mon: warn on bogus cache tier config (Jianpeng Ma)

  • msg/async: misc bug fixes and updates (Haomai Wang)

  • msg/simple: fix connect_seq assert (Haomai Wang)

  • msg/xio: misc fixes (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham)

  • msg: unit tests (Haomai Wang)

  • objectcacher: misc bug fixes (Jianpeng Ma)

  • os/filestore: enlarge getxattr buffer size (Jianpeng Ma)

  • osd: EIO injection (David Zhang)

  • osd: add misc perfcounters (Xinze Chi)

  • osd: add simple sleep injection in recovery (Sage Weil)

  • osd: allow SEEK_HOLE/SEEK_DATA for sparse read (Zhiqiang Wang)

  • osd: avoid dup omap sets for in pg metadata (Sage Weil)

  • osd: clean up some constness, privateness (Kefu Chai)

  • osd: erasure-code: drop entries according to LRU (Andreas-Joachim Peters)

  • osd: fix negative degraded stats during backfill (Guang Yang)

  • osd: misc fixes (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma)

  • pybind: pep8 cleanups (Danny Al-Gaaf)

  • qa: fix filelock_interrupt.py test (Yan, Zheng)

  • qa: improve ceph-disk tests (Loic Dachary)

  • qa: improve docker build layers (Loic Dachary)

  • rados: translate erno to string in CLI (#10877 Kefu Chai)

  • rbd: accept map options config option (Ilya Dryomov)

  • rbd: cli: fix arg parsing with –io-pattern (Dmitry Yatsushkevich)

  • rbd: fix error messages (#2862 Rajesh Nambiar)

  • rbd: update rbd man page (Ilya Dryomov)

  • rbd: update xfstests tests (Douglas Fuller)

  • rgw: add X-Timestamp for Swift containers (#10938 Radoslaw Zarzynski)

  • rgw: add missing headers to Swift container details (#10666 Ahmad Faheem, Dmytro Iurchenko)

  • rgw: add stats to headers for account GET (#10684 Yuan Zhou)

  • rgw: do not prefecth data for HEAD requests (Guang Yang)

  • rgw: don’t clobber bucket/object owner when setting ACLs (#10978 Yehuda Sadeh)

  • rgw: don’t use rgw_socket_path if frontend is configured (#11160 Yehuda Sadeh)

  • rgw: enforce Content-Lenth for POST on Swift cont/obj (#10661 Radoslaw Zarzynski)

  • rgw: fix handling empty metadata items on Swift container (#11088 Radoslaw Zarzynski)

  • rgw: fix log rotation (Wuxingyi)

  • rgw: generate Date header for civetweb (#10873 Radoslaw Zarzynski)

  • rgw: make init script wait for radosgw to stop (#11140 Dmitry Yatsushkevich)

  • rgw: make quota/gc threads configurable (#11047 Guang Yang)

  • rgw: pass in civetweb configurables (#10907 Yehuda Sadeh)

  • rgw: rectify 202 Accepted in PUT response (#11148 Radoslaw Zarzynski)

  • rgw: remove meta file after deleting bucket (#11149 Orit Wasserman)

  • rgw: swift: allow setting attributes with COPY (#10662 Ahmad Faheem, Dmytro Iurchenko)

  • rgw: swift: fix metadata handling on copy (#10645 Radoslaw Zarzynski)

  • rgw: swift: send Last-Modified header (#10650 Radoslaw Zarzynski)

  • rgw: update keystone cache with token info (#11125 Yehuda Sadeh)

  • rgw: update to latest civetweb, enable config for IPv6 (#10965 Yehuda Sadeh)

  • rocksdb: update to latest (Xiaoxi Chen)

  • rpm: loosen ceph-test dependencies (Ken Dreyer)

获取 CEPH

更多内容请看发行说明

Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。2010年3 月,Linus Torvalds将Ceph client合并到内 核2.6.34中。IBM开发者园地的一篇文章 探讨了Ceph的架构,它的容错实现和简化海量数据管理的功能。

Ceph 中文文档:http://docs.openfans.org/ceph

Ceph 的 4 个模块:

Ceph 9.0.0 发布,分布式文件系统