| | |
| | | <para>You can start the replication process by using the |
| | | <command>dsreplication enable</command> command.</para> |
| | | |
| | | <screen width="80">$ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \ |
| | | <screen>$ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > --host1 `hostname` --port1 4444 --bindDN1 "cn=Directory Manager" \ |
| | | > --bindPassword1 password --replicationPort1 8989 \ |
| | | > --host2 `hostname` --port2 5444 --bindDN2 "cn=Directory Manager" \ |
| | |
| | | <para>Start replication with the <command>dsreplication |
| | | initialize-all</command> command.</para> |
| | | |
| | | <screen width="80">$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | <screen>$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > -h `hostname` -p 4444 |
| | | |
| | | Initializing base DN dc=example,dc=com with the contents from localhost:4444: |
| | |
| | | <step> |
| | | <para>Start replication with the <command>dsreplication |
| | | initialize-all</command> command.</para> |
| | | <screen width="80">$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | <screen>$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > ;-h `hostname` -p 4444 |
| | | Initializing base DN dc=example,dc=com with the contents from localhost:4444: |
| | | 161 entries processed (100 % complete). |
| | |
| | | </step> |
| | | <step> |
| | | <para>Enable replication on the new replica.</para> |
| | | <screen width="80"> |
| | | <screen> |
| | | $ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > --host1 `hostname` --port1 4444 --bindDN1 "cn=Directory Manager" \ |
| | | > --bindPassword1 password --replicationPort1 8989 \ |
| | |
| | | </step> |
| | | <step> |
| | | <para>Prepare the new replica for initialization.</para> |
| | | <screen width="80">$ dsreplication pre-external-initialization -I admin -w password -X -n -p 6444 \ |
| | | <screen>$ dsreplication pre-external-initialization -I admin -w password -X -n -p 6444 \ |
| | | > -b dc=example,dc=com |
| | | |
| | | Preparing base DN dc=example,dc=com to be initialized externally ..... Done. |
| | |
| | | </step> |
| | | <step> |
| | | <para>Initialize replication on the new replica.</para> |
| | | <screen width="80">$ dsreplication post-external-initialization -I admin -w password -X -n \ |
| | | <screen>$ dsreplication post-external-initialization -I admin -w password -X -n \ |
| | | > -p 6444 -b dc=example,dc=com |
| | | |
| | | Updating replication information on base DN dc=example,dc=com ..... Done. |
| | |
| | | <para>Get the replication server property that identifies one of the |
| | | replication service host:port combinations that you need to restart |
| | | replication.</para> |
| | | <screen width="80">$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > get-replication-server-prop --provider-name "Multimaster Synchronization" \ |
| | | > --property replication-server -X |
| | | Property : Value(s) |
| | |
| | | <step> |
| | | <para>Reset the replication server property to the default (no |
| | | replication server) to pause replication.</para> |
| | | <screen width="80">$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-server-prop --provider-name "Multimaster Synchronization" \ |
| | | > --reset replication-server -X -n</screen> |
| | | <para>Do not modify the replica for which replication is paused.</para> |
| | |
| | | <step performance="optional"> |
| | | <para>When you are ready to resume replication, set the replication server |
| | | property to the host:port combination of an active replication server.</para> |
| | | <screen width="80">$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-server-prop --provider-name "Multimaster Synchronization" \ |
| | | > --set replication-server:localhost:8989 -X -n</screen> |
| | | </step> |
| | |
| | | <step> |
| | | <para>Stop replication using the <command>dsreplication disable</command> |
| | | command.</para> |
| | | <screen width="80">$ dsreplication disable -a -p 5444 -h `hostname` -D "cn=Directory Manager" \ |
| | | <screen>$ dsreplication disable -a -p 5444 -h `hostname` -D "cn=Directory Manager" \ |
| | | > -w password -X -n |
| | | Establishing connections ..... Done. |
| | | Disabling replication on base DN cn=admin data of server localhost:5444 |
| | |
| | | <para>Enable replication with the appropriate |
| | | <option>--noReplicationServer</option> and |
| | | <option>--onlyReplicationServer</option> options.</para> |
| | | <screen width="80">$ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \ |
| | | <screen>$ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > --host1 `hostname` --port1 4444 --bindDN1 "cn=Directory Manager" \ |
| | | > --bindPassword1 password --noReplicationServer1 \ |
| | | > --host2 `hostname` --port2 6444 --bindDN2 "cn=Directory Manager" \ |
| | |
| | | </step> |
| | | <step> |
| | | <para>Initialize replication from one of the directory servers.</para> |
| | | <screen width="80">$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | <screen>$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \ |
| | | > -h `hostname` -p 4444 |
| | | |
| | | Initializing base DN dc=example,dc=com with the contents from localhost:4444: |
| | |
| | | <step> |
| | | <para>Set the group ID for each group by replication domain on the |
| | | directory servers.</para> |
| | | <screen width="80">$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-domain-prop --provider-name "MultimasterSynchronization" \ |
| | | > --domain-name "dc=example,dc=com" --set group-id:1 -X -n |
| | | |
| | |
| | | </step> |
| | | <step> |
| | | <para>Set the group ID for each group on the replication servers.</para> |
| | | <screen width="80">$ dsconfig -p 6444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 6444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-server-prop --provider-name "Multimaster Synchronization" \ |
| | | > --set group-id:1 -X -n |
| | | $ dsconfig -p 7444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | |
| | | from the replication protocol, and refuse updates from client |
| | | applications.</para> |
| | | |
| | | <screen width="80">$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 5444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-global-configuration-prop --set writability-mode:internal-only -X -n</screen> |
| | | </section> |
| | | |
| | |
| | | <para>For each directory server, set safe data mode for the replication |
| | | domain, and also set the safe data level.</para> |
| | | |
| | | <screen width="80">$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-domain-prop --provider-name "Multimaster Synchronization" \ |
| | | > --domain-name "dc=example,dc=com" \ |
| | | > --set assured-type:safe-data --set assured-sd-level:1 -X -n |
| | |
| | | <para>For each directory server, set safe read mode for the replication |
| | | domain.</para> |
| | | |
| | | <screen width="80">$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-domain-prop --provider-name "Multimaster Synchronization" \ |
| | | > --domain-name "dc=example,dc=com" --set assured-type:safe-read -X -n |
| | | |
| | |
| | | fractional replica to include only some <literal>inetOrgPerson</literal> |
| | | attributes.</para> |
| | | |
| | | <screen width="80">$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>$ dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-domain-prop --provider-name "Multimaster Synchronization" \ |
| | | --domain-name "dc=example,dc=com" -X -n --set \ |
| | | fractional-include:inetorgperson:cn,givenname,mail,mobile,sn,telephonenumber</screen> |
| | |
| | | <para>As another example, you might exclude a custom attribute called |
| | | <literal>sessionToken</literal> from being replicated.</para> |
| | | |
| | | <screen width="80">dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | <screen>dsconfig -p 4444 -h `hostname` -D "cn=Directory Manager" -w password \ |
| | | > set-replication-domain-prop --provider-name "Multimaster Synchronization" \ |
| | | --domain-name "dc=example,dc=com" --set fractional-exclude:*:sessionToken -X -n</screen> |
| | | |
| | |
| | | the publicly visible data available before any changes have been |
| | | made.</para> |
| | | |
| | | <screen width="80">$ ldapsearch -b cn=changelog -p 1389 "(objectclass=*)" \* + |
| | | <screen>$ ldapsearch -b cn=changelog -p 1389 "(objectclass=*)" \* + |
| | | dn: cn=changelog |
| | | cn: changelog |
| | | objectClass: top |
| | |
| | | <para>Notice the value of the <literal>changeLogCookie</literal> attribute |
| | | for the last of the two changes.</para> |
| | | |
| | | <screen width="80">$ ldapsearch -b cn=changelog -p 1389 -D "cn=Directory Manager" -w password \ |
| | | <screen>$ ldapsearch -b cn=changelog -p 1389 -D "cn=Directory Manager" -w password \ |
| | | > -J "1.3.6.1.4.1.26027.1.5.4:false" "(objectclass=*)" \* + |
| | | dn: cn=changelog |
| | | cn: changelog |
| | |
| | | |
| | | <para>In this example, a description was added to Babs Jensen's entry.</para> |
| | | |
| | | <screen width="80">$ ldapsearch -b cn=changelog -p 1389 -D "cn=Directory Manager" -w password \ |
| | | <screen>$ ldapsearch -b cn=changelog -p 1389 -D "cn=Directory Manager" -w password \ |
| | | > -J "1.3.6.1.4.1.26027.1.5.4:false:\ |
| | | > dc=example,dc=com:0000013087cbc34a12d100000002;" "(objectclass=*)" \* + |
| | | dn: cn=changelog |
| | |
| | | |
| | | <para>If we base64-decode the changes, we see the following.</para> |
| | | |
| | | <screen width="80">$ base64 decode -d YWRkO...gotCg== |
| | | <screen>$ base64 decode -d YWRkO...gotCg== |
| | | add: description |
| | | description: A third change |
| | | - |