16.4. Movimentação de recursos em um cluster
Pacemaker fornece uma variedade de mecanismos para configurar um recurso para mover de um nó para outro e para mover manualmente um recurso quando necessário.
Você pode mover recursos manualmente em um cluster com os comandos pcs resource move
e pcs resource relocate
, conforme descrito em Movimentação manual de recursos de cluster.
Além destes comandos, você também pode controlar o comportamento dos recursos de cluster, ativando, desativando e proibindo recursos, conforme descrito em Habilitação, desativação e proibição de recursos de cluster.
Você pode configurar um recurso para que ele se mova para um novo nó após um número definido de falhas, e você pode configurar um cluster para mover recursos quando a conectividade externa for perdida.
16.4.1. Movimentação de recursos devido a falhas
Quando você cria um recurso, você pode configurar o recurso para que ele se mova para um novo nó após um número definido de falhas, definindo a opção migration-threshold
para esse recurso. Uma vez atingido o limite, este nó não terá mais permissão para executar o recurso falhado até que seja atingido:
-
O administrador redefine manualmente o recurso
failcount
usando o comandopcs resource cleanup
. -
O valor do recurso
failure-timeout
é alcançado.
O valor de migration-threshold
é definido como INFINITY
por padrão. INFINITY
é definido internamente como um número muito grande, mas finito. Um valor de 0 desativa o recurso migration-threshold
.
Configurar um migration-threshold
para um recurso não é o mesmo que configurar um recurso para migração, no qual o recurso se move para outro local sem perda de estado.
O exemplo seguinte acrescenta um limiar de migração de 10 ao recurso denominado dummy_resource
, o que indica que o recurso se moverá para um novo nó após 10 falhas.
# pcs resource meta dummy_resource migration-threshold=10
Você pode adicionar um limiar de migração aos padrões para todo o cluster com o seguinte comando.
# pcs resource defaults migration-threshold=10
Para determinar o estado atual de falhas e limites do recurso, use o comando pcs resource failcount show
.
Há duas exceções ao conceito de limite de migração; elas ocorrem quando um recurso não inicia ou não pára. Se a propriedade do cluster start-failure-is-fatal
estiver definida para true
(que é o padrão), as falhas de partida fazem com que o failcount
seja definido para INFINITY
e, assim, sempre faz com que o recurso se mova imediatamente.
As falhas de parada são ligeiramente diferentes e cruciais. Se um recurso não parar e o STONITH for ativado, então o agrupamento cercará o nó a fim de poder iniciar o recurso em outro lugar. Se o STONITH não estiver ativado, então o aglomerado não tem como continuar e não tentará iniciar o recurso em outro lugar, mas tentará pará-lo novamente após o timeout de falhas.