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.creaddir + 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_file single-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, CephFS rstats+rctime, BeeGFS metadata-shard scan. «Cambió desde X» sin necesidad de mil millones de stat().
  • 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 JobComp para 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
Walker paralelo (10–100× FD estándar) No No
Sharding de namespace + N streams SD No No
Incrementales vía changelog del FS No Parcial
Orquestación Slurm/PBS/LSF No No
Restripe-on-restore No No
HSM como tier No No
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: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol