Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 57. Colocando recursos de cluster

Para especificar que a localização de um recurso depende da localização de outro recurso, você configura uma restrição de colocação.

Há um importante efeito colateral de criar uma restrição de colocação entre dois recursos: ela afeta a ordem na qual os recursos são atribuídos a um nó. Isto porque não se pode colocar o recurso A em relação ao recurso B, a menos que se saiba onde está o recurso B. Portanto, quando você estiver criando restrições de colocação, é importante considerar se você deve colocar o recurso A com o recurso B ou o recurso B com o recurso A.

Outra coisa a ter em mente ao criar restrições de colocação é que, supondo que o recurso A esteja colocado com o recurso B, o agrupamento também levará em conta as preferências do recurso A ao decidir qual nó escolher para o recurso B.

O seguinte comando cria uma restrição de colocação.

pcs constraint colocation add [master|slave] source_resource com [master|slave] target_resource [score] [options]

Tabela 57.1, “Propriedades de uma Restrição de Colocação”, resume as propriedades e opções para a configuração de restrições de colocação.

Tabela 57.1. Propriedades de uma Restrição de Colocação

CampoDescrição

fonte_resource

A fonte de colocação. Se a restrição não puder ser satisfeita, o agrupamento pode decidir não permitir que o recurso funcione de forma alguma.

target_resource

O alvo da colocação. O agrupamento decidirá onde colocar este recurso em primeiro lugar e então decidirá onde colocar o recurso fonte.

pontuação

Os valores positivos indicam que o recurso deve funcionar no mesmo nó. Os valores negativos indicam que os recursos não devem ser executados no mesmo nó. Um valor de INFINITY, o valor padrão, indica que o source_resource deve rodar no mesmo nó que o target_resource. Um valor de -INFINITY indica que o source_resource não deve rodar no mesmo nó que o target_resource.

57.1. Especificar a colocação obrigatória de recursos

A colocação obrigatória ocorre sempre que a pontuação da restrição é INFINITY ou -INFINITY. Nesses casos, se a restrição não puder ser satisfeita, então o source_resource não tem permissão para funcionar. Para score=INFINITY, isto inclui casos em que o target_resource não está ativo.

Se você precisar que myresource1 funcione sempre na mesma máquina que myresource2, você acrescentaria a seguinte restrição:

# pcs constraint colocation add myresource1 with myresource2 score=INFINITY

Como INFINITY foi utilizado, se myresource2 não puder funcionar em nenhum dos nós de cluster (por qualquer razão), então myresource1 não será permitido funcionar.

Alternativamente, você pode querer configurar o oposto, um cluster no qual myresource1 não pode funcionar na mesma máquina que myresource2. Neste caso, use score=-INFINITY

# pcs constraint colocation add myresource1 with myresource2 score=-INFINITY

Mais uma vez, especificando -INFINITY, a restrição é vinculativa. Portanto, se o único lugar que resta para correr é onde já está myresource2, então myresource1 não pode correr em nenhum lugar.