Hello James, On Sunday 06 March 2011 09:07:04 James Harper wrote: > Is there any work in progress to detect a low disk space condition for > disk based media?
No mainly because detecting low disk space is very system dependent, and I am not really sure what Bacula can do about it. It isn't very simple. > Currently when I run out of space I end up with Bacula > using up tiny bits and pieces all over the place which mucks up my 'one > volume = one job' assumption and requires a bit of cleaning up pain. I would need more information to be able to respond. In general when Bacula runs out of disk space all jobs would then fail. Why is it creating little pieces everywhere? > > Three ways I can think of solving this: > 1. a "don't span volumes" option in the job resource > 2. a "maximum volumes per job" option in the job resource > 3. a way to get the storage daemon to hold the job if disk space is less > than some amount, eg "minimum space = 5GB" > > #1 would work nicely in my case. #2 is just a more general version of > #1. In this case the job would just fail if the media became full, a > message would be sent to me, and I'd fix the problem and rerun whatever > jobs were necessary. > > #3 would send a message and then just cause the sd to hang and stop > accepting further data to that device until the disk space increased > again. I could fix the problem and the job would continue again. I am not sure how one would implement any of the above. There are a lot of questions -- what does not spanning volumes do when it wants to span volumes? Fail the job, abort the SD? The SD doesn't currently have the concept of suspending a device, nor does it have the concept of "holding" jobs, so this would be a whole new concept to design and implement. I guess I would need a more complete design to understand what is supposed to happen in every case, then we could examine the pros and cons. A simpler solution might be to be able to reserve a specified space on a newly created volume. This would guarantee that the space was available. If the space could not be obtained, the Volume creation process would fail, and Bacula would simply ask for a new Volume. I am not 100% sure how to reserve space for a volume without writing in it, which would be a bit inefficient, but we could probably figure out something. A variation on the above would be to require a given amount of free space (again this is a very system dependent function to determine the free space) before creating a volume. Regards, Kern ------------------------------------------------------------------------------ What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d _______________________________________________ Bacula-devel mailing list Bacula-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-devel