Há momentos em que um administrador precisa substituir o cluster e forçar os resources a serem movidos para um local específico. Neste exemplo, forçaremos o WebSite a mudar para oracle86B.
Usaremos o comando pcs resource move para criar uma restrição temporária com uma pontuação de INFINITY. Embora possamos atualizar nossa constraint(restrição) existente, o uso do move permite livrar-se facilmente da constraint(restrição) temporária mais tarde. Se desejado, poderíamos até dar um tempo de vida para a restrição, para que ela expirasse automaticamente, mas não fazemos isso neste exemplo.
Execute pcs resource move WebSite oracle86
[root@oracle86B ~]# pcs resource move WebSite oracle86 Warning: A move constraint has been created and the resource 'WebSite' may or may not move depending on other configuration
Execute pcs constraint
[root@oracle86B ~]# pcs constraint Location Constraints: Resource: WebSite Enabled on: Node: oracle86 (score:50) Node: oracle86 (score:INFINITY) (role:Started) Ordering Constraints: start ClusterIP then start WebSite (kind:Mandatory) Colocation Constraints: WebSite with ClusterIP (score:INFINITY) Ticket Constraints:
Veja o status executando pcs status
[root@oracle86B ~]# pcs status Cluster name: meuCluster WARNINGS: Following resources have been moved and their move constraints are still in place: 'WebSite' Run 'pcs constraint location' or 'pcs resource clear <resource id>' to view or remove the constraints, respectively ......... Node List: * Online: [ oracle86 oracle86B ] Full List of Resources: * ClusterIP (ocf::heartbeat:IPaddr2): Started oracle86 * WebSite (ocf::heartbeat:apache): Started oracle86 ........
Depois de concluir qualquer atividade que exigisse mover os resources para oracle86, podemos permitir que o cluster retome a operação normal removendo a nova constraint(restrição). Devido à nossa primeira constraint(restrição) de location(localização) e nossa default stickiness(permanência padrão), os resources permanecerão em oracle86.
Usaremos o comando pcs resource clear, que remove todas as constraints(restrições) temporárias criadas anteriormente por pcs resource move ou pcs resource ban.
Execute pcs resource clear WebSite
[root@oracle86B ~]# pcs resource clear WebSite Removing constraint: cli-prefer-WebSite
Veja a remoção com pcs constraint
[root@oracle86B ~]# pcs constraint Location Constraints: Resource: WebSite Enabled on: Node: oracle86 (score:50) Ordering Constraints: start ClusterIP then start WebSite (kind:Mandatory) Colocation Constraints: WebSite with ClusterIP (score:INFINITY) Ticket Constraints:
Observe que a constraint location(restrição de localização) INFINITY desapareceu. Se verificarmos o status do cluster, também veremos que, como esperado, os resources ainda estão ativos no oracle86.
[root@oracle86B ~]# pcs status Cluster name: meuCluster ........ Node List: * Online: [ oracle86 oracle86B ] Full List of Resources: * ClusterIP (ocf::heartbeat:IPaddr2): Started oracle86 * WebSite (ocf::heartbeat:apache): Started oracle86 ........
Para remover a constraint(restrição) com a pontuação de 50, primeiro obtemos o ID da restrição usando pcs constraint --full e, em seguida, removemos com pcs constraint remove e o ID. Não mostraremos essas etapas aqui, mas sinta-se à vontade para tentar por conta própria, com a ajuda da página de manual do pcs, se necessário.