[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bacula-devel] Synthetic Full backup or Consolidation
I am considering putting a first cut of job consolidation into the next
version of Bacula -- see item #3 on the y, Projects list "Merge multiple
backups (Synthetic Backup or Consolidation)"
I'm considering the possibility of implementing it as a sort of sub-option of
Migration and Copy jobs. The advantage is that virtually all the necessary
code exists, and by using Migration and Copy, the Consolidate can either be
a "move" or a "copy" operation.
Currently, unless I am forgetting something, the "Level" field of the
Migration and Copy is ignored. I'm considering to take it over and add two
new level options:
1. Level = Consolidate
2. Level = Optimized Consolidate
When either of these two levels are specified, Bacula would require a
Selection Type = Job
Selection Pattern = xxx
where xxx in the selection pattern *must* resolve to a single job name.
Bacula would then search for the prior Full backup and all backups after that
and consolidate them together producing an new Full job, the old jobs would
be pruned if you were running a Migration and left untouched if you are
running a Copy (note copy is implement in development branch).
Finally the difference between a Consolidate and an Optimized Consolidate is
that a Consolidate simply copies (or moves) all files previously backed up.
This means that all the files in the Differential and Incremental jobs are
will have a prior version most likely in the full, so the restore will be
less than optimal.
With the Optimized Consolidate, Bacula will read in all the meta data from the
catalog, and ensure that only the most current version of any file is
written. This requires a lot of memory (it needs to invoke the restore tree
memory code) and takes some time, but it does produce optimized results.
The other way of doing this is to define a new Type called Consolidate (or
Optimized Consolidate) and write new code.
The advantage that I see of doing it as a migrate or copy job is that later we
may extend the code to permit additional features. For example, I could
imagine that one might want to consolidate only part of the jobs (say all the
incremental jobs, ...).
I would appreciate comments on this.
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Bacula-devel mailing list
This mailing list archive is a service of Copilotco.