Pular para o conteúdo

Arquitetura & componentes

O NGBackup é uma plataforma moderna de proteção de dados, nativa em Rust — um código totalmente novo, memory-safe, com desempenho significativamente melhor e muito mais recursos que as ferramentas de backup legadas. Ele mantém compatibilidade de protocolo, configuração e catálogo com o Bacula Community 15 (migração indolor), mas vem com seus próprios programas neutros de marca backup-* e um conjunto de ferramentas mais amigável.

Uma instalação funcional é feita de alguns serviços pequenos que conversam pela rede. Você não precisa rodá-los na mesma máquina — essa separação é exatamente o que permite ao NGBackup escalar de um servidor a milhares.

Arquitetura e fluxo de dados

ComponenteProgramaPorta padrãoO que faz
Directorbackup-dir9101O cérebro. Agenda jobs, aplica políticas e coordena os demais serviços.
Storage Daemonbackup-sd9103Lê e grava os dados em disco, S3/objeto, NFS ou fita — com deduplicação global, imutabilidade e criptografia.
File Daemonbackup-fd9102O agente leve em cada máquina protegida; envia os dados ao Storage Daemon.
CatálogoPostgreSQLO banco que registra cada arquivo, job e volume, para restaurações rápidas.
Consolebackup-consoleA interface de linha de comando para executar e acompanhar jobs.
Web ConsoleUI webO console web dark-mode: dashboards, designer de políticas, explorador de restauração e command palette (Ctrl+K).

Um job, três serviços. Um backup flui assim: o Director inicia o job → o File Daemon lê os dados → o Storage Daemon deduplica, criptografa e grava → o Catálogo registra o que aconteceu. Restaurações percorrem o mesmo caminho ao contrário.

Tudo é instalado em /opt/backup/ por padrão:

CaminhoConteúdo
/opt/backup/bin/Todos os programas (backup-dir, backup-sd, backup-fd, backup-console, …)
/opt/backup/etc/Arquivos de configuração
/opt/backup/plugins/Plugins do File Daemon (sobrescreva com --plugin-dir)

O File Daemon também roda sem arquivo de configuração — é totalmente orientado a flags, ideal para automação e containers:

Terminal window
backup-fd --fd-address 127.0.0.1 --fd-port 9102 \
--sd-address 127.0.0.1 --sd-port 9103

A proteção específica de cada carga (bancos, hipervisores, Microsoft 365, …) é entregue por plugins do File Daemon em /opt/backup/plugins/. Habilite um em um FileSet, passando opções como pares chave=valor:

FileSet {
Name = "proxmox-cluster"
Include {
Options { Plugin = "proxmox: pve_host=10.0.0.10 vm=* backup_type=full" }
}
}

Cada plugin documenta seus parâmetros de backup e restauração — incluindo Instant Recovery e restauração entre hipervisores (V2V). Veja Plugins.

Destinos de armazenamento em nuvem e objeto

Conectando clientes atrás de NAT ou firewall