Hello all,

A few weeks ago Loïc Dachary presented his work on python-crush to the
ceph-devel list, but I don't think it's been done here yet. In a few words,
python-crush is a new Python 2 and 3 library / API for the CRUSH algorithm.
It also provides a CLI executable with a few built-in tools related to
CRUSH maps. If you want to try it, follow the instructions from its
documentation page:
http://crush.readthedocs.io/en/latest/

Currently the crush CLI has two features:
 - analyze: Get a estimation of how (un)evenly the objects will be placed
into your cluster
 - compare: Get a summary of how much data would be moved around if the map
was changed
Both these tools are very basic and have a few known caveats. But nothing
that cannot be fixed, the project is still young and open to suggestions
and contributions.

This is where we'd like to hear from the users' community feedback, given
everyone's experience in operating (or just messing around with) Ceph
clusters. What kind of CRUSH / data placement tools would be interesting to
have? Are there some very common architectural / technical questions
related to CRUSH that such tools would help answering? Any specific cases
where such a thing could have spared you some pain?

Here a few ideas on top of my head, to help with starting the discussion:
 - Static analysis of the failure domains, with detection of potential SPOFs
 - Help to capacity planning, estimations of how much data could
practically be stored in a cluster
 - Built-in basic scenarios for "compare" such as adding a node or removing
an OSD.

Please share your ideas, those will eventually help making a better tool!
Regards,
-- 
Xavier Villaneau
Software Engineer, working with Ceph during day and sometimes at night too.
Storage R&D at Concurrent Computer Corporation, Atlanta USA
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to