分布式文件系统,Ceph v0.92 发布

jopen 10年前

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

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

更多内容请看这里

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

Ceph 的 4 个模块:

分布式文件系统,Ceph v0.92 发布

来自:http://www.oschina.net/news/59410/ceph-0-92