Documentation Index

Fetch the complete documentation index at: https://docs.senhasegura.io/llms.txt

Use this file to discover all available pages before exploring further.

Como gerenciar um cluster

Prev Next

Este documento descreve como criar, configurar e monitorar um cluster na Segura® Platform utilizando o Orbit CLI.

O comando orbit cluster configura a topologia do cluster, converge cada nó ao estado declarado e verifica a saúde do ambiente.

Pré-requisitos

  • Duas ou mais VMs da Segura® Platform implantadas e em execução com a mesma versão.
  • Todas as VMs com recursos de computação idênticos ou equivalentes (CPU, RAM, disco).
  • Conectividade full mesh confirmada entre todos os nós.
  • Todos os appliances com licença aplicada individualmente e operando em modo standalone.
  • Acesso SSH a todos os nós com privilégios sudo para rodar os comandos orbit.

Criar o cluster

Configure o cluster exclusivamente pelo Orbit CLI. A versão 4.2.9 descontinuou a configuração via interface web; não utilize mais essa opção.

Passo 1: Verificação inicial

Antes de qualquer configuração, rode as verificações a seguir em todos os nós.

  1. Confirme que todos os nós estão em modo standalone e em execução:

    sudo orbit app status
    

    Saída esperada em cada nó antes da configuração do cluster:

    Application: Active
    Replication: Inactive
    Instance:    Primary
    Node Name:   <node_hostname>
    Maintenance: No
    Main:        Yes
    
  2. Confirme a conectividade de rede entre os nós. A partir de cada nó, verifique se as portas a seguir estão acessíveis nos demais nós:

    nmap -p 9300,4567,4248,443 <IP_do_outro_nó>
    
  3. Confirme que todos os nós estão na mesma versão da Segura® Platform:

    sudo orbit version
    
  4. Confirme que todos os serviços estão em execução em todos os nós:

    sudo orbit services list
    

    Saída esperada para todos os serviços:

    Active: active (running)
    

Passo 2: Realizar a configuração em cada nó

Rode o comando a seguir em cada nó que fará parte do cluster, antes de aplicar a configuração em qualquer um deles.

sudo orbit cluster configure

O assistente interativo solicitará as seguintes informações, nesta ordem:

Cluster primary IP:
Secondary node IPs (one per line, blank to finish):
  Secondary IP #1 (blank to finish):
  Secondary IP #2 (blank to finish):
  ...
Arbiter IP (blank for none):
  • Em Cluster primary IP, informe o IP do nó primário. Use o mesmo valor em todos os nós.
  • Em cada solicitação de Secondary IP, informe os IPs dos nós secundários, um por linha, na mesma ordem em todos os nós. Deixe o próximo prompt em branco para finalizar a lista.
  • Em Arbiter IP, deixe em branco caso não haja árbitro no ambiente.

Ao concluir, o assistente exibe um resumo. Confirme se os valores estão corretos antes de prosseguir para o próximo nó:

Configuration summary:
  mode       : cluster
  role       : primary
  file sync  : true
  primary    : <node1-ip>
  secondaries: <node2-ip>, <node3-ip>
  arbiter    : (none)
Atenção

As configurações devem ser idênticas em todos os nós do cluster, especialmente a ordem dos endereços IP dos membros. Configurações incorretas podem causar indisponibilidade ou perda de dados. Não avance para o Passo 3 até que o comando orbit cluster configure tenha sido concluído em todos os nós.

Passo 3: Aplicar a configuração nó a nó

Somente após a conclusão do Passo 2 em todos os nós, aplique a configuração em um nó por vez, começando pelo nó primário.

Atenção

Não rode o comando orbit cluster apply em mais de um nó simultaneamente. Iniciar o comando no próximo nó antes do nó anterior concluir e sincronizar o processo pode causar falha na formação do cluster.

  1. No nó atual, abra uma sessão screen e aplique a configuração. Este passo é demorado. Aguarde a conclusão antes de verificar a saída:

    sudo screen -S cluster
    sudo orbit cluster apply
    

    Saída esperada ao final:

    Cluster apply completed on this node. Verify with 'orbit cluster status'.
    
  2. Confirme que a replicação foi concluída antes de avançar para o próximo nó:

    grep "Synchronized with group, ready for connections" /var/log/mysql/mysql-error.log
    

    Saída esperada:

    <data atual> [Note] WSREP: Synchronized with group, ready for connections
    
  3. Somente após confirmar as condições dos itens 1 e 2 no nó atual, avance para o próximo nó e repita o Passo 3.

Verificar o status do cluster

Verifique o status geral do cluster:

sudo orbit cluster status

Saída esperada no nó primário:

Cluster status
  mode           : cluster
  declared role  : primary
  primary node   : <node1-ip>
  this is primary: true
  galera        : healthy (Synced)
  nats          : managed
  elasticsearch : managed
Cluster is healthy.

Verifique o status da aplicação no nó primário:

sudo orbit app status

Saída esperada no nó primário:

Application: Active
Replication: Active
Instance:    Cluster
Node Name:   cluster1_<id>
Primary:     cluster1_<id>
Main:        Yes

No nó secundário, a saída deve indicar:

  • Application: Active.
  • Replication: Active.
  • Instance: Cluster.
  • Primary: apontando para o nome do nó primário.
  • Main: No.

Verifique o status do Elasticsearch:

sudo orbit elasticsearch status

A saída deve exibir "status": "green", com number_of_nodes e number_of_data_nodes correspondendo ao total de nós, e unassigned_shards: 0.

Atenção

O cluster está completamente operacional somente quando todos os nós reportam Application: Active, Replication: Active e Instance: Cluster.

Solução de problemas

Erros de autenticação NATS durante a formação inicial do cluster

Durante os primeiros 1 a 2 minutos após a formação do cluster, os logs do nats-senhasegura / nats-qr-senhasegura podem exibir mensagens como:

[WRN] Auth callout violation
[ERR] ... authentication error - Nkey "..."

Esse comportamento é transitório e se resolve automaticamente quando o cluster converge. Trate como um problema real apenas se os erros de auth/nkey continuarem por mais de 5 minutos após a conclusão do comando orbit cluster apply. Nesse caso, verifique os logs do serviço nats-senhasegura no nó afetado.

Mensagens periódicas de desconexão SSL no log do MySQL

O arquivo mysql-error.log pode exibir periodicamente (a cada 30 a 60 segundos):

WSREP: Failed to establish connection: unexpected eof while reading (SSL routines)

Essa mensagem pode aparecer mesmo em clusters saudáveis e não indica necessariamente uma falha de replicação. Antes de tratar como problema, confirme a saúde do cluster diretamente:

sudo mysql -e "SHOW STATUS LIKE 'wsrep_%';"

Verifique se:

  • wsrep_cluster_status está com o valor Primary.
  • wsrep_ready está com o valor ON.
  • wsrep_local_state_comment está com o valor Synced.