Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Mecanismos de atualização e recuperação de desastres

Em dispositivos de borda distribuídos e sem supervisão local, atualizar com segurança é tão importante quanto manter a operação contínua. O JelinaOS combina sistema duplo A/B, política inteligente de troca e vários canais de atualização em uma solução integrada de atualização e recuperação.

Antes da atualização Durante a atualização Após a atualização (verificação aprovada)
┌──────────┐ ┌──────────┐ ┌──────────┐
│ System A │ ◀── Em execução │ System A │ ◀── Continua em execução │ System A │ ◀── Continua em execução
│ System B │ │ System B │ ◀── Gravar nova versão │ System B │ ✅ Verificação aprovada
└──────────┘ └──────────┘ └──────────┘
Alternar para B na próxima inicialização
  • O dispositivo executa sempre uma das cópias do sistema, enquanto a atualização é gravada na outra.
  • Após concluir a atualização, a próxima inicialização troca automaticamente de cópia e verifica a integridade do novo sistema.
  • Se a inicialização ou a validação falhar, ocorre o retorno automático ao sistema anterior: o dispositivo continua funcionando como antes da tentativa de atualização.

Diferença em relação a um sistema de inicialização dupla comum

Seção intitulada “Diferença em relação a um sistema de inicialização dupla comum”

Em um sistema duplo tradicional, o usuário escolhe manualmente qual iniciar, e cada sistema acumula seu próprio estado de forma independente. No JelinaOS:

  • As duas cópias servem de backup uma para a outra e permanecem no estado de fábrica.
  • Todas as gravações de execução vão para a partição de dados, separadas do sistema.
  • A política de inicialização realiza a troca automaticamente, sem intervenção.

O JelinaOS oferece diferentes métodos para diferentes cenários:

Canal Cenário Descrição
OTA pela nuvem Dispositivos conectados ao JelinaCloud Planos orquestrados na nuvem, distribuição em lote, versões fixas e execução por grupos
OTA local Ambiente offline ou sob controle local Aplicação de pacotes pelas ferramentas do dispositivo, sob controle da equipe local
Pacote offline Instalações remotas sem conectividade Download prévio e aplicação offline de atualizações de sistema, kernel, agente e aplicações
Atualização incremental Largura de banda limitada Transfere apenas diferenças, reduzindo o volume e o tempo de atualização

Para instalações críticas, o JelinaOS permite exigir confirmação local antes de atualizar:

  • A nova versão recebida da nuvem é armazenada no dispositivo e não é executada imediatamente.
  • A instalação só começa após a confirmação da equipe local.
  • A equipe local mantém a decisão final, evitando os riscos de uma atualização remota aplicada sem confirmação no campo.

A cada inicialização, o sistema verifica a integridade da partição atual. Se houver uma anomalia, tenta automaticamente a outra cópia para que o dispositivo entre em um estado utilizável.

O watchdog do sistema monitora continuamente a execução:

  • Intervém automaticamente se o sistema parar de responder ou um serviço crítico apresentar falha.
  • Permite configurar políticas de reinício e ações de recuperação.
  • Com o sistema duplo A/B, forma um fluxo completo de detecção, recuperação e alternativa final.

Quando ocorre um erro, as políticas integradas podem iniciar o reparo automaticamente. Primeiro, tentam recuperar o sistema atual; se necessário, trocam para a cópia de reserva, reduzindo a necessidade de intervenção.

A partição de recuperação permite devolver o dispositivo ao estado inicial:

  • Redefinição em uma operação: restaura o sistema e as gravações do usuário ao estado de fábrica, como em uma instalação nova.
  • Proteção dos dados: faça backup prévio de todos os dados importantes que precisar preservar.
  • Recuperação rápida: o processo é automatizado, sem ferramentas especializadas ou operações complexas.
Operação diária ──▶ Publicar atualização local/na nuvem ──▶ Gravar na partição de reserva
│
▼
Confirmação local (opcional) ──▶ Reiniciar e alternar ──▶ Verificar novo sistema
│ │
│ ✅ Aprovado: continuar executando
│ │
└── ❌ Falha: retornar automaticamente ao sistema anterior, sem afetar a operação

O compromisso de recuperação do JelinaOS é oferecer sempre um caminho de retorno para as atualizações e proteção para a continuidade do negócio.