On 2018-11-16 12:27, Chris Miller wrote:
Hi Folks,
I'm unclear on the timing of the flush from holding disk to vtape.
Suppose I run two backup jobs,and each uses the holding disk. When will
the second job start? Obviously, after the client has sent everything...
Before the holding disk flush starts, or after the holding disk flush
has completed?
If by 'jobs' you mean 'amanda configurations', the second one starts
when you start it. Note that `amdump` does not return until everything
is finished dumping and optionally taping if anything would be taped, so
you can literally just run each one sequentially in a shell script and
they won't run in parallel.
If by 'jobs' you mean DLE's, they run as concurrently as you tell Amanda
to run them. If you've got things serialized (`inparallel` is set to 1
in your config), then the next DLE will start dumping once the previous
one is finished dumping to the holding disk. Otherwise, however many
you've said can run in parallel run (within per-host limits), and DLE's
start when the previous one in sequence for that dumper finishes.
Taping can (by default) run in parallel with dumping if you're using a
holding disk, which is generally a good thing, though you can also
easily configure it to wait for some amount of data to be buffered on
the holding disk before it starts taping.
Is there any way to defer the holding disk flush until all backup jobs
for a given night have completed?
Generically, set `autoflush no` in each configuration, and then run
`amflush` for each configuration once all the dumps are done.
However, unless you've got an odd arrangement where every system
saturates the network link while actually dumping and you are sharing a
single link on the Amanda server for both dumping and taping, this
actually probably won't do anything for your performance. You can
easily configure amanda to flush backups from each DLE as soon as they
are done, and it will wait to exit until everything is actually flushed.
Building from that, if you just want to ensure the `amdump` instances
don't run in parallel, just use a tool to fire them off sequentially in
the foreground. Stuff like Ansible is great for this (especially
because you can easily conditionally back up your index and tapelist
when the dump finishes). As long as the next `amdump` command isn't
started until the previous one returns, you won't have to worry about
them fighting each other for bandwidth.