Hello, I'm answering this email, because it is similar to other emails where users are complaining that Bacula is not recycling their volumes correctly and consequently blocks waiting for operator intervention. This seems to be happening a lot recently :-(
Though I have looked over your setup, I'm not 100% sure why things get shifted when one job fails. However, here are my comments for you and the other people who have recently had problems recycling that might help you find a solution: Bacula is designed to work either with operator intervention or a substantial number of Volumes whether tape of disk. In all cases I have seen on this list where there are problems of the nature described here or of blocking because of not having a Volume available, it is always a matter of what I would call "running on the hairy edge". That is you are simply trying to press Bacula to do something that it is designed to avoid doing: destroy data. Bacula attempts to preserve data as long as possible, and for that reason, it is very conservative in recycling. I *have* added a lot of directives that allow you to "force" Bacula to do things that it would not normally do, such as "Recycle Oldest Volume", set very low recycle times on the order of hours or days, ... In short, if you are running with a very limited number of Volumes, recycling with terribly short periods (anything less than a week), then you are likely to run into problems. I don't personally run my system on the "hairy edge", so I don't have these problems and cannot easily reproduce them. So, my best advice is: get more tapes, and run on longer time frames and it will all work. If you cannot do that, then please look at the code, figure out what is wrong and send me a patch -- I'll be happy to apply it providing it doesn't break other things. That's the bad news. Read on for another suggestion ... My ideal solution for people on the "hairy edge" with their tapes: Spend a few hundred dollars (not much) and buy one or two 160GB hard disks, and do all your backups to hard disk using a monthly Full, weekly Differential, and daily Incremental backups. This is clearly described in one of the chapters of the manual and can be fully automated. I have run such a configuration on a site I administer for several years with no intervention on my part (except for upgrading Bacula). That will allow you to put all your tapes in a single Pool and do one Full backup per week on tape, and your life will probably be much simplified. One out of four weeks you will have a Full backup to disk and a Full backup to tape, but if you do them on different days, the impact will be negligible, and by writing to disk most nights, the backups will go faster. The tapes would then be used for restores only if the building burns down, otherwise, all restores would be done from the disk image. Rather than trying to something fancy with Storage overrides for your current Jobs, I would guess that the easiest way to implement the above is to duplicate all your existing Job resources and give them the new names suffixed with -tape, and, of course, the same Client name, but new schedules, and new Storage definitions. On Monday 07 November 2005 12:13, Dirk GROSSE OSTERHUES wrote: > Hello, > > since one might recognize I asked for the following already one month > ago. But still I didn't find a satisfying solution and I think I didn't > point out enough last time what my problem is. > > I want to have a failure resistent schedule (meaning: it should not be a > problem if a daily incremental-job fails due to missing tape or missing > client) with the following features: > > - Three tapes for full backup > - Two tapes for incremental backup > - Schedule like follwing (W: weekly, D: daily): > [W1.full] -> [D1.inc] -> [W2.full] -> [D2.inc] -> [W3.full] -> > [D1.inc] -> [W1.full] -> [D2.inc] -> and so on... > Full backups will be done on fridays, incrementals mo-thu. > > My current config, which works if no incremental fails, looks like the > following: > Schedule-definition: > Schedule { > Name = "NightlySave" > Run = Level=Full Pool=Weekly Friday at 23:00 > Run = Level=Incremental Pool=Daily Monday-Thursday at 23:00 > } > Pool-definitions: > Pool { > Name = Weekly > Use Volume Once = yes > Pool Type = Backup > Recycle = yes > MaximumVolumeJobs = 1 > AutoPrune = yes > Volume Retention = 13d > LabelFormat = Friday-Tape_ > RecycleOldestVolume = yes > Accept Any Volume = no > } > Pool { > Name = Daily > Pool Type = Backup > Recycle = yes > Maximum Volumes = 2 > MaximumVolumeJobs = 4 > AutoPrune = yes > Volume Retention = 6d > LabelFormat = Daily-Tape_ > RecycleOldestVolume = yes > Accept Any Volume = yesl > Volume Use Duration = 6d > } > > The problem now is that if one of the daily incrementals fail, the > pool-definitions get shifted. This means that if the monday-incremental > is missing, the "Volume Use duration" gets a shift, meaning that the > volume will be needed on next monday (when the next volume should be in > use). > If one or more of the other incremental jobs fail the "maximum volume > jobs" gets problematic in a way that bacula will also ask for the tape > from previous week on next monday (clear?). > > > I really appreciate any help since this doesn't sound like a too > difficult schedule and I hope it's possible to make this working with > some failure tolerance. > > Thanks in advance, > Dirk -- Best regards, Kern ("> /\ V_V ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users