Where to run dr_agent?

In order to start a replication from source to destination using fdb_dr, we will need to run dr_agent, just a couple of question regarding that.

  1. I have read in another post that we should run the dr_agent on both the source and destination cluster with the source and destination switched in the destination cluster? Is that correct? Thus on the source cluster: dr_agent -s source.cluster -d dest.cluster (where source.cluster and dest.cluster are the connect strings of the source and destination cluster)
    On the destination cluster: dr_agent -s source.cluster -d dest.cluster. Is this setup correct and recommended?
  2. Do I need to run the dr_agent on every single pods/nodes on both source and destination cluster?

for 2. you don’t need to run the dr_agent on every single Pod/node you can simply run a Deployment with a number of Pods that satisfies the dr needs (you should ensure that you have enough Pods running to sync the changes to the remote side). The operator doesn’t support dr currently so you have to setup the deployment by yourself or add this functionality to the operator.

I basically run the dr_agent manually inside the pod.
For now, I run it in the proxy and some log pods. It seems ok.
Another interesting thing I see is the more storageserverperpods I put in, the better the performance to achieve sync up between the db but it is not linear. For 2 per pods, I got 2x faster, but with 3 per pods, I got 2.8 times faster.