Hello,

See my comments below ...

On 04/09/2014 01:46 PM, Ulrich Leodolter wrote:
> Hello,
>
> i am testing one the new bacula 7.x features:
>
> *Migration/Copy/VirtualFull Performance Enhancements*
>
> The Bacula Storage daemon now permits multiple jobs to simultaneously read 
> the same disk Volume,
> which gives substantial performance enhancements when running Migration, 
> Copy, or VirtualFull jobs
> that read disk Volumes. Our testing shows that when running multiple 
> simultaneous jobs,
> the jobs can finish up to ten times faster with this version of Bacula.
> This is built-in to the Storage daemon, so it happens automatically and 
> transparently .
>
>
> i our setup we have 2 CopyDiskToTape which go into different pools on Tape 
> storage.
> our storage is a 2-drive autochanger device.
>
> before the copy jobs are started, each drive has mounted a volume of the 
> destination pools.
>
> the problem is that both copy jobs only look at drive index 0
> and premounted volumes are always swapped (mounted/unmounted) at drive 0.
>
>
> we have a second bacula installation running 5.2.13
> which has more or less the same setup and hardware.
> on this installation parallel copy jobs runs can run without
> swapping volumes on autochanger drive 0.
> to overcome the exclusive read-lock limitation in this bacula version
> we have defined two file storage devices which point to the
> same location.  our sql selects the copy jobs in opposite order
> for the two jobs,  so we can minimize the number of conflicts
> when one file volume is already locked.

Unfortunately, I don't understand well enough what the real problem is. 
It sounds like you are saying there is a problem on one bacula
installation and not on the other, which would imply that there is
something in the conf that is triggering the problem.

I am also not sure what the problem is of swapping volumes.  With the
current algorithm (rather primitive) when no jobs are running Bacula
will always look a the drives in the order they are in the conf file or
perhaps it is in alphabetic order, so it will always look at a
particular drive first. If that drive is not being used, the job will be
assigned that drive.

A better behavior might be to search for an empty drive and always start
with that one, but that will not be an ideal solution as at some point
all the drives will have a volume in them so some volume needs to be
swapped.

I have been meaning to work on improving the tape usage algorithm, in
particular putting in a better round robin scheme than currently exists,
but unfortunately there always seem to be more urgent tasks, and the
list of things to do is getting larger rather than smaller, so I am
probably not being very optimistic here.

If there is a definitive bug her rather than an inefficiency, and it can
be clearly described I might be able to fix it.

>
>
> my question:
>
> has there something changed in bacula 7.x how bacula determines
> if a volume is already mounted for an autochanger device ?
No, nothing has changed.  If a volume is premounted and a job wants to
use it, Bacula should notice that and select that drive, because part of
the current algorithm is to look at all pre-mounted volumes to see if
one can be used. If that is not the case, and you are talking about a
single job (no other jobs contending for the same resources), I would
like to see a detailed analysis what is going wrong, because I could
probably fix it.
>
> why does bacula not use a premounted volume at drive index 1 ?
Good question.  I would need to know the exact conditions before I could
answer, but most likely Bacula sees that drive index 0 is available and
takes it, and then asks for a tape and gets a different one.  If it
swaps the Volume from drive 1 onto drive 0 and drive 1 is not being
used, then the current algorithm is not working correctly, but to fix it
I would need a reproducible case.

Best regards,
Kern
>
>
> Best regards
> Ulrich
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Put Bad Developers to Shame
> Dominate Development with Jenkins Continuous Integration
> Continuously Automate Build, Test & Deployment 
> Start a new project now. Try Jenkins in the cloud.
> http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________
> Bacula-devel mailing list
> Bacula-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to