For more information on how to set up the directory tree, see Chapter 4 “Designing the directory tree”.

The replication mechanism also requires that one database correspond to one suffix. A suffix (or namespace) that is distributed over two or more databases cannot be replicated.

6.1.1.2 Read-write and read-only replicas

A database that participates in replication is defined as a replica. Directory Server supports two types of replicas: read-write and read-only. The read-write replicas contain master copies of directory information and can be updated. Read-only replicas refer all update operations to read-write replicas.

6.1.1.3 Suppliers and consumers

A server that stores a replica that is copied to a different server is called a supplier. A server that stores a replica that is copied from a different server is called a consumer. Generally speaking, the replica on the supplier server is a read-write replica; the replica on the consumer server is a read-only replica. However, the following exceptions apply:

In the case of cascading replication, the hub supplier holds a read-only replica that it supplies to consumers. For more information, see “Cascading replication”.

In the case of multi-master replication, the suppliers function as both suppliers and consumers for the same read-write replica. For more information, see “Multi-master replication”.

NOTE:

In the current version of HP-UX Directory Server, replication is always initiated by the supplier server, never by the consumer. This is unlike earlier versions of Directory Server, which allowed consumer-initiated replication (where consumer servers could retrieve data from a supplier server).

Suppliers For any particular replica, the supplier server must:

Respond to read requests and update requests from directory clients.

Maintain state information and a changelog for the replica.

Initiate replication to consumer servers.

The supplier server is always responsible for recording the changes made to the read-write replicas that it manages, so the supplier server makes sure that any changes are replicated to consumer servers.

Consumers A consumer server must:

Respond to read requests.

Refer update requests to a supplier server for the replica.

Whenever a consumer server receives a request to add, delete, or change an entry, the request is referred to a supplier for the replica. The supplier server performs the request, then replicates the change.

Hub suppliers In the special case of cascading replication, the hub supplier must:

Respond to read requests.

Refer update requests to a supplier server for the replica.

Initiate replication to consumer servers.

For more information on cascading replication, see “Cascading replication”.

6.1.1.4 Replication and changelogs

Every supplier server maintains a changelog. A changelog is a record of the modifications that have occurred on a replica. The supplier server then replays these modifications on the replicas stored on consumer servers, or on other suppliers in the case of multi-master replication.

74 Designing the replication process