• Nenhum resultado encontrado

DETERMINAÇÃO DA LOCALIZAÇÃO DOS RECURSOS COM REGRAS

No documento Red Hat Enterprise Linux 8 (páginas 162-167)

Eliminação de um recurso configurado

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

Campo Descriçã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

Campo Descrição

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)

Campo Descrição

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

Nome Descrição

#uname Nome 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.

Nome Descrição

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

Campo Descriçã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

Campo Descriçã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).

15.2. CONFIGURAÇÃO DE UMA RESTRIÇÃO DE LOCALIZAÇÃO DE

MARCAPASSO USANDO REGRAS

Use o seguinte comando para configurar uma restrição do Pacemaker que usa regras. Se score for omitido, o padrão é INFINIDADE. Se resource-discovery for omitido, o valor padrão é always. Para informações sobre a opção resource-discovery, consulte Limitando a descoberta de recursos a um subconjunto de nós.

Assim como com as restrições básicas de localização, você pode usar expressões regulares para recursos com estas restrições também.

Ao utilizar regras para configurar restrições de localização, o valor de score pode ser positivo ou negativo, com um valor positivo indicando "prefere" e um valor negativo indicando "evita".

pcs constraint location rsc rule [resource-discovery=option] [role=master|slave] [score=score | score- attribute=attribute] expression

A opção expression pode ser uma das seguintes onde duration_options e date_spec_options são: horas, dias do mês, dias da semana, dias da semana, dias do ano, meses, semanas, anos, anos da semana, lua, conforme descrito em Propriedades de uma Especificação de Data.

defined|not_defined attribute

attribute lt|gt|lte|gte|eq|ne [string|integer|version] value date gt|lt date

date in_range date to date

date in_range date to duration duration_options …​ date-spec date_spec_options

expression and|or expression (expression)

Observe que as durações são uma forma alternativa de especificar um fim para as operações do

in_range por meio de cálculos. Por exemplo, você pode especificar uma duração de 19 meses.

A seguinte restrição de localização configura uma expressão que é verdadeira se agora for em qualquer época do ano de 2018.

# pcs constraint location Webserver rule score=INFINITY date-spec years=2018

O seguinte comando configura uma expressão que é verdadeira das 9h às 17h, de segunda a sexta-feira. Observe que o valor de 16 horas corresponde até 16:59:59, pois o valor numérico (hora) ainda

corresponde.

# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"

O comando seguinte configura uma expressão que é verdadeira quando há lua cheia na sexta-feira, dia treze.

# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4

Para remover uma regra, use o seguinte comando. Se a regra que você está removendo é a última regra em sua restrição, a restrição será removida.

No documento Red Hat Enterprise Linux 8 (páginas 162-167)