16.4. Desplazamiento de recursos en un clúster
Pacemaker proporciona una variedad de mecanismos para configurar un recurso para que se mueva de un nodo a otro y para mover manualmente un recurso cuando sea necesario.
Puede mover manualmente los recursos de un clúster con los comandos pcs resource move
y pcs resource relocate
, como se describe en Mover manualmente los recursos del clúster.
Además de estos comandos, también puede controlar el comportamiento de los recursos del clúster habilitando, deshabilitando y prohibiendo recursos, como se describe en Habilitación, deshabilitación y prohibición de recursos del clúster.
Puedes configurar un recurso para que se mueva a un nuevo nodo después de un número definido de fallos, y puedes configurar un clúster para que mueva los recursos cuando se pierda la conectividad externa.
16.4.1. Desplazamiento de recursos por avería
Cuando creas un recurso, puedes configurar el recurso para que se mueva a un nuevo nodo después de un número definido de fallos, estableciendo la opción migration-threshold
para ese recurso. Una vez alcanzado el umbral, este nodo ya no podrá ejecutar el recurso fallido hasta:
-
El administrador restablece manualmente el recurso
failcount
mediante el comandopcs resource cleanup
. -
Se alcanza el valor del recurso
failure-timeout
.
El valor de migration-threshold
se establece por defecto en INFINITY
. INFINITY
se define internamente como un número muy grande pero finito. Un valor de 0 desactiva la función migration-threshold
.
Configurar un migration-threshold
para un recurso no es lo mismo que configurar un recurso para la migración, en la que el recurso se mueve a otra ubicación sin pérdida de estado.
El siguiente ejemplo añade un umbral de migración de 10 al recurso llamado dummy_resource
, que indica que el recurso se moverá a un nuevo nodo después de 10 fallos.
# pcs resource meta dummy_resource migration-threshold=10
Puede añadir un umbral de migración a los valores predeterminados para todo el clúster con el siguiente comando.
# pcs resource defaults migration-threshold=10
Para determinar el estado actual de los fallos y los límites del recurso, utilice el comando pcs resource failcount show
.
Hay dos excepciones al concepto de umbral de migración; ocurren cuando un recurso falla al arrancar o falla al parar. Si la propiedad del clúster start-failure-is-fatal
se establece en true
(que es el valor predeterminado), los fallos de arranque hacen que failcount
se establezca en INFINITY
y, por lo tanto, siempre hacen que el recurso se mueva inmediatamente.
Los fallos de parada son ligeramente diferentes y cruciales. Si un recurso falla al detenerse y STONITH está habilitado, entonces el cluster cercará el nodo para poder iniciar el recurso en otro lugar. Si STONITH no está habilitado, entonces el cluster no tiene forma de continuar y no intentará iniciar el recurso en otro lugar, sino que intentará detenerlo de nuevo después del tiempo de espera del fallo.