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.
As peças em resumo
Seção intitulada “As peças em resumo”| Componente | Programa | Porta padrão | O que faz |
|---|---|---|---|
| Director | backup-dir | 9101 | O cérebro. Agenda jobs, aplica políticas e coordena os demais serviços. |
| Storage Daemon | backup-sd | 9103 | Lê e grava os dados em disco, S3/objeto, NFS ou fita — com deduplicação global, imutabilidade e criptografia. |
| File Daemon | backup-fd | 9102 | O agente leve em cada máquina protegida; envia os dados ao Storage Daemon. |
| Catálogo | PostgreSQL | — | O banco que registra cada arquivo, job e volume, para restaurações rápidas. |
| Console | backup-console | — | A interface de linha de comando para executar e acompanhar jobs. |
| Web Console | UI web | — | O 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.
Onde as coisas ficam
Seção intitulada “Onde as coisas ficam”Tudo é instalado em /opt/backup/ por padrão:
| Caminho | Conteú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:
backup-fd --fd-address 127.0.0.1 --fd-port 9102 \ --sd-address 127.0.0.1 --sd-port 9103Como os plugins se encaixam
Seção intitulada “Como os plugins se encaixam”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.