Como nosso objetivo final é alta disponibilidade, devemos testar o failover de nosso novo recurso antes de prosseguir.
Veja: O que É failover em Informática?
Temos 2 servidores em nosso cluster: oracle86 e oracle86B. Nopost anterior adicionamos nosso primeiro resource, um IP virtual que em caso de falha no nó ativo irá flutuar para o outro nó e assim continuar o serviço sem interromper as operações dos usuários.
Demos a esse resource o nome de ClusterIP.
Primeiro, encontre o nó no qual o endereço IP virtual está iniciado(started).
[root@oracle86B ~]# pcs status | grep -i "started" * ClusterIP (ocf::heartbeat:IPaddr2): Started oracle86
Podemos ver que o resource ClusterIP está iniciado no oracle86
Iremos simular uma queda do nó oracle86 e observar o resource ClusterIP ir(flutuar) para o outro nó chamado de oracle86B.
Para simular poderíamos reiniciar o servidor oracle86, mas para não termos todo esse trabalho, apenas pare o serviço do pacemaker. Execute: pcs cluster stop oracle86. Esse comando pode ser executado de qualquer nó no cluster, não apenas do nó afetado, ou seja, não apenas no oracle86.
[root@oracle86 ~]# pcs cluster stop oracle86 oracle86: Stopping Cluster (pacemaker)... oracle86: Stopping Cluster (corosync)...
Observe se o pacemaker e pcsd estão iniciados nos dois nós. Se não inicie-os: systemctl start pcsd pacemaker
Podemos acrescentar –force para forçar a parada do serviço:
[root@oracle86 ~]# pcs cluster --force stop oracle86 oracle86: Stopping Cluster (pacemaker)... oracle86: Stopping Cluster (corosync)...
Veja agora que o serviço ClusterIP está inciado no nó oracle86B:
[root@oracle86B ~]# pcs status | grep -i started * ClusterIP (ocf::heartbeat:IPaddr2): Started oracle86B
Retornando o Cluster Defeituoso
Vamos supor que o cluster estava defeituoso e foi reparado. Agora, simule a recuperação do nó reiniciando o cluster no oracle86 e verifique o status do cluster. Pode demorar um pouco até que o cluster entre no nó.
[root@oracle86 ~]# pcs cluster start oracle86 oracle86: Starting Cluster...
Veja no status que mesmo o nó oracle86 estando iniciado o ClusterIP contianua no oracle86B.
[root@oracle86 ~]# pcs status Cluster name: meuCluster Status of pacemakerd: 'Pacemaker is running' (last updated 2023-03-06 12:06:54 -05:00) Cluster Summary: * Stack: corosync * Current DC: oracle86B (version 2.1.4-5.0.1.el8_7.2-dc6eb4362e) - partition with quorum * Last updated: Mon Mar 6 12:06:54 2023 * Last change: Mon Mar 6 10:40:57 2023 by root via cibadmin on oracle86B * 2 nodes configured * 1 resource instance configured Node List: * Online: [ oracle86 oracle86B ] Full List of Resources: * ClusterIP (ocf::heartbeat:IPaddr2): Started oracle86B Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: active/disabled
Se desejar, veremos como fazer o serviço voltar para o cluster que quisermos em post futuro.