We're trying to make heads or tails out of our Bacula setup. We have a SD (storage daemon) server with a few LVM logical volumes and we're trying to do full/diff/incr backups to it in a sensible manner. The problems is that Bacula constantly complains of "Cannot find any appendable volumes" even though we've setup volume limits, told it to recycle the oldest, etc.
First off, we have (3) devices defined on the SD server. One for "Full", one for "Incremental" and one for "Differential". Ideally, we'd like (2) full monthlies, with differentials on the intervening weeks and incrementals for each day.
I won't cover the SD configuration as the main question here is about schedule and pools.
Schedule { Name = SVNSchedule Run = Level=Full 1st sun at 21:05 Run = Level=Differential 2nd-5th sun at 21:05 Run = Level=Incremental mon-sat at 21:05 }
Pool { Name = SVNFullPool Storage = svn-full Pool Type = Backup Recycle = yes; AutoPrune = yes; Recycle Oldest Volume = yes Volume Retention = 45 days Maximum Volume Jobs = 1 Label Format = "$Pool-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}" Maximum Volumes = 2 } Pool { Name = SVNDiffPool Storage = svn-diff Pool Type = Backup Recycle = yes; AutoPrune = yes; Recycle Oldest Volume = yes Volume Retention = 40 days Maximum Volume Jobs = 1 Label Format = "$Pool-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}" Maximum Volumes = 10 } Pool { Name = SVNIncrPool Storage = svn-incr Pool Type = Backup Recycle = yes; AutoPrune = yes; Recycle Oldest Volume = yes Volume Retention = 20 days Maximum Volume Jobs = 1 Label Format = "$Pool-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute:p/2/0/r}" Maximum Volumes = 7 }
It almost feels like we should be using the "Volume Use Duration = 1w" option on the "full" pool. But the main issue we're having is that Bacula won't automatically recycle the file volumes. At least, not during testing where we're kicking off a full backup, then kicking off another one a few hours later.
The other minor issue that I'm not happy with is how to get Bacula to create backup files with predictable names, because the current setup causes havoc with trying to rsync the files offsite.
Bacula creates volumes automatically up to the 'Maximum Volumes'. But you can always create a volume manually by using the bacula console. According to your configuration, your 'Maximum Volumes' appears to be set to 2, 10 and 7.
Depending on your backup strategy, you may need more volumes for the full backup and less for the incremental and differential. I would suggest to increase the number of volumes for your SVNFullPool. This depends on your content and the maximum size you defined on each volume.
All this also depends on your backup schedule. If you do a full backup several times during a retention period, you have to set enough volumes to hold several full backups.
The following article gives some feedback about pool definition, schedule and it provides interesting statistics about the number of volumes that were used for a one year backup.
http://blog.vacs.fr/vacs/blogs/post.html?post=2010/04/09/One-year-of-data-backup-with-Bacula-on-a-ReadyNAS-duo