On 25.07.2012 17:50, Phil Stracchino wrote:
i think we need to understand more about the use cycle for these
volumes. Are these weekly tapes written to once per week with a single
job or set of jobs, or are they continuously appended to over the
course of a week?
Let's just take a look at the daily backups, and only those that fit on
one tape. (My problem is not limited to those, but it'll make it simpler
to explain.)
There is a SET of jobs for every night, backing up different machines to
the same tape one after another. The next morning, the tape is being
swapped out for the next day's tape. Tapes are supposed to be re-used
every week, so there is a "monday" tape, a "tuesday" tape, and so on,
and the old expired backup from the preceeding week that's still on it
is supposed to be automatically overwritten.
However, when the last job of the night finishes, and there's still room
on the tape, bacula will leave the volume in "appendable" state. And
when the tape is re-inserted the next week to be overwritten, bacula
insists to append to it - no matter what the "max use duration" and the
volume retention period is. And the only way to prevent this is to
manually update the volume status to "used".
This is actually documented. Why "max use duration" won't work is
described in
http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html
Quote: "The use duration is checked and the *Used* status is set only at
the end of a job that writes to the particular volume".
and why bacula will never overwrite "appendable" volumes is described in
http://www.bacula.org/5.0.x-manuals/en/main/main/Automatic_Volume_Recycling.htmt
(Quote: " A key point mentioned above, that can be a source of
frustration, is that Bacula will only recycle purged Volumes if there is
no other appendable Volume available, otherwise, it will always write to
an appendable Volume before recycling even if there are Volume marked as
Purged.")
And yes, thank you, it IS a source of frustration :)
The documentation offers a solution for single-job-backups
("*UseVolumeOnce*"), but that won't work for me because I have more than
one job to go into that volume.
So, what do I do? Give up? Write a perl script that tries to figure out
which volume is inserted, recycle it by hand, and run it as a
high-priority admin job before the actual backup? Any less hack-ish way?
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users