Multi-Replication of Directory Services Nodes (3+)
When deploying XTAM to three or more nodes, its internal directory services can be setup for replication to support several scenarios. In this guide, we will walk-through a few of these scenarios and provide the commands to enable this configuration.
To begin, we will use the example of a three node deployment and we will label the Directory Services on each as NodeA, NodeB and NodeC for illustrative purposes. You will need to provide the hosts for each node (IP, hostname, etc.), the Directory Password that was generated during installation of each node and they must be reachable on your network.
The first scenario will describe the deployment where all nodes will replicate to each other. Meaning NodeA > NodeB, NodeA > NodeC, NodeB > NodeA, NodeB > NodeC and NodeC > NodeA, NodeC > NodeB.
Beginning on NodeA, we will configure the replication to NodeB and NodeC using the following command from $XTAM_HOME:
For Windows deployments:
bin\PamPamDirectory.cmd ADSReplication web {replicationContainerSlot} {ads.server.NodeB} {ads.password.NodeB}
For Linux deployments:
bin/PamDirectory.sh ADSReplication web {replicationContainerSlot} {ads.server.NodeB} {ads.password.NodeB}
{replicationContainerSlot} – This will define the position of the replication within the node configuration. Value should begin at one.
{ads.server.NodeB} – This will define the hostname of the remote Directory Services node that is being replicated to.
{ads.password.NodeB} – This will define the Directory Password of the remote Directory Services node that is being replicated to.
Using the above as guidance, our commands executed from NodeA would look like this (assuming a Windows deployment):
bin\PamDirectory.cmd ADSReplication web 1 xtamNodeB AYhK8QvjPFKXc8
bin\PamDirectory.cmd ADSReplication web 2 xtamNodeC haqVYk5p3y23L2
Then on NodeB, we will configure replication with NodeA and NodeC:
bin\PamDirectory.cmd ADSReplication web 1 xtamNodeA 7tEEd8H95aJsS8
bin\PamDirectory.cmd ADSReplication web 2 xtamNodeC haqVYk5p3y23L2
And finally, on Node C we will configure replication with NodeA and NodeB:
bin\PamDirectory.cmd ADSReplication web 1 xtamNodeA 7tEEd8H95aJsS8
bin\PamDirectory.cmd ADSReplication web 2 xtamNodeB AYhK8QvjPFKXc8
Once replication is successfully configured on each node, the process will begin shortly.
Additional commands are available to display a list of already configuration replication pairs and to delete a replication target from the source node.
To list the replication targets on a node:
ADSReplication web list
To delete a replication target on a node:
ADSReplication web {replicationContainerSlot} delete
The other scenario we will describe is one where you want to setup a Master-Slave replication deployment where NodeA is the master and will be replicated to NodeB and NodeC, common use case might be for the purposes of replicating production to a staging or test environment. Meaning NodeA > NodeB and NodeA > NodeC only. In this deployment scenario, we will only be executing the replication commands from NodeB and NodeC as they are taking data from NodeA.
On NodeB,
bin\PamDirectory.cmd ADSReplication web 1 xtamNodeA 7tEEd8H95aJsS8
And on NodeC,
bin\PamDirectory.cmd ADSReplication web 1 xtamNodeA 7tEEd8H95aJsS8
Once configured, you can use the list command to verify the replication targets:
ADSReplication web list
And you can use the delete parameter to remove a replication target (i.e. delete NodeA from the configuration on NodeB):
ADSReplication web 1 delete
If services need to be restarted for troubleshooting, they should be done so in this order:
- Stop PamManagment or pammanager
- Stop PamDirectory or pamdirectory
- Start PamDirectory or pamdirectory
- Start PamManagement or pammanager