Capítulo 23. Configuração de uma estratégia de posicionamento do nó
O pacemaker decide onde colocar um recurso de acordo com as pontuações de alocação de recursos em cada nó. O recurso será alocado ao nó onde o recurso tiver a pontuação mais alta. Esta pontuação de alocação é derivada de uma combinação de fatores, incluindo restrições de recursos, configurações resource-stickiness, histórico anterior de falhas de um recurso em cada nó, e utilização de cada nó.
Se as pontuações de alocação de recursos em todos os nós forem iguais, pela estratégia de colocação padrão o Pacemaker escolherá um nó com o menor número de recursos alocados para equilibrar a carga. Se o número de recursos em cada nó for igual, o primeiro nó elegível listado na CIB será escolhido para executar o recurso.
Muitas vezes, porém, recursos diferentes utilizam proporções significativamente diferentes das capacidades de um nó (como memória ou E/S). Nem sempre é possível equilibrar a carga de forma ideal levando em conta apenas o número de recursos alocados a um nó. Além disso, se os recursos forem colocados de forma que suas necessidades combinadas excedam a capacidade fornecida, eles podem não conseguir iniciar completamente ou podem funcionar com desempenho degradado. Para levar estes fatores em consideração, o Pacemaker permite configurar os seguintes componentes:
- a capacidade que um determinado nó proporciona
- a capacidade que um determinado recurso requer
- uma estratégia global para a colocação de recursos
23.1. Atributos de utilização e estratégia de colocação Copiar o linkLink copiado para a área de transferência!
Para configurar a capacidade que um nó fornece ou um recurso requer, você pode usar utilization attributes para nós e recursos. Você faz isso definindo uma variável de utilização para um recurso e atribuindo um valor a essa variável para indicar o que o recurso requer, e então definindo essa mesma variável de utilização para um nó e atribuindo um valor a essa variável para indicar o que o nó fornece.
Você pode nomear atributos de utilização de acordo com suas preferências e definir tantos pares de nomes e valores quanto suas necessidades de configuração. Os valores dos atributos de utilização devem ser números inteiros.
23.1.1. Configuração do nó e da capacidade de recursos Copiar o linkLink copiado para a área de transferência!
O exemplo a seguir configura um atributo de utilização da capacidade da CPU para dois nós, definindo este atributo como a variável cpu. Ele também configura um atributo de utilização da capacidade de RAM, definindo este atributo como a variável memory. Neste exemplo:
- O Nó 1 é definido como fornecendo uma capacidade de CPU de dois e uma capacidade de RAM de 2048
- O Nó 2 é definido como fornecendo uma capacidade de CPU de quatro e uma capacidade de RAM de 2048
pcs node utilization node1 cpu=2 memory=2048 pcs node utilization node2 cpu=4 memory=2048
# pcs node utilization node1 cpu=2 memory=2048
# pcs node utilization node2 cpu=4 memory=2048
O exemplo a seguir especifica os mesmos atributos de utilização que três recursos diferentes exigem. Neste exemplo:
-
recurso
dummy-smallrequer uma capacidade de CPU de 1 e uma capacidade de RAM de 1024 -
recurso
dummy-mediumrequer uma capacidade de CPU de 2 e uma capacidade de RAM de 2048 -
recurso
dummy-largerequer uma capacidade de CPU de 1 e uma capacidade de RAM de 3072
pcs resource utilization dummy-small cpu=1 memory=1024 pcs resource utilization dummy-medium cpu=2 memory=2048 pcs resource utilization dummy-large cpu=3 memory=3072
# pcs resource utilization dummy-small cpu=1 memory=1024
# pcs resource utilization dummy-medium cpu=2 memory=2048
# pcs resource utilization dummy-large cpu=3 memory=3072
Um nó é considerado elegível para um recurso se tiver capacidade livre suficiente para satisfazer as necessidades do recurso, conforme definido pelos atributos de utilização.
23.1.2. Configuração da estratégia de colocação Copiar o linkLink copiado para a área de transferência!
Após ter configurado as capacidades que seus nós fornecem e as capacidades que seus recursos requerem, você precisa definir a propriedade do cluster placement-strategy, caso contrário, as configurações de capacidade não terão efeito.
Quatro valores estão disponíveis para a propriedade do cluster placement-strategy:
-
default -
utilization -
balanced -
minimal
O seguinte exemplo de comando estabelece o valor de placement-strategy para balanced. Após executar este comando, Pacemaker assegurará que a carga de seus recursos será distribuída uniformemente por todo o cluster, sem a necessidade de complicados conjuntos de restrições de colocação.
pcs property set placement-strategy=balanced
# pcs property set placement-strategy=balanced