15.22. Replicating o=NetscapeRoot for Administration Server Failover

Replication usually occurs between Directory Server user databases to distribute directory data, but it is also possible to use replication to provide failover support for the Administration Server database, o=NetscapeRoot.
  1. Install and configure the first Directory Server instance.
    The setup-ds-admin.pl script has an option, -f, which references an inf. The inf can be used to import LDIF files through the ConfigFile parameter, and the LDIF files can create databases, suffixes, and replication entries. (The inf file is described in more detail in the Red Hat Directory Server Installation Guide.)
    # setup-ds-admin.pl -f /tmp/server1.inf
    To configure the o=NetscapeRoot database on server1 as a multi-master supplier replica, use the following statements in the inf file:
     [slapd]
    ...
     ConfigFile = repluser.ldif Example 15.4, “Example Supplier Bind DN Entry”  
     ConfigFile = changelog.ldif Example 15.1, “Example Changelog Entry”  
     ConfigFile = replica.ldif Example 15.2, “Example Supplier Replica Entry”  
     ConfigFile = replagreement.ldif Example 15.3, “Example Replication Agreement Entry”  
    ...
  2. Install and configure the second Directory Server instance. For the second server, server2.example.com, use the setup-ds.pl command, which installs a Directory Server instance without installing a local Administration Server.
    # setup-ds.pl -f /tmp/server2.inf
    With server2, use the inf file to create and configure a o=NetscapeRoot database on server2 as a multi-master supplier replica:
     [slapd]
    ...
     ConfigFile = netscaperootdb.ldif Section 2.1.1.3, “Creating Root and Sub Suffixes using the Command Line”  
     ConfigFile = repluser.ldif Example 15.4, “Example Supplier Bind DN Entry”   
     ConfigFile = changelog.ldif Example 15.1, “Example Changelog Entry”  
     ConfigFile = replica.ldif Example 15.2, “Example Supplier Replica Entry”  
     ConfigFile = replagreement.ldif Example 15.3, “Example Replication Agreement Entry”  
    ...
  3. Initialize the o=NetscapeRoot database on server2 from server1. Add the nsds5replicarefresh attribute to the replication agreement on server1.
    # ldapmodify -D "cn=Directory Manager" -W -x -h supplier1.example.com
    
    dn: cn=ExampleAgreement1,cn=replica,cn=o=NetscapeRoot,cn=mapping tree,cn=config
    changetype: modify
    replace: nsds5beginreplicarefresh
    nsds5beginreplicarefresh: start
  4. Run the register-ds-admin.pl to create a local Administration Server on server2 and switch the configuration directory for server2 to its own o=NetscapeRoot database from server1.
    # register-ds-admin.pl
  5. Add the following access control instructions (ACI) on server2, to enable members of the Configuration Administrators Group, the server instance entry SIE group, and the admin user, to run on suffixes belonging to server2. For example, to run on the dc=example,dc=com suffix, enter:
    # ldapmodify -D "cn=Directory Manager" -W -x -h server2.example.com
    dn: dc=example,dc=com
    changetype: modify
    add: aci
    aci: (targetattr="*")(version 3.0; acl "Configuration Administrators Group"; 
     allow (all) groupdn="ldap:///cn=Configuration Administrators,ou=Groups,
     ou=TopologyManagement,o=NetscapeRoot";)
    -
    add: aci
    aci: (targetattr="*")(version 3.0; acl "Configuration Administrator";
     allow (all) userdn="ldap:///uid=admin,
     ou=Administrators,ou=TopologyManagement,o=NetscapeRoot";)
    -
    add: aci
    aci: (targetattr = "*")(version 3.0; acl "SIE Group";  allow (all) groupdn =
     "ldap:///cn=slapd-instance,cn=Red Hat Directory Server,cn=Server Group,
     cn=machine_name,ou=example.com,o=NetscapeRoot";)
  6. Disable the PTA Plug-in on server2 so that it does not pass bind operations for the administrative users in its o=NetscapeRoot to server1.