Data is relocated among data storage nodes in a data center by using
distributed agents. An agent at a first data storage node manages the
relocation of associated data to a second data storage node, as well as
the relocation of a mirror copy of the data at a third data storage node
to a fourth data storage node, by receiving status information, such as
via a publish-subscribe technique. The first agent may provide an
identifier with a relocation request to the third data storage node which
is relayed to the fourth data storage node, and used in status messages
provided by the third and fourth data storage nodes. The received status
information is then associated with the relocation request. Agents for
each pair of sending and receiving data storage nodes can monitor their
availability for servicing the relocation to negotiate an acceptable
transmission rate.