O primeiro plugin Bacula desenhado nativamente para HPC. Filesystems paralelos (Lustre, GPFS / IBM Spectrum Scale, BeeGFS, CephFS, WekaFS), namespaces com bilhões de arquivos, scheduling ciente de Slurm/PBS/LSF, deduplicação consciente de checkpoints AI/ML, e restripe-on-restore. Pure-Rust, com isolamento de processos via PTCOMM — sem AGPL do Bacula vinculada estaticamente.
Por que um plugin dedicado para HPC?
O File Daemon do Bacula caminha o filesystem single-threaded (findlib/find_one.c → readdir + save_file() sequencial). Em um Lustre com 1 bilhão de arquivos isso é inviável — o gargalo é readdir+lstat, não banda.
Bacula Enterprise 18.2 oferece plugins dedicados para HDFS, Quobyte, NDMP, NetApp e Nutanix — mas zero suporte nativo para os filesystems paralelos que de fato rodam HPC. Esse plugin fecha essa lacuna.
Funcionalidades inovadoras (os diferenciais)
- Walker paralelo de namespace — work-stealing rayon, 1 worker por MDT do Lustre / NSD do GPFS / metadata-target do BeeGFS. Substitui o
find_one_filesingle-threaded do FD. 10–100× a vazão de metadados. - Sharding de namespace (
Shard=N/M) — divide o namespace em N shards por hash-of-inode ou subtree pinning, e roda N jobs Bacula concorrentes contra N streams SD. Bacula não tem multiplexing de stream dentro do job — sharding é a única forma de saturar fabric HPC. - Incrementais nativos do filesystem — Lustre ChangeLogs, GPFS
mmapplypolicy, CephFSrstats+rctime, BeeGFS metadata-shard scan. “Mudou desde X” sem precisar de 1 bilhão destat(). - Reader paralelo stripe-aware — lê OSTs do Lustre / NSDs do GPFS em paralelo via
llapi_layout_get_by_path; remonta in-order via PTCOMM. Leitura sequencial naive deixa ≥80% da banda HPC no chão. - Orquestração Slurm/PBS/LSF — submete o scan como job-step Slurm em nó de compute; quiesce concorrentes;
JobComphook para captura de checkpoint AI/ML. Backup roda no fabric rápido, não no login node. - Dedup consciente de checkpoint AI/ML — integração com PodHeitor Global Deduplication via content-defined chunking ajustado a tensor-stride boundaries. Checkpoints de treino mudam ~5% por epoch — 95%+ de dedup é realista.
- Restripe-on-restore — persiste o layout original do Lustre como
RestoreObject; restaura recriando striping antes de escrever. Preserva características de performance, não só bytes. - Modo “metadata snapshot” só de namespace — captura noturna rápida de inode + ACL + xattr; dados em massa semanalmente. Recovery catastrófico precisa do namespace primeiro; bulk pode vir de fita.
- Integração HSM — Lustre HSM (archive/release/restore como tier). Backup vira ação HSM de primeira classe, não scan hostil.
- Bandwidth shaping por carga Slurm — lê utilização viva do cluster; explode em idle, throttla em jobs de alta prioridade. QoS estático não funciona em HPC compartilhado.
Diferenciais comerciais
| Recurso | Bacula Community | Bacula Enterprise / Veeam | PodHeitor HPC |
|---|---|---|---|
| Lustre / GPFS / BeeGFS / CephFS / WekaFS nativo | Não | Não | Sim |
| Walker paralelo (10–100× FD padrão) | Não | Não | Sim |
| Sharding de namespace + N streams SD | Não | Não | Sim |
| Incrementais via changelog do FS | Não | Parcial | Sim |
| Slurm/PBS/LSF orchestration | Não | Não | Sim |
| Restripe-on-restore | Não | Não | Sim |
| HSM como tier | Não | Não | Sim |
| Custo | Grátis (sem suporte) | $$$$ | ≥50% mais barato que Enterprise/Veeam |
Compatibilidade
- Bacula Community 15.0.3+
- Filesystems: 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+
- Arquitetura: x86_64 (musl static-pie binary)
- Rust toolchain: 1.95+ (build), runtime sem dependência
Instalação
Instalação via pacote .deb ou .rpm oficial — sem build em produção:
# RHEL / Oracle Linux / Rocky / Alma 9.x
sudo dnf install podheitor-hpc-plugin-0.1.0-1.el9.x86_64.rpm
# Sub-pacote opcional para hosts com Lustre client:
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
Os pacotes instalam libpodheitor_hpc_fd.so em /opt/bacula/plugins/, o backend podheitor-hpc-backend, a CLI podheitor-hpc, unit systemd, e exemplos de configuração. bacula-fd reinicia automaticamente via post-install.
Whitepaper técnico
📘 Ler o whitepaper técnico completo — arquitetura interna, modelo de paralelismo, sharding, drivers de changelog, restripe-on-restore, benchmarks Phase 10 e topologias de deployment.
📄 Versão executiva (PDF): PodHeitor HPC Whitepaper PDF
Pronto para mudar?
Traga sua proposta de renovação ou contratação do Bacula Enterprise, Veeam, Commvault ou NetBackup. Garantimos no mínimo 50% de desconto, com mais funcionalidades inclusas.
Heitor Faria — Fundador, PodHeitor International
✉ [email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
30 dias de trial comercial gratuito para workloads qualificadas.
Disponível em:
Português
English (Inglês)
Español (Espanhol)