v10.0.3 released

This is the fourth development release for Jewel. Several big pieces have been added this release, including BlueStore (a new backend for OSD to replace FileStore), many ceph-disk fixes, a new CRUSH tunable that improves mapping stability, a new librados object enumeration API, and a whole slew of OSD and RADOS optimizations.

Note that, due to general developer busyness, we aren’t building official release packages for this dev release. You can fetch autobuilt gitbuilder packages from the usual location (


  • 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)
  • avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai)
  • add copyright notice (issue#14694, pr#7569, Nathan Cutler)
  • 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 (pr#6959, Orit Wasserman)
  • cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia)
  • common/ 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: add osd 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 (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)


When a Ceph teuthology integration test fails (for instance a rados jobs), it will collect core dumps which can be downloaded from the same directory where the logs and config.yaml files can be found, under the remote/mira076/coredump directory.
The binary from which the core dump comes from can be displayed with:

$ file 1425077911.7304.core
ELF 64-bit LSB  core file x86-64, version 1, from 'ceph-osd -f -i 3'

The teuthology logs contains command lines that can be used to install the corresponding binaries:

$ echo deb\
/sha1/e54834bfac3c38562987730b317cb1944a96005b trusty main | \
  sudo tee /etc/apt/sources.list.d/ceph.list
$ sudo apt-get update
$ sudo DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes \
  -o Dpkg::Options::="--force-confdef" \
  -o Dpkg::Options::="--force-confold" install \
  ceph=0.80.8-75-ge54834b-1trusty \

The ceph-dbg package contains debug symbols that will automatically be used by gdb(1):

$ gdb /usr/bin/ceph-osd 1425077911.7304.core
Reading symbols from /usr/bin/ceph-osd...
Reading symbols from /usr/lib/debug//usr/bin/ceph-osd...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/".
Core was generated by `ceph-osd -f -i 3'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f59d6e9af07 in _dl_map_object_deps at dl-deps.c:528
(gdb) bt
#0  0x00007f59d6e9af07 in _dl_map_object_deps at dl-deps.c:528
#1  0x00007f59d6ea1aab in dl_open_worker at dl-open.c:272
#2  0x00007f59d6e9cff4 in _dl_catch_error  at dl-error.c:187
#3  0x00007f59d6ea13bb in _dl_open    at dl-addr.c:61
#5  __GI__dl_addr at dl-addr.c:137
#6  0x00007f59c06dcbc0 in ?? ()
#7  0x00007f59d70b11c8 in _r_debug ()
#8  0x00007f59c06dcba0 in ?? ()
#9  0x00007f59c06dcbb0 in ?? ()
#10 0x00007f59c06dcb90 in ?? ()
#11 0x00007f59c06dca94 in ?? ()
#12 0x0000000000000000 in ?? ()

v0.93 Hammer release candidate released

This is the first release candidate for Hammer, and includes all of the features that will be present in the final release. We welcome and encourage any and all testing in non-production clusters to identify any problems with functionality, stability, or performance before the final Hammer release.

We suggest some caution in one area: librbd. There is a lot of new functionality around object maps and locking that is disabled by default but may still affect stability for existing images. We are continuing to shake out those bugs so that the final Hammer release (probably v0.94) will be rock solid.

Major features since Giant include:
read more…

v0.87.1 Giant released

This is the first (and possibly final) point release for Giant. Our focus on stability fixes will be directed towards Hammer and Firefly.

We recommend that all v0.87 Giant users upgrade to this release.


  • Due to a change in the Linux kernel version 3.18 and the limits of the FUSE interface, ceph-fuse needs be mounted as root on at least some systems. See issues #9997, #10277, and #10542 for details.


read more…

Now Showing : Learning Ceph

  a comprehensive Book on Software Defined Storage : CEPH

ceph book

Hello Ceph ‘ers  , 
The year 2014 is pretty productive to Ceph and to its surrounding world. Ceph entered the 10 year maturity haul with its 10th Birthday.The most buzzed news “RedHat acquired Inktank” was a major success to Ceph and its community, and finally ‘Ceph Firefly’ the Long Term Support production grade version is out in 2014 , with its wow features like Erasure Coding and Cache Tiering.

During the same year , somewhere in this world i was investing my several months for writing the first ever book on Ceph . Finally it was 20 January 2015 when my First as well as Ceph’s First book got published. 
Introducing Learning Ceph : a comprehensive guide to learn software defined massively scalable Ceph storage system.
I have compiled this book with all my experience on Ceph and other related technologies and i am sure this book you pure knowledge on Ceph that you are always wondering about.

You can grab a Free Sample copy of this book from :
The book is available for purchase from variety of channels and on various formats. :
Safari Books :
Publishers Official website :
ceph book

I am sure , if you are interested to learn Ceph for building up

 your multi-petabyte storage system , this book is 100% 

a must have resource for Ceph.

So …..

Ceph book

CDS: Infernalis Call for Blueprints

The “Ceph Developer Summit” for the Infernalis release is on the way. The summit is planed for 03. and 04. March. The blueprint submission period started on 16. February and will end 27. February 2015. 
Do you miss something in Ceph or plan to develop some feature for the next release? It’s your chance to submit a blueprint here.

Quick and efficient Ceph DevStacking

{% img center Quick and efficient Ceph DevStacking %}

Recently I built a little repository on github/ceph where I put two files to help you building your DevStack Ceph.

$ git clone
$ git clone
$ cp ceph-devstack/local* devstack
$ cd devstack
$ ./

Happy DevStacking!

Get the Number of Placement Groups Per Osd

Get the PG distribution per osd in command line :

pool :  0   1   2   3   | SUM 
osd.10  6   6   6   84  | 102
osd.11  7   6   6   76  | 95
osd.12  4   4   3   56  | 67
osd.20  5   5   5   107 | 122
osd.13  3   3   3   73  | 82
osd.21  9   10  10  110 | 139
osd.14  3   3   3   85  | 94
osd.15  6   6   6   87  | 105
osd.22  6   6   5   87  | 104
osd.23  10  10  10  87  | 117
osd.16  7   7   7   102 | 123
osd.17  5   5   5   99  | 114
osd.18  4   4   4   103 | 115
osd.19  7   7   7   112 | 133
osd.0   5   5   5   72  | 87
osd.1   5   5   6   83  | 99
osd.2   3   3   3   74  | 83
osd.3   5   5   5   61  | 76
osd.4   3   3   4   76  | 86
osd.5   5   5   5   78  | 93
osd.6   3   2   2   78  | 85
osd.7   3   3   3   88  | 97
osd.8   9   9   9   91  | 118
osd.9   5   6   6   79  | 96
SUM :   128 128 128 2048    |

read more…

The next OpenStack summit is planed to take place in Vancouver from 18 – 22 May 2015. The  “Call for Speakers” ended last week. The vote for presentation period started today and will end 23. February, 23:00 UTC (00:00 CEST, 05:00 CST). 
This year I’ve submitted, together with Sage Weil, a talk to the “Cloud Security” track with the title: “Storage security in a critical enterprise OpenStack environment“. The talk will provide insight into requirements for a secure setup and potential issues, pitfalls, and attack vectors against storage technologies used with an enterprise OpenStack cloud. We will present what Deutsche Telekom and Red Hat/Inktank, together with the community, are working on to build a security critical cloud with OpenStack and Ceph.
You can vote, if you are interested to see our talk at the summit, every vote is highly welcome. You can find a full abstract at the voting page.
My colleague Marc Koderer submitted this year two talks [1][2]. These are unrelated to Ceph, but he will appreciate your votes for sure, if you are interested in them.
© 2016, Red Hat, Inc. All rights reserved.