Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 17. Criação de recursos de cluster que estão ativos em múltiplos nós (recursos clonados)

Você pode clonar um recurso de cluster para que o recurso possa estar ativo em vários nós. Por exemplo, você pode utilizar recursos clonados para configurar múltiplas instâncias de um recurso IP para distribuir em todo um cluster para balanceamento de nós. Você pode clonar qualquer recurso, desde que o agente de recursos o suporte. Um clone consiste em um recurso ou um grupo de recursos.

Nota

Somente os recursos que podem estar ativos em vários nós ao mesmo tempo são adequados para clonagem. Por exemplo, um recurso Filesystem que monta um sistema de arquivo não exclusivo como ext4 a partir de um dispositivo de memória compartilhada não deve ser clonado. Como a partição ext4 não está ciente do cluster, este sistema de arquivo não é adequado para operações de leitura/gravação que ocorrem a partir de múltiplos nós ao mesmo tempo.

17.1. Criação e remoção de um recurso clonado

Você pode criar um recurso e um clone desse recurso ao mesmo tempo com o seguinte comando.

pcs resource create resource_id [standard:[provider:]]type [resource options] [meta resource meta options] clone [clone options]

O nome do clone será resource_id-clone.

Não se pode criar um grupo de recursos e um clone desse grupo de recursos em um único comando.

Alternativamente, você pode criar um clone de um recurso ou grupo de recursos previamente criado com o seguinte comando.

pcs resource clone resource_id | group_name [clone options]...

O nome do clone será resource_id-clone ou group_name-clone.

Nota

Você precisa configurar as mudanças de configuração de recursos em apenas um nó.

Nota

Ao configurar as restrições, use sempre o nome do grupo ou clone.

Quando você cria um clone de um recurso, o clone assume o nome do recurso com -clone anexado ao nome. Os seguintes comandos criam um recurso do tipo apache chamado webfarm e um clone desse recurso chamado webfarm-clone.

# pcs resource create webfarm apache clone
Nota

Quando você cria um recurso ou clone de grupo de recursos que será encomendado após outro clone, você deve quase sempre definir a opção interleave=true. Isto garante que as cópias do clone dependente possam parar ou começar quando o clone do qual depende tiver parado ou começado no mesmo nó. Se você não definir esta opção, se um recurso clonado B depender de um recurso clonado A e um nó sair do cluster, quando o nó retornar ao cluster e o recurso A começar naquele nó, então todas as cópias do recurso B em todos os nós serão reiniciadas. Isto porque quando um recurso clonado dependente não tem a opção interleave definida, todas as instâncias desse recurso dependem de qualquer instância em execução do recurso do qual ele depende.

Use o seguinte comando para remover um clone de um recurso ou de um grupo de recursos. Isto não remove o recurso ou o próprio grupo de recursos.

pcs resource unclone resource_id | group_name

Tabela 17.1, “Opções de Clonagem de Recursos” descreve as opções que você pode especificar para um recurso clonado.

Tabela 17.1. Opções de Clonagem de Recursos

CampoDescrição

priority, target-role, is-managed

Opções herdadas do recurso que está sendo clonado, conforme descrito em Tabela 10.3, “Meta Opções de Recursos”.

clone-max

Quantas cópias do recurso para começar. O número de nós no agrupamento é o padrão.

clone-node-max

Quantas cópias do recurso podem ser iniciadas em um único nó; o valor padrão é 1.

notify

Ao parar ou iniciar uma cópia do clone, informe todas as outras cópias com antecedência e quando a ação foi bem sucedida. Valores permitidos: false, true. O valor padrão é false.

globally-unique

Cada cópia do clone desempenha uma função diferente? Valores permitidos: false, true

Se o valor desta opção é false, estes recursos se comportam de forma idêntica em todos os lugares onde estão funcionando e, portanto, pode haver apenas uma cópia do clone ativo por máquina.

Se o valor desta opção for true, uma cópia do clone rodando em uma máquina não é equivalente a outra instância, quer essa instância esteja rodando em outro nó ou no mesmo nó. O valor padrão é true se o valor de clone-node-max for maior que um; caso contrário, o valor padrão é false.

ordered

Caso as cópias sejam iniciadas em série (ao invés de em paralelo). Valores permitidos: false, true. O valor padrão é false.

interleave

Muda o comportamento das restrições de pedidos (entre clones) para que as cópias do primeiro clone possam começar ou parar assim que a cópia no mesmo nó do segundo clone tenha começado ou parado (em vez de esperar até que cada instância do segundo clone tenha começado ou parado). Valores permitidos: false, true. O valor padrão é false.

clone-min

Se um valor for especificado, quaisquer clones que forem pedidos após este clone não poderão começar até que o número especificado de instâncias do clone original esteja em execução, mesmo que a opção interleave esteja definida para true.

Para alcançar um padrão de alocação estável, os clones são ligeiramente pegajosos por padrão, o que indica que eles têm uma ligeira preferência por permanecer no nó em que estão correndo. Se não for fornecido um valor para resource-stickiness, o clone usará um valor de 1. Sendo um valor pequeno, ele causa uma perturbação mínima nos cálculos de pontuação de outros recursos, mas é suficiente para evitar que o Pacemaker movimente desnecessariamente cópias em torno do agrupamento. Para informações sobre a configuração da meta-opção de recursos resource-stickiness, consulte Configurando as meta-opções de recursos.