Hi All,
I have few questions regarding the Primary affinity. In the original blueprint (https://wiki.ceph.com/Planning/Blueprints/Firefly/osdmap%3A_primary_role_affinity ),
one example has been given.
For PG x, CRUSH returns [a, b, c]
If a has primary_affinity of .5, b and c have 1 , with 50% probability, we will choose b or c instead of a. (25% for b, 25% for c)
A) I was browsing through the code, but I could not find this logic of splitting the rest of configured primary affinity value between other osds. How is this handled?
B) Since, primary affinity value is configured independently, there can be a situation with [0.1,0.1,0.1] with total value that don’t add to 1. How is this taken care of?
C) Slightly confused. What happens for a situation with [1,0.5,1] ? Is osd.0 always returned?
D) After calculating primary based on the affinity values, I see a shift of osds so that primary comes to the front. Why is this needed?. I thought, primary affinity value affects only reads and hence, osd ordering need not be changed.
Thanks,
Johnu
|
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com