6.3. Colocación de recursos

Una restricción de colocación determina la ubicación de un recurso depende de la ubicación de otro recurso.
Hay un efecto importante al crear una restricción de colocación entre dos recurso: afecta el orden en que los recursos se asignen al nodo. Esto se debe a que no puede colocarse un recurso A relativo al recurso B, a menos que usted sepa en dónde se encuentra el recurso B. Por lo tanto, cuando cree restricciones de colocación, es importante considerar si debe colocar el recurso A con el recurso B con el recurso A.
Algo que también hay que tener en cuenta al crear restricciones de colocación es presumir que como el recurso A está colocado con el recurso B, el clúster también tendrá en cuenta las preferencias del recurso A para decidir qué nodo elegir para el recurso B.
El siguiente comando crea una restricción de colocación.
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
Para obtener información sobre recursos maestros y esclavos, consulte la Sección 8.2, “Recursos multiestados: Recursos que tienen modos múltiples”.
La Tabla 6.3, “Propiedades de una restricción de colocación”. resume las propiedades y opciones para configurar restricciones de colocación.

Tabla 6.3. Propiedades de una restricción de colocación

CampoDescripción
source_resource
La fuente de colocación. Si la restricción no se puede satisfacer, el clúster decide no permitir que el recurso se ejecute de ninguna manera.
target_resource
El destino de la colocación. El clúster primero decidirá dónde colocar este recurso y luego dónde colocar el recurso de origen.
Puntaje
Los valores positivos indican que el recurso debe ejecutarse en el mismo nodo. Los valores negativos indican que los recursos no se deberían ejecutar en el mismo nodo. Un valor de + INFINITY, el valor predeterminado, indica que source_resource debe ejecutarse en el mismo nodo como target_resource. Un valor de -INFINITY indica que source_resource no debe ejecutarse en el mismo nodo como un target_resource.

6.3.1. Colocación obligatoria

La colocación obligatoria ocurre en cualquier momento en que el puntaje de restricción sea +INFINITY o -INFINITY. en estos casos, si la restricción no puede satisfacerse, entonces no se permite ejecutar source_resource. Para score=INFINITY, esta incluye casos donde target_resource no está activo.
También, si necesita configurar myresource1 para que siempre se ejecute en la misma máquina como myresource1, usted agregaría la siguiente restricción:
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
Debido a que se utilizó INFINITY, si myresource2 no puede ejecutarse en ninguno de los nodos de clúster (por la razón que sea) entonces myresource1 no podrá ejecutarse.
También, si desea configurar el opuesto, un clúster en el cual myresource1 no pueda ejecutarse en la misma máquina como myresource2. En este caso, use score=-INFINITY
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
De nuevo, al especificar -INFINITY, la restricción es la vinculación. Por lo tanto, si el único sitio que queda para ejecutarse es donde myresource2 ya se está, entonces myresource1 no puede ejecutarse en ninguna parte.