id
is used.
Example 10.5. Some constraints involving clones
<constraints> <rsc_location id="clone-prefers-node1" rsc="apache-clone" node="node1" score="500"/> <rsc_colocation id="stats-with-clone" rsc="apache-stats" with="apache-clone"/> <rsc_order id="start-clone-then-stats" first="apache-clone" then="apache-stats"/> </constraints>
apache-stats
will wait until all copies of apache-clone
that need to be started have done so before being started itself. Only if no copies can be started will apache-stats
be prevented from being active. Additionally, the clone will wait for apache-stats
to be stopped before stopping itself.
A
is colocated with another clone B
, the set of allowed locations for A
is limited to nodes on which B
is (or will be) active. Placement is then performed normally.
first-action
and/or then-action
fields for ordering constraints may be set to promote
or demote
to constrain the master role, and colocation constraints may contain rsc-role
and/or with-rsc-role
fields.
Table 10.4. Additional colocation constraint options for promotable clone resources
Field | Default | Description |
---|---|---|
rsc-role
|
Started
| |
with-rsc-role
|
Started
|
Example 10.6. Constraints involving promotable clone resources
<constraints> <rsc_location id="db-prefers-node1" rsc="database" node="node1" score="500"/> <rsc_colocation id="backup-with-db-slave" rsc="backup" with-rsc="database" with-rsc-role="Slave"/> <rsc_colocation id="myapp-with-db-master" rsc="myApp" with-rsc="database" with-rsc-role="Master"/> <rsc_order id="start-db-before-backup" first="database" then="backup"/> <rsc_order id="promote-db-then-app" first="database" first-action="promote" then="myApp" then-action="start"/> </constraints>
myApp
will wait until one of the database copies has been started and promoted to master before being started itself on the same node. Only if no copies can be promoted will myApp
be prevented from being active. Additionally, the cluster will wait for myApp
to be stopped before demoting the database.
master
or slave
). In the example above, the cluster will choose a location based on where database is running as a master
, and if there are multiple master
instances it will also factor in myApp
's own location preferences when deciding which location to choose.
rsc
clone is (after role filtering) limited to nodes on which the with-rsc
promotable clone resource is (or will be) in the specified role. Placement is then performed as normal.