Hello, On 1/15/2007 1:13 AM, Leah Kubik wrote: > According to everything I am reading in the manual, "Bacula will only recycle > purged Volumes if there is no other appendable Volume available". > > Is there a way to force Bacula to reverse this and always reuse a volume if > one is marked purged before checking for appendable volumes?
You'd have to change the code. The recycling code is quite complicated, but after you found the right lines it's only about changing a limited number of SQL queries. I wouldn't recommend this, by the way. > We are doing > disk backups and have set expiry times for data. We want to use the least > disk space and still stay within our expiry times for all data, so we want > purged volumes from pruning based on our volume retention to be reused. We > also have set volume sizes, so that backups can be burned off to DVD's. Hmm. That sounds like you should, above all, avoid that volumes are in use for a long time. Imagine this scenario: You have volumes A to F, all in state purged. You start using Vol A but don't fill it. Next, you use B but don't fill it - because you want to use a purged volume before filling others. And so on. Only after Vol F is used will Vol A be appended to. Only after VolA is filled to the maximum configured size can it be burnt to DVD because otherwise you'd never know which state of Vol A you have on disk. My impression is that this setup wastes much more disk space than filling one volume after the other, thereby also allowing sooner DVD archival. > So far, the only think I have thought of is to have a set amount of volumes, > but it's not really accomplishing what I really want. > > If anyone has any ideas, I'd be grateful. I would appreciate if you cc > [EMAIL PROTECTED], since I read this list online only. Well, the usual setup I use when backing up to disk is to allow a fixed number of volumes per pool, configure three pools - one for Full, one for Diff, one for Incr backups - with retention times according to what my customer needs, and have the volumes limited in size. That achieves what you want, if I understood you correctly: I limit disk space use, I can burn the volumes to DVD once they are in state Used, and automatic expiry works correct. With some thinking and some experiments it's usually possible to find settings for the volume size and number that ensure one or two purged volumes during normal operation. Using small volume file sizes, the amount of space wasted can be rather small. > Here's some snippets from our existing bacula-dir.conf that may be helpful > (in > progress): > > -- > # > # Bacula Director Configuration file > # [EMAIL PROTECTED] > # > Director { > Name = fondue-dir > DIRport = 9101 > QueryFile = "/etc/bacula/query.sql" > WorkingDirectory = "/srv/bacula" > PidDirectory = "/var/run" > Maximum Concurrent Jobs = 1 > Password = "secret" > Messages = Daemon > } > JobDefs { > Name = "FullIncDiff" > Type = Backup > Storage = File > Messages = Standard > Pool = Default > Full Backup Pool = FullPool > Incremental Backup Pool = IncPool > Differential Backup Pool = DiffPool > Priority = 10 > Prune Files = yes > } > Job { > Name = "fondue-files" > JobDefs = "FullIncDiff" > Write Bootstrap = "/srv/bacula/fondue.bsr" > Client = fondue-fd > FileSet = "Standard Server" > Schedule = "WeeklyCycle" > } > Schedule { > Name = "WeeklyCycle" > Run = Full 1st sun at 1:05 > Run = Differential 2nd-5th sun at 1:05 Hmmm. Sundays. That can mean that, during problems, your backups don't run until the operator comes back to work on Monday. I prefer Tuesdays. If I get paid for observing backups I set up Fridays or Saturdays, too, but not Sundays :-) > Run = Incremental mon-sat at 1:05 > } > Client { > Name = fondue-fd > Address = fondue > FDPort = 9102 > Catalog = MyCatalog > Password = "secret" # password for FileDaemon > File Retention = 60 days # 30 days > Job Retention = 6 months # six months > AutoPrune = yes # Prune expired Jobs/Files > } > ############### > ### STORAGE ### > ############### > Storage { > Name = File > Address = fondue.internal > SDPort = 9103 > Password = "pBI91oP76GMxFJcM4Q31KjNJU8hNdMZc71tX5mnq4NrU" > Device = FileStorage > Media Type = File In case you might add more file storage later, better use a name more suited for distinction, like FundueFile. > } > Pool { > Name = FullPool > Pool Type = Backup > Recycle = yes # automatically recycle > Volumes > AutoPrune = yes # Prune expired volumes > Volume Retention = 6 months > #Maximum Volume Jobs = 1 > Label Format = Full- > Maximum Volumes = 120 > Maximum Volume Bytes = 4831838208 # 4.5GB Ok. You recognize you'll need up to 540 GB for this pool alone? I hope you have reliable RAID hardware underneath the storage disk volume... > } > Pool { > Name = IncPool > Pool Type = Backup > Recycle = yes # automatically recycle Volumes > AutoPrune = yes # Prune expired volumes > Volume Retention = 14 days > #Maximum Volume Jobs = 6 > Label Format = Inc- > Maximum Volumes = 25 > Maximum Volume Bytes = 4831838208 # 4.5GB > } > Pool { > Name = DiffPool > Pool Type = Backup > Recycle = yes > AutoPrune = yes > Volume Retention = 35 days I prefer two months here, but YMMV > #Maximum Volume Jobs = 1 > Label Format = Diff- > Maximum Volumes = 10 > } > > Well, looks good... only think about what having lots of appendable volumes means to your volume management. Or explain your problem to me again :-) Arno -- IT-Service Lehmann [EMAIL PROTECTED] Arno Lehmann http://www.its-lehmann.de ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users