Ceph v10.0.3 发布,分布式存储系统

jopen 9年前

Ceph v10.0.3 发布,分布式存储系统

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-fuse:print 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

来自: http://www.oschina.net//news/70612/ceph-v10-0-3