How do I migrate an existing DS+RS replication topology to a DS to RS topology in DS 6.x?
The purpose of this article is to provide information on migrating a current directory server (DS) with replication server (RS) topology (DS+RS) to a standalone RS in DS.
Overview
This article details the steps necessary to migrate from a DS with RS topology (DS+RS <-> DS+RS) to a standalone RS topology (DS <-> RS <-> DS), where:
- DS+RS (1) <-> DS+RS (2) is the original topology.
- DS (3) <-> RS (4) <-> DS (5) is the migrated topology.
The following hostnames and port numbers have been used in these examples:
Server(s) | Hostname | Admin Port | Replication Port |
---|---|---|---|
DS+RS (1) | ds1.example.com | 4444 | 8989 |
DS+RS (2) | ds2.example.com | 5444 | 9989 |
DS (3) | ds3.example.com | 6444 | -- |
RS (4) | rs4.example.com | 7444 | 10989 |
DS (5) | ds5.example.com | 8444 | -- |
Note
This article only applies to DS 6.x. There have been a lot of changes in DS 7 to simplify replication. See Replication and Install Standalone Servers for further information.
Migrating your replication topology
Starting with an initial configuration of DS+RS <-> DS+RS:
Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds1.example.com:4444 : 100 : true : 10000 : 10000 : 8989 : 0 : : false dc=example,dc=com : ds2.example.com:5444 : 100 : true : 7310 : 2040 : 9989 : 0 : : trueYou can migrate as follows:
- Add RS (4) and replicate it to DS+RS (2) using the setup and dsreplication commands, for example: $ ./setup --ldapPort 389 --adminConnectorPort 7444 --rootUserDN "cn=Directory Manager" --rootUserPassword password --enableStartTLS --ldapsPort 636 --hostName rs4.example.com --acceptLicense $ ./dsreplication configure --host1 rs4.example.com --port1 7444 --bindDn1 "cn=Directory Manager" --bindPassword1 password --replicationPort1 10989 --secureReplication1 --onlyReplicationServer1 --host2 ds2.example.com --port2 5444 --bindDn2 "cn=Directory Manager" --bindPassword2 password --secureReplication2 --noReplicationServer2 --baseDn dc=example,dc=com --adminUid admin --adminPassword password --no-prompt --noPropertiesFile --trustAllThis results in DS+RS (1) <-> DS+RS (2) <-> RS (4):Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds1.example.com:4444 : 100 : true : 10000 : 10000 : 8989 : 0 : : false dc=example,dc=com : ds2.example.com:5444 : 100 : true : 7310 : 2040 : 9989 : 0 : : true : rs4.example.com:7444 : (6) : true : : 11351 : 10989 : : : true
- Add DS (3) and replicate it to RS (4) using the setup and dsreplication commands, for example: $ ./setup --ldapPort 1389 --adminConnectorPort 6444 --rootUserDN "cn=Directory Manager" --rootUserPassword password --enableStartTLS --ldapsPort 1636 --hostName ds3.example.com --addBaseEntry --baseDN dc=example,dc=com --acceptLicense $ ./dsreplication configure --host1 ds3.example.com --port1 6444 --bindDn1 "cn=Directory Manager" --bindPassword1 password --secureReplication1 --noReplicationServer1 --host2 rs4.example.com --port2 7444 --bindDn2 "cn=Directory Manager" --bindPassword2 password --replicationPort2 10989 --secureReplication2 --onlyReplicationServer2 --baseDn dc=example,dc=com --adminUid admin --adminPassword password --no-prompt --noPropertiesFile --trustAll
- Initialize DS (3) from an existing server (such as DS+RS (2)) using the dsreplication initialize command, for example: $ ./dsreplication initialize --adminUID admin --adminPassword password --baseDN dc=example,dc=com --hostSource ds2.example.com --portSource 5444 --hostDestination ds3.example.com --portDestination 6444 --trustAll --no-promptThis results in DS+RS (1) <-> DS+RS (2) <-> RS (4) <-> DS (3): Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds1.example.com:4444 : 100 : true : 10000 : 10000 : 8989 : 0 : : false dc=example,dc=com : ds2.example.com:5444 : 100 : true : 7310 : 2040 : 9989 : 0 : : true dc=example,dc=com : ds3.example.com:6444 : 100 : true : 8834 : (5) : : 0 : : : rs4.example.com:7444 : (6) : true : : 11351 : 10989 : : : true
- Disable replication for DS+RS (1) using the dsreplication command, for example:$ ./dsreplication unconfigure --unconfigureAll --hostname ds1.example.com --port 4444 --adminUID admin --adminPassword password --trustAll --no-promptThis results in DS+RS (2) <-> RS (4) <-> DS (3):Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds2.example.com:5444 : 100 : true : 7310 : 2040 : 9989 : 0 : : true dc=example,dc=com : ds3.example.com:6444 : 100 : true : 8834 : (5) : : 0 : : : rs4.example.com:7444 : (6) : true : : 11351 : 10989 : : : true
- Add DS (5) and replicate it to RS (4) using the setup and dsreplication commands, for example:$ ./setup --ldapPort 2389 --adminConnectorPort 8444 --rootUserDN "cn=Directory Manager" --rootUserPassword password --enableStartTLS --ldapsPort 2636 --hostName ds5.example.com --addBaseEntry --baseDN dc=example,dc=com --acceptLicense $ ./dsreplication configure --host1 ds5.example.com --port1 8444 --bindDn1 "cn=Directory Manager" --bindPassword1 password --secureReplication1 --noReplicationServer1 --host2 rs4.example.com --port2 7444 --bindDn2 "cn=Directory Manager" --bindPassword2 password --replicationPort2 10989 --secureReplication2 --onlyReplicationServer2 --baseDn dc=example,dc=com --adminUid admin --adminPassword password --no-prompt --noPropertiesFile --trustAll
- Initialize DS (5) from an existing server (such as DS+RS (2)) using the dsreplication initialize command, for example: $ ./dsreplication initialize --adminUID admin --adminPassword password --baseDN dc=example,dc=com --hostSource ds2.example.com --portSource 5444 --hostDestination ds5.example.com --portDestination 8444 --trustAll --no-promptThis results in DS+RS (2) <-> RS (4) <-> DS (3) <-> DS (5):Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds2.example.com:5444 : 100 : true : 7310 : 2040 : 9989 : 0 : : true dc=example,dc=com : ds3.example.com:6444 : 100 : true : 8834 : (5) : : 0 : : dc=example,dc=com : ds5.example.com:8444 : 100 : true : 31314 : (5) : : 0 : : : rs4.example.com:7444 : (6) : true : : 11351 : 10989 : : : true
- Disable replication for DS+RS (2) using the dsreplication command, for example:$ ./dsreplication unconfigure --unconfigureAll --hostname ds2.example.com --port 5444 --adminUID admin --adminPassword password --trustAll --no-promptThis results in your standalone RS topology: DS (3) <-> RS (4) <-> DS (5):Suffix DN : Server : Entries : Replication enabled : DS ID : RS ID : RS Port (1) : M.C. (2) : A.O.M.C. (3) : Security (4) ------------------:----------------------:---------:---------------------:-------:-------:-------------:----------:--------------:------------- dc=example,dc=com : ds3.example.com:6444 : 100 : true : 8834 : (5) : : 0 : : dc=example,dc=com : ds5.example.com:8444 : 100 : true : 31314 : (5) : : 0 : : : rs4.example.com:7444 : (6) : true : : 11351 : 10989 : : : true
See Also
How do I troubleshoot replication issues in DS 6.x?
Standalone Replication Servers
Related Training
N/A
Related Issue Tracker IDs
N/A