Best Practices

Enterprise

Bacula Enterprise Only

This solution is only available for Bacula Enterprise. For subscription inquiries, please reach out to sales@baculasystems.com.

The following article presents best practices for job distribution, concurrency, and performance.

  • Use one Bacula job per IRIS instance when possible. This reduces contention and makes restore selection easier.

  • Prefer Online Backup for most environments. Use External/Concurrent External only when storage snapshots are required.

  • Keep iris_owner_user and irissession paths correct and test them manually before scheduling backups.

  • When using selective restores, generate directory list files directly from IRIS tools to avoid typos.

  • Maintain a separate IRIS instance for restore validation in production environments.

  • Avoid aggressive concurrent_threads settings unless you have verified sufficient CPU and disk bandwidth.

  • Set cleanup=yes only if you have confirmed that Bacula successfully stored the backup artifacts.

Concurrency Best Practices

  • Avoid overlapping backup jobs on the same instance; IRIS allows only one online backup at a time.

  • Stagger backup schedules for multiple instances on the same host to prevent I/O contention.

  • For high-load environments, start with conservative values (e.g., concurrent_threads=50) and increase gradually.

  • Ensure the File Daemon and Storage Daemon have sufficient throughput before raising concurrency parameters.

Restore Playbook Recommendations

  • Test restores regularly on a non-production IRIS instance using the same Fileset and job definitions.

  • Validate both full restore and selective restore paths (directories_path and journal replay options).

  • Keep a documented runbook including required restore parameters and expected artifact locations.

  • For critical systems, retain a known-good full backup and a recent incremental chain to reduce RTO.

High-Load Checklist

Use this checklist before increasing workload concurrency or backing up multiple instances on the same host:

  • CPU: verify adequate headroom during peak load; avoid raising concurrent_threads if CPU is already saturated.

  • Disk I/O: ensure the IRIS data volume and Bacula storage path can sustain backup throughput without latency spikes.

  • Network: validate sustained bandwidth between File Daemon and Storage Daemon for the expected backup window.

  • JVM Memory: increase IRIS_JVM_MAX if large backups or many parallel jobs risk OutOfMemory errors.

  • Scheduling: avoid overlapping backups for the same instance; stagger jobs for multiple instances.

Go back to: IRIS Plugin.