Franck Desjeunes
2018-12-06 07:00:48 UTC
Hi all cephers.
I don't know if this is the right place to ask this kind of questions, but
I'll give it a try.
I'm getting interested in ceph and deep dived into the technical details of
it but I'm struggling to understand few things.
When I execute a ceph osd map on an hypothetic object that does not exist,
the command always give me the same OSDs set to store the object.
So, what is the randomness of the CRUSH algorithm if an object A will
always be stored in the same OSDs set ?
In the same way, why when I use librados to read an object, the stack trace
shows that the code goes through the exact same functions calls as to
create an object to get the OSDs set ?
As far as I see, for me, CRUSH is fully deterministic and I don't
understand why it is qualified as a pseudo-random algorithm.
Thank you for your help.
Best regards.
I don't know if this is the right place to ask this kind of questions, but
I'll give it a try.
I'm getting interested in ceph and deep dived into the technical details of
it but I'm struggling to understand few things.
When I execute a ceph osd map on an hypothetic object that does not exist,
the command always give me the same OSDs set to store the object.
So, what is the randomness of the CRUSH algorithm if an object A will
always be stored in the same OSDs set ?
In the same way, why when I use librados to read an object, the stack trace
shows that the code goes through the exact same functions calls as to
create an object to get the OSDs set ?
As far as I see, for me, CRUSH is fully deterministic and I don't
understand why it is qualified as a pseudo-random algorithm.
Thank you for your help.
Best regards.