Hi Leandro,

Am 16.01.2026 um 17:03 schrieb Leandro Saldivar via Bacula-users:
Hi all,

I’m running Bacula Community Edition 15.0.2 and I’m trying to improve Copy and Restore job throughput between two on-prem Storage Daemons (Hetzner bare metal servers) connected via 10 Gbps links.

I’ve been investigating this for a while but haven’t been able to pinpoint what’s limiting throughput, so I’m sharing the data here to see if anyone has run into something similar.

<snip the details; we'll probably be coming back to them...>

First, I would not rule out network equipment or intentional traffic management. Providers (both hosting, DC and network) are not always as transparent as you like.

Thus I would propose a systematic set of tests.

1. stop the SDs on both sides, and do iperf tests with the Bacula SD ports. I would not expect throughput limits here, but we need knowledge, not expectations :-)

2. Set up a backup job that creates a few GBytes of zeroes out of hot air, and storage devices on both sides that write to /dev/null. Create a pool that does not catalogue files. Disable TLS all over the place and do not create signatures. Back up first to local Null device, then to remote one.

3. Do the same tests with signatures.

4. Do the same tests with TLS enabled.

Further steps will depend on the results achieved.

Suggestions/Examples:

Job {
  Name = "fastzeroes"
  Type = "Backup"
  Fileset = "fastzeroes"
...
}

Fileset {
  Name = "fastzeroes"
  Include {
   Options {
    # to be adapted
    # Signature = Sha1
   }
    # one line below. Mail line break!
Plugin = "bpipe:/ZEROES-f:/opt/bacula/scripts/fastzeroes:/opt/bacula/scripts/piperestore"
  }
}
[root@bsys-demo ~]# cat /opt/bacula/scripts/fastzeroes
#!/bin/bash
dd if=/dev/zero bs=4k count=256k status=none

Pool {
  Name = "Null"
  CatalogFiles = yes
  PoolType = "Backup"
  Storage = "gnom-null"
}

Device {
    Name = NullStorageDev
    Media Type = NullFifoDoNotUse
    Device Type = Fifo
    Archive Device = /dev/null
    LabelMedia = no
    Random Access = no
    AutomaticMount = no
    RemovableMedia = no
    MaximumOpenWait = 60
    AlwaysOpen = no
}

I currently don't have any examples for non-TLS communication available, but you'll at least have to add 'TLS Enable = No' to all involved daemons. I'd also use tcpdump to verify it's all clear text :-)

Have fun digging!

Arno

--
Arno Lehmann

IT-Service Lehmann
Sandstr. 6, 49080 Osnabrück



_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to