Arquitectura y componentes
NGBackup es una plataforma moderna de protección de datos, nativa en Rust — un código totalmente nuevo, memory-safe, con rendimiento significativamente mejor y muchas más funciones que las herramientas de backup heredadas. Mantiene compatibilidad de protocolo, configuración y catálogo con Bacula Community 15 (migración indolora), pero viene con sus propios programas neutros de marca backup-* y un conjunto de herramientas más amigable.
Una instalación funcional se compone de unos pocos servicios pequeños que se comunican por la red. No tienes que ejecutarlos en la misma máquina — esa separación es justo lo que permite a NGBackup escalar de un servidor a miles.
Las piezas, en resumen
Sección titulada «Las piezas, en resumen»| Componente | Programa | Puerto | Qué hace |
|---|---|---|---|
| Director | backup-dir | 9101 | El cerebro. Agenda jobs, aplica políticas y coordina los demás servicios. |
| Storage Daemon | backup-sd | 9103 | Lee y escribe los datos en disco, S3/objeto, NFS o cinta — con deduplicación global, inmutabilidad y cifrado. |
| File Daemon | backup-fd | 9102 | El agente ligero en cada máquina protegida; envía sus datos al Storage Daemon. |
| Catálogo | PostgreSQL | — | La base que registra cada archivo, job y volumen, para restauraciones rápidas. |
| Console | backup-console | — | La interfaz de línea de comandos para ejecutar y seguir jobs. |
| Web Console | UI web | — | El console web dark-mode: dashboards, diseñador de políticas, explorador de restauración y command palette (Ctrl+K). |
Un job, tres servicios. Un backup fluye así: el Director inicia el job → el File Daemon lee los datos → el Storage Daemon deduplica, cifra y escribe → el Catálogo registra lo ocurrido. Las restauraciones recorren el mismo camino a la inversa.
Dónde vive todo
Sección titulada «Dónde vive todo»Todo se instala en /opt/backup/ por defecto:
| Ruta | Contenido |
|---|---|
/opt/backup/bin/ | Todos los programas (backup-dir, backup-sd, backup-fd, backup-console, …) |
/opt/backup/etc/ | Archivos de configuración |
/opt/backup/plugins/ | Plugins del File Daemon (sobrescribe con --plugin-dir) |
El File Daemon también funciona sin archivo de configuración — totalmente por flags, ideal para automatización y contenedores:
backup-fd --fd-address 127.0.0.1 --fd-port 9102 \ --sd-address 127.0.0.1 --sd-port 9103Cómo encajan los plugins
Sección titulada «Cómo encajan los plugins»La protección específica de cada carga (bases de datos, hipervisores, Microsoft 365, …) la aportan plugins del File Daemon en /opt/backup/plugins/. Habilita uno en un FileSet, pasando opciones como pares clave=valor:
FileSet { Name = "proxmox-cluster" Include { Options { Plugin = "proxmox: pve_host=10.0.0.10 vm=* backup_type=full" } }}Cada plugin documenta sus parámetros de backup y restauración — incluyendo Instant Recovery y restauración entre hipervisores (V2V). Consulta Plugins.