Este contenido no está disponible en el idioma seleccionado.
Chapter 22. Setting up content synchronization using the SyncRepl protocol
To support the SyncRepl protocol according to RFC 4533, Directory Server uses the Content Synchronization plugin. With the Content Synchronization plugin, LDAP servers and clients can use Red Hat Directory Server as a source to synchronize their local database with the changing content of the directory.
To use the SyncRepl protocol, you need to perform the following configurations:
On the Directory Server side:
-
Configure the Content Synchronization and Retro Changelog plugins. The Retro Changelog plugin must log the
nsuniqueidoperational attribute. - Optional: Create a new user that your client will use to bind to Directory Server. The new user must have permissions to read the content in the directory. For details, see Adding an LDAP entry using the command line.
-
Configure the Content Synchronization and Retro Changelog plugins. The Retro Changelog plugin must log the
- Configure your client. For example, set the search base for a subtree to synchronize. For further details, see your client’s documentation.
The following procedure configures the Content Synchronization and Retro Changelog plugins by using the command line.
Prerequisites
-
You have
rootpermissions.
Procedure
Verify if the Retro Changelog is enabled:
# dsconf <instance_name> plugin retro-changelog show ... nsslapd-pluginEnabled: offIf the Retro Changelog plugin is disabled, enable it:
# dsconf <instance_name> plugin retro-changelog enable Enabled plugin 'Retro Changelog Plugin'Add the
nsuniqueidoperational attribute with thetargetUniqueIdalias to the Retro Changelog plugin configuration:# dsconf <instance_name> plugin retro-changelog add --attribute nsuniqueid:targetUniqueId Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=configOptional: Apply the following recommendations to improve performance:
Configure the maximum age of the Retro Changelog entries. For example, set the age to
2days (2d):# dsconf <instance_name> plugin retro-changelog set --max-age 2d Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=configIf you know which backend or subtree your client accesses to synchronize data, limit the scope of the Retro Changelog plugin. For example, to exclude the
cn=marketing,dc=example,dc=comsubtree, enter:# dsconf <instance_name> plugin retro-changelog set --exclude-suffix "cn=marketing,dc=example,dc=com" Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
Enable the Content Synchronization plugin:
# dsconf <instance_name> plugin contentsync enable Enabled plugin 'Content Synchronization'Optional: Adjust the ACI to limit who can use the
SyncReplcontrol. By default, Directory Server creates the following access control instruction (ACI) in theoid=1.3.6.1.4.1.4203.1.9.1.1,cn=features,cn=configentry that enables all users to use theSyncReplprotocol:aci: (targetattr != "aci")(version 3.0; acl "Sync Request Control"; allow( read, search ) userdn = "ldap:///all";)For details about how to adjust the ACI, see Defining ACI bind rules.
Restart the server:
# dsctl <instance_name> restart
Now your clients can synchronize data with Directory Server by using the SyncRepl protocol.