O processo completo de configuração de um cluster e checagem de status pode ser realizado com o comando cluster
. Em adição ao processo, utilizaremos o comando application
para iniciar instâncias e definir um membro primário.
mt4adm@vmdf-giskard:~$ sudo orbit cluster --help
Usage: orbit cluster <command>
High Availability and Disaster Recovery settings tools
Commands:
cluster config
cluster start
cluster stop
cluster restart
cluster status
cluster arbiter
cluster net-check
cluster nodename
cluster rotate-ssl
Flags:
-h, --help Show context-sensitive help.
Criar o cluster
- Se houver dúvidas sobre a habilitação das conexões entre os nós, utilize o comando
orbit cluster net-check
, adicionando os hosts desejados para verificação. Mais informações em Regras de firewall para a Segura® Platform. - Ative o membro A e o membro B tanto em licença de ativação quanto ativação da aplicação.
Antes de configurar o cluster, é crucial incluir os membros do cluster na lista de permitidos (allow list) do firewall de cada membro. Por exemplo, na membro A, é necessário adicionar à allow list o membro B, e vice-versa. Mais informações em Como gerenciar firewalls com o Orbit CLI.
Possuir um arbitrator em um cluster é crucial para resolver disputas entre nós, garantindo a estabilidade e integridade do sistema. Ele atua como um terceiro neutro em casos de falha, evitando inconsistências e mantendo a confiabilidade do ambiente. Mais informações em Introdução.
Para criar o cluster é necessário ao menos dois membros. Como exemplo, chamaremos os membros como A e B. Veja as seções a seguir para saber como configurar os membros.
Membro A
- Rode o comando
sudo orbit cluster config
e configure o cluster no membro A preenchendo o parâmetro--ip
com o IP da membro A e o parâmetro--nodes
com os IPs do membro A e B respectivamente.
mt4adm@vmdf-giskard:~$ sudo orbit cluster config
--ip=172.18.77.184
--nodes=172.18.77.184,172.18.77.186
--segment=0
--latency="low"
Are you sure you want to proceed: y
Done!
No errors reported
- Rode o comando
sudo orbit cluster start
para iniciar o cluster na membro A e aguarde ao menos 1 minuto para normalização.
mt4adm@vmdf-giskard:~$ sudo orbit cluster start
Are you sure you want to proceed: y
Done!
No errors reported
Para clusters com membros em diferentes data centers, é recomendado utilizar uma latência alta entre os membros.
É importante que os membros de um mesmo data center sejam configurados com o mesmo segmento. Caso haja apenas um membro em cada data center, deixe o campo Segmentos de rede em branco.
MembroB
- Rode o comando
sudo orbit cluster config
e configure o cluster no membro B preenchendo o parâmetro --ip com o IP do membro B e o parâmetro --nodes com os IPs da membro A e B respectivamente.
mt4adm@vmdf-giskard:~$ sudo orbit cluster config
--ip=172.18.77.186
--nodes=172.18.77.184,172.18.77.186
--segment=1
--latency="low"
Are you sure you want to proceed: y
Done!
No errors reported
- Rode o comando
sudo orbit cluster start
para iniciar o cluster no membro B e aguarde ao menos 1 minuto para normalização.
mt4adm@vmdf-giskard:~$ sudo orbit cluster start
Are you sure you want to proceed: y
Done!
No errors reported
Para garantir o funcionamento adequado do cluster, é essencial manter a latência de rede entre os nós abaixo de 30 ms. Além disso, para facilitar a recuperação em casos de falha, são necessárias configurações específicas de recuperação. Mais informações em Configurações de recovery.
Após ambos membros serem configuradas, retorne a membro A e determine-a como primária através do comando orbit application master
:
mt4adm@vmdf-giskard:~$ sudo orbit application master
The application services will be stopped or restarted during the process.
Are you sure you want to proceed: y
Application: Active
Replication: Inactive
Instance: Primary
Status do cluster
Através do comando orbit cluster status
você pode observar diversas propriedades do cluster. Como são muitas informações, não listaremos no manual todos os detalhes. Mas vamos apresentar a informação essencial para entender se o cluster está ativo e sem problemas.
Preste atenção no bloco final do status, chamado Cluster nodes. Neste bloco você verá quem são os membros do cluster e o timestamp de sincronização entre eles. Há também o status do membro atual que deve estar marcada como synced.
mt4adm@vmdf-giskard:~$ sudo orbit cluster status
...
============================================================
Cluster nodes
Cluster member: ID [0] - UUID [64661644-b0df-11ea-80b2-8ee23c1303c0] -
Hostname [vmdf-giskard-3232290344] - Timestamp [1592428528]
Cluster member: ID [1] - UUID [9dff00d8-b0df-11ea-86c4-83725d654e03] -
Hostname [vmdf-giskard-3232290348] - Timestamp [1592428528]
Cluster UUID: 64679b9f-b0df-11ea-a6e5-67ba900fecc0
vmdf-giskard details: status=synced
vmdf-giskard is primary node ?: 1
============================================================