Capítulo 11. Determinación de los nodos en los que puede ejecutarse un recurso

Las restricciones de ubicación determinan en qué nodos puede ejecutarse un recurso. Puede configurar las restricciones de ubicación para determinar si un recurso preferirá o evitará un nodo específico.

Además de las restricciones de ubicación, el nodo en el que se ejecuta un recurso está influenciado por el valor resource-stickiness para ese recurso, que determina hasta qué punto un recurso prefiere permanecer en el nodo donde se está ejecutando actualmente. Para obtener información sobre la configuración del valor resource-stickiness, consulte Configuración de un recurso para que prefiera su nodo actual.

11.1. Configurar las restricciones de ubicación

Puede configurar una restricción de ubicación básica para especificar si un recurso prefiere o evita un nodo, con un valor opcional score para indicar el grado relativo de preferencia de la restricción.

El siguiente comando crea una restricción de ubicación para que un recurso prefiera el nodo o nodos especificados. Tenga en cuenta que es posible crear restricciones en un recurso concreto para más de un nodo con un solo comando.

pcs restricción ubicación rsc prefiere node[=score] [node[=score]] ...

El siguiente comando crea una restricción de ubicación para que un recurso evite el nodo o nodos especificados.

pcs restricción ubicación rsc evita node[=score] [node[=score]] ...

Tabla 11.1, “Opciones de restricción de ubicación” resume el significado de las opciones básicas para configurar las restricciones de ubicación.

Tabla 11.1. Opciones de restricción de ubicación

CampoDescripción

rsc

Un nombre de recurso

node

El nombre de un nodo

score

Valor entero positivo para indicar el grado de preferencia para que el recurso dado prefiera o evite el nodo dado. INFINITY es el valor por defecto de score para una restricción de localización de recursos.

Un valor de INFINITY para score en un comando pcs contraint location rsc prefers indica que el recurso preferirá ese nodo si el nodo está disponible, pero no impide que el recurso se ejecute en otro nodo si el nodo especificado no está disponible.

Un valor de INFINITY para score en un comando pcs contraint location rsc avoids indica que el recurso nunca se ejecutará en ese nodo, incluso si no hay otro nodo disponible. Esto es el equivalente a establecer un comando pcs constraint location add con un valor de -INFINITY.

Una puntuación numérica (es decir, no INFINITY) significa que la restricción es opcional, y se respetará a menos que algún otro factor la supere. Por ejemplo, si el recurso ya está colocado en un nodo diferente, y su puntuación resource-stickiness es mayor que la de una restricción de ubicación prefers, entonces el recurso se dejará donde está.

El siguiente comando crea una restricción de ubicación para especificar que el recurso Webserver prefiere el nodo node1.

pcs ubicación de la restricción El servidor web prefiere el nodo1

pcs admite expresiones regulares en las restricciones de ubicación en la línea de comandos. Estas restricciones se aplican a múltiples recursos basados en la expresión regular que coincide con el nombre del recurso. Esto le permite configurar múltiples restricciones de ubicación con una sola línea de comandos.

El siguiente comando crea una restricción de ubicación para especificar que los recursos dummy0 a dummy9 prefieren node1.

pcs ubicación de la restricción 'regexp mmy[0-9]' prefiere el nodo1

Dado que Pacemaker utiliza expresiones regulares extendidas de POSIX, como se documenta en http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04puede especificar la misma restricción con el siguiente comando.

pcs constraint location 'regexp mmy[[:digit:]]' prefiere el nodo1