此版本最需要关注的是 librbd 模块,此模块添加了大量新功能,特别是对象映射,默认禁用 locking。之后还可能会发布一些 bug 修复版本(Ceph v0.94)才会发布最终版本。
build: CMake support (Ali Maredia, Casey Bodley, Adam Emerson, Marcus Watts, Matt Benjamin)
ceph-disk: do not re-use partition if encryption is required (Loic Dachary)
ceph-disk: support LUKS for encrypted partitions (Andrew Bartlett, Loic Dachary)
ceph-fuse,libcephfs: add support for O_NOFOLLOW and O_PATH (Greg Farnum)
ceph-fuse,libcephfs: resend requests before completing cap reconnect (#10912 Yan, Zheng)
ceph-fuse: select kernel cache invalidation mechanism based on kernel version (Greg Farnum)
ceph-objectstore-tool: improved import (David Zafman)
ceph-objectstore-tool: misc improvements, fixes (#9870 #9871 David Zafman)
ceph: add ‘ceph osd df [tree]’ command (#10452 Mykola Golub)
ceph: fix ‘ceph tell …’ command validation (#10439 Joao Eduardo Luis)
ceph: improve ‘ceph osd tree’ output (Mykola Golub)
cephfs-journal-tool: add recover_dentries function (#9883 John Spray)
common: add newline to flushed json output (Sage Weil)
common: filtering for ‘perf dump’ (John Spray)
common: fix Formatter factory breakage (#10547 Loic Dachary)
common: make json-pretty output prettier (Sage Weil)
crush: new and improved straw2 bucket type (Sage Weil, Christina Anderson, Xiaoxi Chen)
crush: update tries stats for indep rules (#10349 Loic Dachary)
crush: use larger choose_tries value for erasure code rulesets (#10353 Loic Dachary)
debian,rpm: move RBD udev rules to ceph-common (#10864 Ken Dreyer)
debian: split python-ceph into python-{rbd,rados,cephfs} (Boris Ranto)
doc: CephFS disaster recovery guidance (John Spray)
doc: CephFS for early adopters (John Spray)
doc: fix OpenStack Glance docs (#10478 Sebastien Han)
doc: misc updates (#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: replace cloudfiles with swiftclient Python Swift example (Tim Freund)
erasure-code: add mSHEC erasure code support (Takeshi Miyamae)
erasure-code: improved docs (#10340 Loic Dachary)
erasure-code: set max_size to 20 (#10363 Loic Dachary)
libcephfs,ceph-fuse: fix getting zero-length xattr (#10552 Yan, Zheng)
librados: add blacklist_add convenience method (Jason Dillaman)
librados: expose rados_{read|write}_op_assert_version in C API (Kim Vandry)
librados: fix pool name caching (#10458 Radoslaw Zarzynski)
librados: fix resource leak, misc bugs (#10425 Radoslaw Zarzynski)
librados: fix some watch/notify locking (Jason Dillaman, Josh Durgin)
libradosstriper: fix write_full when ENOENT (#10758 Sebastien Ponce)
librbd: CRC protection for RBD image map (Jason Dillaman)
librbd: add per-image object map for improved performance (Jason Dillaman)
librbd: add support for an “object map” indicating which objects exist (Jason Dillaman)
librbd: adjust internal locking (Josh Durgin, Jason Dillaman)
librbd: better handling of watch errors (Jason Dillaman)
librbd: coordinate maint operations through lock owner (Jason Dillaman)
librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng, Jason Dillaman)
librbd: enforce write ordering with a snapshot (Jason Dillaman)
librbd: fadvise-style hints; add misc hints for certain operations (Jianpeng Ma)
librbd: fix coverity false-positives (Jason Dillaman)
librbd: fix snap create races (Jason Dillaman)
librbd: flush AIO operations asynchronously (#10714 Jason Dillaman)
librbd: make async versions of long-running maint operations (Jason Dillaman)
librbd: mock tests (Jason Dillaman)
librbd: optionally blacklist clients before breaking locks (#10761 Jason Dillaman)
librbd: prevent copyup during shrink (Jason Dillaman)
mds: add cephfs-table-tool (John Spray)
mds: avoid sending traceless replies in most cases (Yan, Zheng)
mds: export dir asok command (John Spray)
mds: fix stray/purge perfcounters (#10388 John Spray)
mds: handle heartbeat_reset during shutdown (#10382 John Spray)
mds: many many snapshot-related fixes (Yan, Zheng)
mds: refactor, improve Session storage (John Spray)
misc coverity fixes (Danny Al-Gaaf)
mon: add noforward flag for some mon commands (Mykola Golub)
mon: disallow empty pool names (#10555 Wido den Hollander)
mon: do not deactivate last mds (#10862 John Spray)
mon: drop old ceph_mon_store_converter (Sage Weil)
mon: fix ‘ceph pg dump_stuck degraded’ (Xinxin Shu)
mon: fix ‘profile osd’ use of config-key function on mon (#10844 Joao Eduardo Luis)
mon: fix compatset initalization during mkfs (Joao Eduardo Luis)
mon: fix feature tracking during elections (Joao Eduardo Luis)
mon: fix mds gid/rank/state parsing (John Spray)
mon: ignore failure reports from before up_from (#10762 Dan van der Ster, Sage Weil)
mon: improved corrupt CRUSH map detection (Joao Eduardo Luis)
mon: include pg_temp count in osdmap summary (Sage Weil)
mon: log health summary to cluster log (#9440 Joao Eduardo Luis)
mon: make ‘mds fail’ idempotent (John Spray)
mon: make pg dump {sum,pgs,pgs_brief} work for format=plain (#5963 #6759 Mykola Golub)
mon: new pool safety flags nodelete, nopgchange, nosizechange (#9792 Mykola Golub)
mon: new, friendly ‘ceph pg ls …’ command (Xinxin Shu)
mon: prevent MDS transition from STOPPING (#10791 Greg Farnum)
mon: propose all pending work in one transaction (Sage Weil)
mon: remove pg_temps for nonexistent pools (Joao Eduardo Luis)
mon: require mon_allow_pool_delete option to remove pools (Sage Weil)
mon: set globalid prealloc to larger value (Sage Weil)
mon: skip zeroed osd stats in get_rule_avail (#10257 Joao Eduardo Luis)
mon: validate min_size range (Jianpeng Ma)
msgr: async: bind threads to CPU cores, improved poll (Haomai Wang)
msgr: fix crc configuration (Mykola Golub)
msgr: misc unit tests (Haomai Wang)
msgr: xio: XioMessenger RDMA support (Casey Bodley, Vu Pham, Matt Benjamin)
osd, librados: fadvise-style librados hints (Jianpeng Ma)
osd, librados: fix xattr_cmp_u64 (Dongmao Zhang)
osd,mon: add ‘norebalance’ flag (Kefu Chai)
osd,mon: specify OSD features explicitly in MOSDBoot (#10911 Sage Weil)
osd: add option to prioritize heartbeat network traffic (Jian Wen)
osd: add support for the SHEC erasure-code algorithm (Takeshi Miyamae, Loic Dachary)
osd: allow recovery while below min_size (Samuel Just)
osd: allow recovery with fewer than min_size OSDs (Samuel Just)
osd: allow writes to degraded objects (Samuel Just)
osd: allow writes to degraded objects (Samuel Just)
osd: avoid publishing unchanged PG stats (Sage Weil)
osd: cache recent ObjectContexts (Dong Yuan)
osd: clear cache on interval change (Samuel Just)
osd: do no proxy reads unless target OSDs are new (#10788 Sage Weil)
osd: do not update digest on inconsistent object (#10524 Samuel Just)
osd: don’t record digests for snapdirs (#10536 Samuel Just)
osd: fix OSDCap parser on old (el6) boost::spirit (#10757 Kefu Chai)
osd: fix OSDCap parsing on el6 (#10757 Kefu Chai)
osd: fix ObjectStore::Transaction encoding version (#10734 Samuel Just)
osd: fix auth object selection during repair (#10524 Samuel Just)
osd: fix bug in pending digest updates (#10840 Samuel Just)
osd: fix cancel_proxy_read_ops (Sage Weil)
osd: fix cleanup of interrupted pg deletion (#10617 Sage Weil)
osd: fix journal wrapping bug (#10883 David Zafman)
osd: fix leak in SnapTrimWQ (#10421 Kefu Chai)
osd: fix memstore free space calculation (Xiaoxi Chen)
osd: fix mixed-version peering issues (Samuel Just)
osd: fix object digest update bug (#10840 Samuel Just)
osd: fix ordering issue with new transaction encoding (#10534 Dong Yuan)
osd: fix past_interval generation (#10427 #10430 David Zafman)
osd: fix short read handling on push (#8121 David Zafman)
osd: fix watch timeout cache state update (#10784 David Zafman)
osd: force promotion of watch/notify ops (Zhiqiang Wang)
osd: improve idempotency detection across cache promotion/demotion (#8935 Sage Weil, Samuel Just)
osd: include activating peers in blocked_by (#10477 Sage Weil)
osd: jerasure and gf-complete updates from upstream (#10216 Loic Dachary)
osd: journal: check fsync/fdatasync result (Jianpeng Ma)
osd: journal: fix hang on shutdown (#10474 David Zafman)
osd: journal: fix header.committed_up_to (Xinze Chi)
osd: journal: initialize throttle (Ning Yao)
osd: journal: misc bug fixes (#6003 David Zafman, Samuel Just)
osd: misc cleanup (Xinze Chi, Yongyue Sun)
osd: new ‘activating’ state between peering and active (Sage Weil)
osd: preserve reqids for idempotency checks for promote/demote (Sage Weil, Zhiqiang Wang, Samuel Just)
osd: remove dead locking code (Xinxin Shu)
osd: restrict scrub to certain times of day (Xinze Chi)
osd: rocksdb: fix shutdown (Hoamai Wang)
pybind: fix memory leak in librados bindings (Billy Olsen)
qa: fix mds tests (#10539 John Spray)
qa: ignore duplicates in rados ls (Josh Durgin)
qa: improve hadoop tests (Noah Watkins)
qa: reorg fs quota tests (Greg Farnum)
rados: fix usage (Jianpeng Ma)
radosgw-admin: add replicalog update command (Yehuda Sadeh)
rbd-fuse: clean up on shutdown (Josh Durgin)
rbd: add ‘merge-diff’ function (MingXin Liu, Yunchuan Wen, Li Wang)
rbd: fix buffer handling on image import (#10590 Jason Dillaman)
rbd: leave exclusive lockin goff by default (Jason Dillaman)
rbd: update init-rbdmap to fix dup mount point (Karel Striegel)
rbd: use IO hints for import, export, and bench operations (#10462 Jason Dillaman)
rbd_recover_tool: RBD image recovery tool (Min Chen)
rgw: S3-style object versioning support (Yehuda Sadeh)
rgw: check keystone auth for S3 POST requests (#10062 Abhishek Lekshmanan)
rgw: extend replica log API (purge-all) (Yehuda Sadeh)
rgw: fail S3 POST if keystone not configured (#10688 Valery Tschopp, Yehuda Sadeh)
rgw: fix XML header on get ACL request (#10106 Yehuda Sadeh)
rgw: fix bucket removal with data purge (Yehuda Sadeh)
rgw: fix replica log indexing (#8251 Yehuda Sadeh)
rgw: fix swift metadata header name (Dmytro Iurchenko)
rgw: remove multipart entries from bucket index on abort (#10719 Yehuda Sadeh)
rgw: respond with 204 to POST on containers (#10667 Yuan Zhou)
rgw: reuse fcgx connection struct (#10194 Yehuda Sadeh)
rgw: support multiple host names (#7467 Yehuda Sadeh)
rgw: swift: dump container’s custom metadata (#10665 Ahmad Faheem, Dmytro Iurchenko)
rgw: swift: support Accept header for response format (#10746 Dmytro Iurchenko)
rgw: swift: support for X-Remove-Container-Meta-{key} (#10475 Dmytro Iurchenko)
rpm: move rgw logrotate to radosgw subpackage (Ken Dreyer)
tests: centos-6 dockerfile (#10755 Loic Dachary)
tests: unit tests for shared_cache (Dong Yuan)
vstart.sh: work with cmake (Yehuda Sadeh)
Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。2010年3 月,Linus Torvalds将Ceph client合并到内 核2.6.34中。IBM开发者园地的一篇文章 探讨了Ceph的架构,它的容错实现和简化海量数据管理的功能。