On Mon, Nov 14, 2016 at 9:38 AM, Ridwan Rashid Noel <ridwan064@xxxxxxxxx> wrote: > Hi Ilya, > > I tried to test the primary-affinity change so I have setup a small cluster > to test. I am trying to understand how the different components of Ceph > interacts in the event of change of primary-affinity of any osd. I am > running the command from the admin node, so does the command affect the > other nodes through the monitor? I wanted to look into the source code but I > found it quite difficult to understand from there as I am new to these > interactions. It would be really helpful if you could provide a high level > flow of how the primary-affinity change command affects the whole cluster. Yes, that's about right - ceph command talks the monitor, which rolls out a new osdmap with the adjusted primary-affinity value. The PG -> { primary OSD, secondary OSDs } mapping is a function of two things: CRUSH(PG) and the current osdmap (CRUSH(PG) is the result of calling CRUSH on the given PG). Because this mapping is calculated on every access to the cluster, any change takes effect pretty much immediately. Changing primary-affinity values isn't any different from, say, marking an OSD down, so I would suggest going through Sage's paper [1] for more details on the interaction between MONs and OSDs, map propagation, etc. primary-affinity is a relatively recent knob and isn't mentioned there, but the high level flow is the same. [1] http://ceph.com/papers/weil-rados-pdsw07.pdf Thanks, Ilya _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com