El primer plugin Bacula diseñado nativamente para HPC. Sistemas de archivos paralelos (Lustre, GPFS / IBM Spectrum Scale, BeeGFS, CephFS, WekaFS), namespaces con miles de millones de archivos, scheduling consciente de Slurm/PBS/LSF, deduplicación consciente de checkpoints AI/ML y restripe-on-restore. Pure-Rust, con aislamiento de procesos vía PTCOMM — sin AGPL de Bacula vinculada estáticamente.
¿Por qué un plugin dedicado para HPC?
El File Daemon de Bacula recorre archivos single-threaded (findlib/find_one.c → readdir + save_file() secuencial). En un Lustre con 1 mil millones de archivos esto es inviable — el cuello de botella es readdir+lstat, no el ancho de banda.
Bacula Enterprise 18.2 ofrece plugins dedicados para HDFS, Quobyte, NDMP, NetApp y Nutanix — pero cero soporte nativo para los sistemas de archivos paralelos que ejecutan HPC en realidad. Este plugin cierra esa brecha.
Funcionalidades innovadoras (los diferenciales)
- Walker paralelo de namespace — work-stealing rayon, 1 worker por MDT de Lustre / NSD de GPFS / metadata-target de BeeGFS. Reemplaza el
find_one_filesingle-threaded del FD. 10–100× el throughput de metadatos. - Sharding de namespace (
Shard=N/M) — divide el namespace en N shards por hash-of-inode o subtree pinning, y ejecuta N jobs Bacula concurrentes contra N streams SD. Bacula no tiene multiplexing de stream dentro del job — el sharding es la única forma de saturar el fabric HPC. - Incrementales nativos del filesystem — Lustre ChangeLogs, GPFS
mmapplypolicy, CephFSrstats+rctime, BeeGFS metadata-shard scan. «Cambió desde X» sin necesidad de mil millones destat(). - Reader paralelo stripe-aware — lee OSTs de Lustre / NSDs de GPFS en paralelo vía
llapi_layout_get_by_path; reensambla in-order vía PTCOMM. Lectura secuencial naive deja ≥80% del ancho de banda HPC en el suelo. - Orquestación Slurm/PBS/LSF — envía el scan como job-step Slurm en nodo de cómputo; quiesce los concurrentes; hook
JobComppara captura de checkpoint AI/ML. El backup corre en el fabric rápido, no en el login node. - Dedup consciente de checkpoint AI/ML — integración con PodHeitor Global Deduplication vía content-defined chunking ajustado a tensor-stride boundaries. Los checkpoints de entrenamiento difieren ~5% por epoch — 95%+ de dedup es realista.
- Restripe-on-restore — persiste el layout original de Lustre como
RestoreObject; el restore recrea el striping antes de escribir. Preserva las características de performance, no solo los bytes. - Modo «metadata snapshot» solo de namespace — captura nocturna rápida de inode + ACL + xattr; datos en masa semanalmente. La recuperación catastrófica necesita primero el namespace; el bulk puede venir de cinta.
- Integración HSM — Lustre HSM (archive/release/restore como tier). El backup se vuelve acción HSM de primera clase, no scan hostil.
- Bandwidth shaping por carga Slurm — lee utilización viva del cluster; explota en idle, throttla en jobs de alta prioridad. QoS estático no funciona en HPC compartido.
Diferenciales comerciales
| Recurso | Bacula Community | Bacula Enterprise / Veeam | PodHeitor HPC |
|---|---|---|---|
| Lustre / GPFS / BeeGFS / CephFS / WekaFS nativo | No | No | Sí |
| Walker paralelo (10–100× FD estándar) | No | No | Sí |
| Sharding de namespace + N streams SD | No | No | Sí |
| Incrementales vía changelog del FS | No | Parcial | Sí |
| Orquestación Slurm/PBS/LSF | No | No | Sí |
| Restripe-on-restore | No | No | Sí |
| HSM como tier | No | No | Sí |
| Costo | Gratis (sin soporte) | $$$$ | ≥50% más barato que Enterprise/Veeam |
Compatibilidad
- Bacula Community 15.0.3+
- Sistemas de archivos: Lustre 2.14+, IBM Spectrum Scale (GPFS) 5.x, BeeGFS 7.x, CephFS, WekaFS
- Schedulers: Slurm 22.05+, PBS Pro, LSF, OpenPBS
- Distros: RHEL/Oracle/Rocky/Alma 9.x, Debian 12+, Ubuntu 22.04+
- Arquitectura: x86_64 (binario musl static-pie)
- Rust toolchain: 1.95+ (build), runtime sin dependencias
Instalación
Instalación vía paquete .deb o .rpm oficial — sin builds en producción:
# RHEL / Oracle Linux / Rocky / Alma 9.x
sudo dnf install podheitor-hpc-plugin-0.1.0-1.el9.x86_64.rpm
# Sub-paquete opcional para hosts con cliente Lustre:
sudo dnf install podheitor-hpc-plugin-lustre-0.1.0-1.el9.x86_64.rpm
# Debian / Ubuntu
sudo dpkg -i podheitor-hpc-plugin_0.1.0-1_amd64.deb
sudo dpkg -i podheitor-hpc-plugin-lustre_0.1.0-1_amd64.deb
Los paquetes instalan libpodheitor_hpc_fd.so en /opt/bacula/plugins/, el backend podheitor-hpc-backend, la CLI podheitor-hpc, unit systemd y ejemplos de configuración. bacula-fd reinicia automáticamente vía post-install.
Whitepaper técnico
📘 Leer el whitepaper técnico completo — arquitectura interna, modelo de paralelismo, sharding, drivers de changelog, restripe-on-restore, benchmarks Phase 10 y topologías de despliegue.
📄 Versión ejecutiva (PDF): PodHeitor HPC Whitepaper PDF
¿Listo para cambiar?
Tráiganos su propuesta de renovación o contratación de Bacula Enterprise, Veeam, Commvault o NetBackup. Garantizamos un mínimo de 50% de descuento, con más funcionalidades incluidas.
Heitor Faria — Fundador, PodHeitor International
✉ heitor@opentechs.lat
☎ +1 (786) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
30 días de trial comercial gratuito para cargas calificadas.
Disponível em:
Português (Portugués, Brasil)
English (Inglés)
Español