Ceph v0.92 发布,此版本主要改进如下: OSD 对象校验 缓存层读入代理 RBD 图片锁 优化 OSD 事物和复制信息 大量的 RGW 和 MDS bug 修复 升级 The experimental ‘keyvaluestore-dev’ OSD backend has been renamed ‘keyvaluestore’ (for simplicity) and marked as experimental. The following librados C API function calls take a ‘flags’ argument whose value is now correctly interpreted: rados_write_op_operate() rados_aio_write_op_operate() rados_read_op_operate() rados_aio_read_op_operate() The ‘rados’ CLI ‘copy’ and ‘cppool’ commands now use the copy-from operation The librados watch/notify API now includes a watch_flush() operation to flush the async queue of notify operations. 值得关注的改进 add experimental features option (Sage Weil) build: fix ‘make check’ races (#10384 Loic Dachary) build: fix pkg names when libkeyutils is missing (Pankag Garg, Ken Dreyer) ceph: make ‘ceph -s’ show PG state counts in sorted order (Sage Weil) ceph: make ‘ceph tell mon.* version’ work (Mykola Golub) ceph-monstore-tool: fix/improve CLI (Joao Eduardo Luis) ceph: show primary-affinity in ‘ceph osd tree’ (Mykola Golub) common: add TableFormatter (Andreas Peters) common: check syncfs() return code (Jianpeng Ma) doc: do not suggest dangerous XFS nobarrier option (Dan van der Ster) doc: misc updates (Nilamdyuti Goswami, John Wilkins) install-deps.sh: do not require sudo when root (Loic Dachary) libcephfs: fix dirfrag trimming (#10387 Yan, Zheng) libcephfs: fix mount timeout (#10041 Yan, Zheng) libcephfs: fix test (#10415 Yan, Zheng) libcephfs: fix use-afer-free on umount (#10412 Yan, Zheng) libcephfs: include ceph and git version in client metadata (Sage Weil) librados: add watch_flush() operation (Sage Weil, Haomai Wang) librados: avoid memcpy on getxattr, read (Jianpeng Ma) librados: create ioctx by pool id (Jason Dillaman) librados: do notify completion in fast-dispatch (Sage Weil) librados: remove shadowed variable (Kefu Chain) librados: translate op flags from C APIs (Matthew Richards) librbd: differentiate between R/O vs R/W features (Jason Dillaman) librbd: exclusive image locking (Jason Dillaman) librbd: fix write vs import race (#10590 Jason Dillaman) librbd: gracefully handle deleted/renamed pools (#10270 Jason Dillaman) mds: asok command for fetching subtree map (John Spray) mds: constify MDSCacheObjects (John Spray) misc: various valgrind fixes and cleanups (Danny Al-Gaaf) mon: fix ‘mds fail’ for standby MDSs (John Spray) mon: fix stashed monmap encoding (#5203 Xie Rui) mon: implement ‘fs reset’ command (John Spray) mon: respect down flag when promoting standbys (John Spray) mount.ceph: fix suprious error message (#10351 Yan, Zheng) msgr: async: many fixes, unit tests (Haomai Wang) msgr: simple: retry binding to port on failure (#10029 Wido den Hollander) osd: add fadvise flags to ObjectStore API (Jianpeng Ma) osd: add get_latest_osdmap asok command (#9483 #9484 Mykola Golub) osd: EIO on whole-object reads when checksum is wrong (Sage Weil) osd: filejournal: don’t cache journal when not using direct IO (Jianpeng Ma) osd: fix ioprio option (Mykola Golub) osd: fix scrub delay bug (#10693 Samuel Just) osd: fix watch reconnect race (#10441 Sage Weil) osd: handle no-op write with snapshot (#10262 Sage Weil) osd: journal: fix journal zeroing when direct IO is enabled (Xie Rui) osd: keyvaluestore: cleanup dead code (Ning Yao) osd, mds: ‘ops’ as shorthand for ‘dump_ops_in_flight’ on asok (Sage Weil) osd: memstore: fix size limit (Xiaoxi Chen) osd: misc scrub fixes (#10017 Loic Dachary) osd: new optimized encoding for ObjectStore::Transaction (Dong Yuan) osd: optimize filter_snapc (Ning Yao) osd: optimize WBThrottle map with unordered_map (Ning Yao) osd: proxy reads during cache promote (Zhiqiang Wang) osd: proxy read support (Zhiqiang Wang) osd: remove legacy classic scrub code (Sage Weil) osd: remove unused fields in MOSDSubOp (Xiaoxi Chen) osd: replace MOSDSubOp messages with simpler, optimized MOSDRepOp (Xiaoxi Chen) osd: store whole-object checksums on scrub, write_full (Sage Weil) osd: verify kernel is new enough before using XFS extsize ioctl, enable by default (#9956 Sage Weil) rados: use copy-from operation for copy, cppool (Sage Weil) rgw: change multipart upload id magic (#10271 Yehuda Sadeh) rgw: decode http query params correction (#10271 Yehuda Sadeh) rgw: fix content length check (#10701 Axel Dunkel, Yehuda Sadeh) rgw: fix partial GET in swift (#10553 Yehuda Sadeh) rgw: fix shutdown (#10472 Yehuda Sadeh) rgw: include XML ns on get ACL request (#10106 Yehuda Sadeh) rgw: misc fixes (#10307 Yehuda Sadeh) rgw: only track cleanup for objects we write (#10311 Yehuda Sadeh) rgw: tweak error codes (#10329 #10334 Yehuda Sadeh) rgw: use gc for multipart abort (#10445 Aaron Bassett, Yehuda Sadeh) sysvinit: fix race in ‘stop’ (#10389 Loic Dachary) test: fix bufferlist tests (Jianpeng Ma) tests: improve docker-based tests (Loic Dachary) 获取 CEPH Git at git://github.com/ceph/ceph.git Tarball at http://ceph.com/download/ceph-0.92.tar.gz For packages, see http://ceph.com/docs/master/install/get-packages For ceph-deploy, see http://ceph.com/docs/master/install/install-ceph-deploy 更多内容请看这里。 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 v0.92 发布,分布式文件系统下载地址