Skip to content

Backup e restauração

O central tem um só portador de estado — PostgreSQL. Ou seja, todo o backup da instalação é um dump regular de um banco; nem os diretórios de estado dos streamers nem o arquivo entram nele, e nenhum é preciso para restaurar o plano de controle.

Tire dumps

pg_dump -U catena catena > catena-$(date +%F).sql

As credenciais estão no DATABASE_URL de /etc/catena/secrets.env. Ponha num timer e leve as cópias para fora da máquina: o dump é pequeno (configuração e registros, não mídia), tirá-lo até de hora em hora não custa nada.

Guarde o próprio arquivo /etc/catena/secrets.env uma vez, na instalação: ele não está no dump, e uma instalação restaurada precisará das mesmas senhas.

Restauração

O procedimento está verificado de ponta a ponta — do dump ao cluster vivo de novo:

  1. Pare o central: systemctl stop catena.
  2. Recrie o banco e carregue o dump:
psql -U catena -d postgres -c 'DROP DATABASE catena WITH (FORCE);' -c 'CREATE DATABASE catena OWNER catena;'
psql -U catena -d catena < catena-2026-07-21.sql
  1. Inicie o central: systemctl start catena.

Nada mais é preciso: os canais, o registro e as configurações voltaram com o dump, e os streamers — que todo esse tempo transmitiram por conta própria — reconectam automaticamente, dentro da pausa de repetição de um minuto. Se o dump for mais velho do que o que os streamers chegaram a aplicar, eles recebem do central um sinal explícito e tomam o estado dele como a verdade — retrocesso de versões não rasga o cluster.

Destruição completa do central — a transmissão não para

Esta é a garantia principal da arquitetura do Catena: perder a máquina do central inteira — disco, banco, tudo — não interrompe o ar. Os streamers transmitem de forma autônoma, os espectadores continuam assistindo, e enquanto você constrói um central novo, nenhum deles percebe.

  1. Instale o Catena numa máquina nova (instalação) sem entrar no console.
  2. Devolva o /etc/catena/secrets.env guardado (ou escreva o DATABASE_URL antigo no novo, se o banco era externo e sobreviveu).
  3. Restaure o banco do dump como acima e inicie o serviço.

Os streamers encontram o novo central no endereço de sempre e reconectam — as chaves deles chegaram no dump junto com o registro. O plano de controle morreu e foi reconstruído do zero, e a transmissão não percebeu: o ar não parou nem por um segundo.

Se não há dump — o plano de controle se constrói de novo: um central vazio, canais criados do zero, e cada streamer órfão é reengatado com reset de estado e token novo. O ar segue também nesse cenário — mas a configuração de canais terá que ser refeita à mão. Um pg_dump regular poupa você do rebalanceamento do cluster inteiro.

O que não precisa de backup

  • Os diretórios de estado dos streamers — é a identidade de uma máquina concreta; se ela morre, a máquina simplesmente é aderida de novo.
  • O arquivo DVR — mídia nos discos dos streamers; a segurança dele é assunto de discos e replicação, não do dump do banco.
  • O armazém de métricas — em memória, a história acumula de novo.