Due to load or high availability needs, you might want to deploy a cluster of several repository nodes. This can easily be achieved by:
- Giving the playbook the location of the shared storage used for the Content Services contentstore (See Shared storage documentation for details).
- Specifying several hosts within the repository hosts group.
For example:
... repository: vars: cs_storage: type: nfs device: nas.infra.local:/exports/contentstore options: _netdev,noatime,nodiratime hosts: ecm1.infra.local: ecm2.infra.local: ingester.infra.local: cluster_keepoff: true ...
In some circumstances, you may want to have a repository node that’s dedicated to a scheduled task (such as ingesting massive amount of documents). Depending on the nature of the task, and the requirements of your organization, it may be preferable to leave this node out of the cluster. To leave nodes out of the cluster set the cluster_keepoff variable to true in one of the repository group nodes. It will provision the node with the repository and share services but make sure it’s not taking part in neither the share, nor the repository cluster realm.
A typical use case is to have a dedicated Solr tracking node. The playbook will then prefer to use that dedicated node, if it finds one, for Solr tracking and only use the other as a backup server (no load balancing).