Capítulo 20. Operaciones de control de recursos

Para asegurarse de que los recursos se mantienen sanos, puede añadir una operación de monitorización a la definición de un recurso. Si no se especifica una operación de monitorización para un recurso, por defecto el comando pcs creará una operación de monitorización, con un intervalo determinado por el agente de recursos. Si el agente de recursos no proporciona un intervalo de monitorización por defecto, el comando pcs creará una operación de monitorización con un intervalo de 60 segundos.

Tabla 20.1, “Propiedades de una operación” resume las propiedades de una operación de supervisión de recursos.

Tabla 20.1. Propiedades de una operación

CampoDescripción

id

Nombre único para la acción. El sistema lo asigna cuando se configura una operación.

name

La acción a realizar. Valores comunes: monitor, start, stop

interval

Si se establece un valor distinto de cero, se crea una operación recurrente que se repite con esta frecuencia, en segundos. Un valor distinto de cero sólo tiene sentido cuando la acción name se establece en monitor. Una acción de monitorización recurrente se ejecutará inmediatamente después de que se complete el inicio de un recurso, y las acciones de monitorización subsiguientes se programan a partir del momento en que se completó la acción de monitorización anterior. Por ejemplo, si una acción de monitorización con interval=20s se ejecuta a las 01:00:00, la siguiente acción de monitorización no se produce a las 01:00:20, sino a los 20 segundos de completarse la primera acción de monitorización.

Si se establece en cero, que es el valor por defecto, este parámetro permite proporcionar los valores que se utilizarán para las operaciones creadas por el clúster. Por ejemplo, si el interval se establece en cero, el name de la operación se establece en start, y el valor timeout se establece en 40, entonces Pacemaker utilizará un tiempo de espera de 40 segundos al iniciar este recurso. Una operación monitor con un intervalo de cero permite establecer los valores timeout/on-fail/enabled para las sondas que Pacemaker realiza al iniciar para obtener el estado actual de todos los recursos cuando los valores predeterminados no son deseables.

timeout

Si la operación no se completa en la cantidad de tiempo establecida por este parámetro, aborta la operación y la considera fallida. El valor por defecto es el valor de timeout si se establece con el comando pcs resource op defaults, o 20 segundos si no se establece. Si encuentra que su sistema incluye un recurso que requiere más tiempo del que el sistema permite para realizar una operación (como start, stop, o monitor), investigue la causa y si se espera que el tiempo de ejecución sea largo puede aumentar este valor.

El valor de timeout no es un retraso de ningún tipo, ni el clúster espera todo el periodo de tiempo de espera si la operación vuelve antes de que el periodo de tiempo de espera se haya completado.

on-fail

La acción a realizar si esta acción falla. Valores permitidos:

* ignore - Finge que el recurso no ha fallado

* block - No realizar más operaciones en el recurso

* stop - Detener el recurso y no iniciarlo en otro lugar

* restart - Detener el recurso y volver a iniciarlo (posiblemente en un nodo diferente)

* fence - STONITH el nodo en el que falló el recurso

* standby - Alejar los recursos de all del nodo en el que ha fallado el recurso

* demote - Cuando una acción promote falla para el recurso, el recurso será degradado pero no será detenido completamente. Cuando una acción de monitor falla para un recurso, si interval se establece en un valor distinto de cero y role se establece en Master, el recurso se degradará pero no se detendrá por completo.

El valor por defecto de la operación stop es fence cuando STONITH está activado y block en caso contrario. Todas las demás operaciones son por defecto restart.

enabled

Si false, la operación se trata como si no existiera. Valores permitidos: true, false

20.1. Configuración de las operaciones de supervisión de recursos

Puede configurar las operaciones de supervisión cuando cree un recurso, utilizando el siguiente comando.

pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options ]...]

Por ejemplo, el siguiente comando crea un recurso IPaddr2 con una operación de monitorización. El nuevo recurso se llama VirtualIP con una dirección IP de 192.168.0.99 y una máscara de red de 24 en eth2. Se realizará una operación de monitorización cada 30 segundos.

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s

Alternativamente, puede añadir una operación de supervisión a un recurso existente con el siguiente comando.

pcs resource op add resource_id operation_action [operation_properties]

Utilice el siguiente comando para eliminar una operación de recurso configurada.

pcs resource op remove resource_id operation_name operation_properties
Nota

Debe especificar las propiedades exactas de la operación para eliminar correctamente una operación existente.

Para cambiar los valores de una opción de monitorización, puede actualizar el recurso. Por ejemplo, puede crear un VirtualIP con el siguiente comando.

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2

Por defecto, este comando crea estas operaciones.

Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
            stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
            monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)

Para cambiar la operación de parada del tiempo de espera, ejecute el siguiente comando.

# pcs resource update VirtualIP op stop interval=0s timeout=40s

# pcs resource show VirtualIP
 Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2
  Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
              monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
              stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)