分布式文件系统,Ceph v0.92 发布
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
-
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 中文文档:http://docs.openfans.org/ceph
Ceph 的 4 个模块:
来自:http://www.oschina.net/news/59410/ceph-0-92