Ceph v10.0.3 发布,这是 Jewel 的第四个开发版本,该版本增加了一些大的特性,包括 BlueStore (全新的 OSD 用于替换 FileStore 的后端), 修复了很多 ceph-disk 相关问题,全新的可调整 CRUSH 提升了映射的稳定性。新的 librados 对象枚举 API,OSD 和 RADOS 的优化等。 注意,因为开发者比较忙,这个版本没有构建官方二进制发行版本,你可以通过 (http://gitbuilder.ceph.com) 自行构建。 该版本值得关注的改进: bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao) buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil) build: fix a few warnings (pr#6847, Orit Wasserman) build: misc make check fixes (pr#7153, Sage Weil) ceph-detect-init: fix py3 test (pr#7025, Kefu Chai) ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns) ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary) ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov) ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard) ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp) ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang) ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin) ceph-fuse: fix fsync() (pr#6388, Yan, Zheng) ceph-fuserint usage information when no parameter specified (pr#6868, Bo Cai) ceph: improve the error message (issue#11101, pr#7106, Kefu Chai) ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai) ceph.spec.in: add copyright notice (issue#14694, pr#7569, Nathan Cutler) ceph.spec.in: add license declaration (pr#7574, Nathan Cutler) ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246, Yan, Zheng) client: check if Fh is readable when processing a read (issue#11517, pr#7209, Yan, Zheng) client: properly trim unlinked inode (issue#13903, pr#7297, Yan, Zheng) cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165, xie xingguo) cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149, Douglas Fuller) cmake: Add ENABLE_GIT_VERSION to avoid rebuilding (pr#7171, Kefu Chai) cmake: add missing check for HAVE_EXECINFO_H (pr#7270, Casey Bodley) cmake: cleanups and more features from automake (pr#7103, Casey Bodley, Ali Maredia) cmake: detect bzip2 and lz4 (pr#7126, Kefu Chai) cmake: fix build with bluestore (pr#7099, John Spray) cmake: fix the build on trusty (pr#7249, Kefu Chai) cmake: made rocksdb an imported library (pr#7131, Ali Maredia) cmake: no need to run configure from run-cmake-check.sh (pr#6959, Orit Wasserman) cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia) common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987, Qiankun Zheng) common: add thread names (pr#5882, Igor Podoski) common: assert: abort() rather than throw (pr#6804, Adam C. Emerson) common: buffer/assert minor fixes (pr#6990, Matt Benjamin) common/Formatter: avoid newline if there is no output (pr#5351, Aran85) common: improve shared_cache and simple_cache efficiency with hash table (pr#6909, Ning Yao) common/lockdep: increase max lock names (pr#6961, Sage Weil) common: new timekeeping common code, and Objecter conversion (pr#5782, Adam C. Emerson) common: signal_handler: added support for using reentrant strsignal() implementations vs. sys_siglist[] (pr#6796, John Coyle) config: complains when a setting is not tracked (issue#11692, pr#7085, Kefu Chai) configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai) correct radosgw-admin command (pr#7006, YankunLi) crush: add chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil) crush: clean up whitespace removal (issue#14302, pr#7157, songbaisen) crush/CrushTester: check for overlapped rules (pr#7139, Kefu Chai) crushtool: improve usage/tip messages (pr#7142, xie xingguo) crushtool: set type 0 name “device” for –build option (pr#6824, Sangdi Xu) doc: adding “–allow-shrink” in decreasing the size of the rbd block to distinguish from the increasing option (pr#7020, Yehua) doc: admin/build-doc: make paths absolute (pr#7119, Dan Mick) doc: dev: document ceph-qa-suite (pr#6955, Loic Dachary) doc: document “readforward” and “readproxy” cache mode (pr#7023, Kefu Chai) doc: fix “mon osd down out subtree limit” option name (pr#7164, François Lafont) doc: fix typo (pr#7004, tianqing) doc: Updated the rados command man page to include the –run-name opt… (issue#12899, pr#5900, ritz303) fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380, pr#7262, Yan, Zheng) helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman) helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman) kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek) librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen) librados: fix several flaws introduced by the enumeration_objects API (issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo) librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil) librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo) librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo) librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo) librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo) librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman) librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo) librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo) librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman) mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang) mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski) mailmap update (pr#7210, M Ranga Swami Reddy) mailmap updates (pr#6992, Loic Dachary) mailmap updates (pr#7189, Loic Dachary) man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai) mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray) mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng) mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng) mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray) mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng) mon: addosd blacklist clear(pr#6945, John Spray) mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang) mon: degrade a log message to level 2 (pr#6929, Kongming Wu) mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander) mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek) mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil) mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang) mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng) mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He) mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis) mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang) mon: paxos is_recovering calc error (pr#7227, Weijun Duan) mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao) mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen) msg: add override to virutal methods (pr#6977, Michal Jarzabek) msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang) msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang) msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen) msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek) msg: remove unneeded inline (pr#6989, Michal Jarzabek) msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang) msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang) msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek) objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng) os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard) osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang) osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov) osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma) osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo) osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub) osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao) osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai) osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo) osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil) osd: bluestore: more fixes (pr#7130, Sage Weil) osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou) osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson) osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen) osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil) osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek) osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer) osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai) osd: drop deprecated removal pg type (pr#6970, Igor Podoski) osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo) osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi) osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy) osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma) osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo) osd: fix scrub start hobject (pr#7467, Sage Weil) osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo) osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman) osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi) osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo) osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo) osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo) osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo) osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo) osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang) osdmap: remove unused local variables (pr#6864, luo kexue) osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil) osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo) osd: misc optimization for map utilization (pr#6950, Ning Yao) osd,mon: log leveldb and rocksdb to ceph log (pr#6921, Sage Weil) osd: Omap small bugs adapted (pr#6669, Jianpeng Ma, David Zafman) osd: optimize the session_handle_reset function (issue#14182, pr#7054, songbaisen) osd: OSDService: Fix typo in osdmap comment (pr#7275, Brad Hubbard) osd: os: skip checking pg_meta object existance in FileStore (pr#6870, Ning Yao) osd: PGLog: clean up read_log (pr#7092, Jie Wang) osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065, Jianpeng Ma) osd: reduce string use in coll_t::calc_str() (pr#6505, Igor Podoski) osd: release related sources when scrub is interrupted (pr#6744, Jianpeng Ma) osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren) osd: ReplicatedPG: clean up unused function (pr#7211, Xiaowei Chen) osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702, Sage Weil) osd: several small cleanups (pr#7055, xie xingguo) osd: shut down if we flap too many times in a short period (pr#6708, Xiaoxi Chen) osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010, Jianpeng Ma) osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo) osd: try evicting after flushing is done (pr#5630, Zhiqiang Wang) osd: use atomic to generate ceph_tid (pr#7017, Evgeniy Firsov) osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203, Piotr Dałek) osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902, Xinze Chi) pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205, John Spray) pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235, Abhishek Lekshmanan) pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155, Josh Durgin) qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman) qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041, Jason Dillaman) qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496, Yan, Zheng) rados: implement rm –force option to force remove when full (pr#6202, Xiaowei Chen) rbd: additional validation for striping parameters (pr#6914, Na Xie) rbd: add pool name to disambiguate rbd admin socket commands (pr#6904, wuxiangwei) rbd: correct an output string for merge-diff (pr#7046, Kongming Wu) rbd: fix static initialization ordering issues (pr#6978, Mykola Golub) rbd-fuse: image name can not include snap name (pr#7044, Yongqiang He) rbd-fuse: implement mv operation (pr#6938, wuxiangwei) rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026, Donghai Xu) rbd-nbd: add copyright (pr#7166, Li Wang) rbd-nbd: fix up return code handling (pr#7215, Mykola Golub) rbd-nbd: small improvements in logging and forking (pr#7127, Mykola Golub) rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047, pr#6886, huanwen ren) rbd: striping parameters should support 64bit integers (pr#6942, Na Xie) rbd: use default order from configuration when not specified (pr#6965, Yunchuan Wen) rgw: add a method to purge all associate keys when removing a subuser (issue#12890, pr#6002, Sangdi Xu) rgw: add missing error code for admin op API (pr#7037, Dunrong Huang) rgw: add support for “end_marker” parameter for GET on Swift account. (issue#10682, pr#4216, Radoslaw Zarzynski) rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov) rgw: content length (issue#13582, pr#6975, Yehuda Sadeh) rgw: delete default zone (pr#7005, YankunLi) rgw: do not abort radowgw server when using admin op API with bad parameters (issue#14190, issue#14191, pr#7063, Dunrong Huang) rgw: Drop a debugging message (pr#7280, Pete Zaitcev) rgw: fix a typo in init-radosgw (pr#6817, Zhi Zhang) rgw: fix compilation warning (pr#7160, Yehuda Sadeh) rgw: fix wrong check for parse() return (pr#6797, Dunrong Huang) rgw: let radosgw-admin bucket stats return a standard josn (pr#7029, Ruifeng Yang) rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032, Peiyang Liu) rgw: modify documents and help infos’ descriptions to the usage of option date when executing command “log show” (pr#6080, Kongming Wu) rgw: Parse –subuser better (pr#7279, Pete Zaitcev) rgw: radosgw-admin bucket check –fix not work (pr#7093, Weijun Duan) rgw: warn on suspicious civetweb frontend parameters (pr#6944, Matt Benjamin) rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105, Venky Shankar) stringify outputted error code and fix unmatched parentheses. (pr#6998, xie.xingguo, xie xingguo) test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332, John Coyle) test/mon/osd-erasure-code-profile: pick new mon port (pr#7161, Sage Weil) tests: add const for ec test (pr#6911, Michal Jarzabek) tests: configure with rocksdb by default (issue#14220, pr#7100, Loic Dachary) tests: Fix for make check. (pr#7102, David Zafman) tests: notification slave needs to wait for master (issue#13810, pr#7220, Jason Dillaman) tests: snap rename and rebuild object map in client update test (pr#7224, Jason Dillaman) tests: unittest_bufferlist: fix hexdump test (pr#7152, Sage Weil) tests: unittest_ipaddr: fix segv (pr#7154, Sage Weil) tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097, Kefu Chai) tools: monstore: add ‘show-versions’ command. (pr#7073, Cilang Zhao) GETTING CEPH Git at git://github.com/ceph/ceph.git For packages, see http://docs.ceph.com/docs/master/install/get-packages/#add-ceph-development For ceph-deploy, see http://ceph.com/docs/master/install/install-ceph-deploy Ceph v10.0.3 发布,分布式存储系统下载地址