Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 15. Determinação da localização dos recursos com regras

Para restrições de localização mais complicadas, você pode usar as regras do Pacemaker para determinar a localização de um recurso.

15.1. Regras do marcapasso

As regras podem ser usadas para tornar sua configuração mais dinâmica. Um uso de regras pode ser o de atribuir máquinas a diferentes grupos de processamento (usando um atributo de nó) com base no tempo e depois usar esse atributo ao criar restrições de localização.

Cada regra pode conter uma série de expressões, expressões de datas e até mesmo outras regras. Os resultados das expressões são combinados com base no campo da regra boolean-op para determinar se a regra finalmente avalia para true ou false. O que acontece em seguida depende do contexto em que a regra está sendo usada.

Tabela 15.1. Propriedades de uma regra

CampoDescrição

role

Limita a regra a ser aplicada somente quando o recurso está nessa função. Valores permitidos: Started, Slave, e Master. NOTA: Uma regra com role="Master" não pode determinar a localização inicial de uma instância clonal. Ela somente afetará quais das instâncias ativas serão promovidas.

score

A pontuação a aplicar se a regra for avaliada para true. Limitada a ser usada em regras que fazem parte das restrições de localização.

score-attribute

O atributo do nó a ser procurado e usado como pontuação se a regra for avaliada para true. Limitado ao uso em regras que são parte das restrições de localização.

boolean-op

Como combinar o resultado de objetos de expressão múltipla. Valores permitidos: and e or. O valor padrão é and.

15.1.1. Expressões de atributos de nós

As expressões de atributos de nós são utilizadas para controlar um recurso com base nos atributos definidos por um ou mais nós.

Tabela 15.2. Propriedades de uma Expressão

CampoDescrição

attribute

O atributo do nó a ser testado

type

Determina como o(s) valor(es) deve(m) ser testado(s). Valores permitidos: string, integer, version. O valor padrão é string.

operation

A comparação a ser feita. Os valores permitidos:

* lt - Verdadeiro se o valor do atributo do nó for inferior a value

* gt - Verdadeiro se o valor do atributo do nó for maior que value

* lte - Verdadeiro se o valor do atributo do nó for menor ou igual a value

* gte - Verdadeiro se o valor do atributo do nó for maior ou igual a value

* eq - Verdadeiro se o valor do atributo do nó for igual a value

* ne - Verdadeiro se o valor do atributo do nó não for igual a value

* defined - Verdadeiro se o nó tiver o atributo nomeado

* not_defined - Verdadeiro se o nó não tiver o atributo nomeado

value

Valor fornecido pelo usuário para comparação (necessário, a menos que operation seja defined ou not_defined)

Além de quaisquer atributos adicionados pelo administrador, o cluster define atributos de nó especiais e integrados para cada nó que também podem ser usados, como descrito em Tabela 15.3, “Atributos dos nós embutidos”.

Tabela 15.3. Atributos dos nós embutidos

NomeDescrição

#uname

Nome do nó

#id

Identificação do nó

#kind

Tipo de nó. Os valores possíveis são cluster, remote, e container. O valor de kind é remote para nós Pacemaker Remote criados com o recurso ocf:pacemaker:remote, e container para nós Pacemaker Remote guest e nós de pacote.

#is_dc

true se este nó for um Controlador Designado (DC), false caso contrário

#cluster_name

O valor da propriedade do cluster cluster-name, se definido

#site_name

O valor do atributo do nó site-name, se definido, caso contrário idêntico ao #cluster-name

#role

O papel que o clone promocional relevante tem sobre este nó. Válido somente dentro de uma regra para uma restrição de localização para um clone promocional.

15.1.2. Expressões baseadas em tempo/data

As expressões de data são usadas para controlar um recurso ou opção de cluster com base na data/hora atual. Elas podem conter uma especificação de data opcional.

Tabela 15.4. Propriedades de uma expressão de data

CampoDescrição

start

Uma data/hora em conformidade com a especificação ISO8601.

end

Uma data/hora em conformidade com a especificação ISO8601.

operation

Compara a data/hora atual com a data inicial ou final ou ambas as datas, dependendo do contexto. Valores permitidos:

* gt - Verdadeiro se a data/hora atual for depois start

* lt - Verdadeiro se a data/hora atual for antes end

* in_range - Verdadeiro se a data/hora atual for depois de start e antes end

* date-spec - realiza uma comparação cronológica com a data/hora atual

15.1.3. Especificações de data

As especificações de data são usadas para criar expressões semelhantes a cron cron cronômetro relacionadas ao tempo. Cada campo pode conter um único número ou um único intervalo. Em vez de ser padrão a zero, qualquer campo não fornecido é ignorado.

Por exemplo, monthdays="1" corresponde ao primeiro dia de cada mês e hours="09-17" corresponde ao horário entre 9h e 17h (inclusive). Entretanto, não é possível especificar weekdays="1,2" ou weekdays="1-2,5-6", uma vez que eles contêm múltiplos intervalos.

Tabela 15.5. Propriedades de uma especificação de data

CampoDescrição

id

Um nome único para a data

hours

Valores permitidos: 0-23

monthdays

Valores permitidos: 0-31 (dependendo do mês e do ano)

weekdays

Valores permitidos: 1-7 (1=Domingo, 7=Domingo)

yeardays

Valores permitidos: 1-366 (dependendo do ano)

months

Valores permitidos: 1-12

weeks

Valores permitidos: 1-53 (dependendo de weekyear)

years

Ano de acordo com o calendário gregoriano

weekyears

Pode diferir dos anos gregorianos; por exemplo, 2005-001 Ordinal é também 2005-01-01 Gregorian é também 2004-W53-6 Weekly

moon

Valores permitidos: 0-7 (0 é novo, 4 é lua cheia).