Well, my aim is to make replicas request chunks of data from each other during the recovery process, but not from primary. So, let's consider the three-osd cluster with a PG residing on it: node1(primary), node2(replica), node3(replica), 3in/3up active+clean Now, let's shutdown node3. node1(primary), node2(replica), node3(replica), 3in/2up active+undersized+degraded After node3 comes back online, the recovery is started and node1 sends chunks of data node3. Is there a way to make node2 send these chunks instead of node1 without making node2 a primary? 2016-03-10 0:42 GMT+03:00 Gregory Farnum <gfarnum@xxxxxxxxxx>: > On Wed, Mar 9, 2016 at 2:21 AM, Александр Шишенко <gamepad64@xxxxxxxxx> wrote: >> Hello, >> >> I have a development cluster of three OSD's. My aim is to make a >> secondary replica recover from another secondary replica (not >> primary). Is it possible to do so with minor changes to ceph-osd >> source code? Are ceph algorithms compatible with these changes? > > I'm not sure what you mean by these statements. While we have a > primary and replicas in Ceph, that status is ephemeral — if the > primary disappears, one of the replicas will become primary. Recovery > is orchestrated and largely involves whichever node is currently the > primary, but if the primary is unsuitable for that it maps one of the > secondary replicas to be primary for the duration of the recovery... > -Greg _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com