Colocate cluster resources
To specify that the location of one resource depends on the location of another resource, you configure a colocation constraint.
There is an important side effect of creating a colocation constraint between two resources: it affects the order in which resources are assigned to a node. This is because you cannot place resource A relative to resource B unless you know where resource B is. So when you are creating colocation constraints, it is important to consider whether you should colocate resource A with resource B or resource B with resource A.
Another thing to keep in mind when creating colocation constraints is that, assuming resource A is colocated with resource B, the cluster will also take into account resource A’s preferences when deciding which node to choose for resource B.
The following command creates a colocation constraint:
# pcs constraint colocation add [promoted|unpromoted] source_resource with [promoted|unpromoted] target_resource [score] [options]
The following table summarizes the properties and options for configuring colocation constraints:
| Parameter | Description |
|---|---|
|
source_resource |
The colocation source. If the constraint cannot be satisfied, the cluster may decide not to allow the resource to run at all. |
|
target_resource |
The colocation target. The cluster will decide where to put this resource first and then decide where to put the source resource. |
|
score |
Positive values indicate the resource should run on the same node. Negative values indicate the resources should not run on the same node.
A value of + |
|
|
Determines whether the cluster will move both the primary resource (source_resource) and dependent resources (target_resource) to another node when the dependent resource reaches its migration threshold for failure, or whether the cluster will leave the dependent resource offline without causing a service switch. The When this option has a value of When this option has a value of |
- Displaying colocation constraints
-
The following command lists all current colocation constraints.
pcs constraint colocation [config]You can display all current location, order, and colocation constraints with the following command. To show the internal constraint IDS, specify the
--fulloption.pcs constraint [config] [--full]By default, listing resource constraints does not display expired constraints. To include expired constraints in the listing, use the
--alloption of thepcs constraintcommand. This will list expired constraints, noting the constraints and their associated rules as(expired)in the display.The following command lists the constraints that reference specific resources:
# pcs constraint ref resource ...