Hi,

I'm following your discussion for a while now...

On 2/7/2007 3:54 AM, Don MacArthur wrote:
> I think some of the code contains what might be a good solution.  

What you want seems to be he ability to copy volumes,possibly to another 
SD, and keep complete catalog information about both copies.

That part is probably rather simple to code (says another non-programmer 
:-) because a big part of what is needed already exists with the 
migration jobs.

> Right now, when a scheduled backup issues a mount request for a tape, it
> doesn't matter what tape I load as long as it meets the requirements to
> be used.  If it asks me for volume123 from pool xyz, and I load
> volume456 from pool xyz the job will run (again, assuming the status of
> the tape is correct and there aren't any other problems like file number
> mismatch).  
> 
> I'm haven't coded for ... years, but I wonder if the same logic that
> allows the director or storage daemon to determine that it didn't get
> what it asked for (volume123), but did get what it wanted (a "qualified"
> volume), could be applied to this situation.  That is, read the label,
> query for the file and version, and if the mounted volume has the file,
> rock and roll.  If not, explain it to the operator and iterate the mount
> request.  
> 
> Yes?

As far as I understand, the restore part is what will be most difficult 
to solve; currently, Bacula is not able to choose from different copies 
of a job. This would have to be thought through first.

The user interface to such a function would be quite straightforward as 
you outline, but the key problem lies behind the scenes.

I assume that job copies will be implemented some day, but we'd need a 
capable programmer for that... There is a feature request dealing with 
copies already, by the way.

Many details need to be worked out before implementation can begin, I 
assume. Three main areas might be:
- Deciding which volumes / jobs to restore from: A concept of a 'volume 
cost' representing the efort needed to access volumes wil be helpful. 
For example, define the cost for disk based volumes to be lower than 
that of tapes stored locally, and the cost of off-site tapes would be 
highes.
First, the DIR has to learn that there can be multiple copies of one 
job, though - this is not something it understands today, I think.
- Moving data without expiring the catalog information about the source 
job. This should be rather simple.
- Allowing the transfer of data from one SD to another one. Today, IIRC, 
migration only works inside one SD. That is ok for migration from disk 
to tape, but fore real copies one will want the ability to create 
off-site volumes directly, i.e. copy from a local disk volume to a 
remote tape.

I imagine that the first and the last item will require most of the 
implemetation time, and I'm qute sure that I overlooked many interesting 
things ;-)

Anyway, that discussion probably belongs to the -devel list.

Today, if you want copies of jobs or volumes, you have only two choices: 
Run the jobs twice, to different storage devices, and be prepared for 
differences between jobs and manual decision which one to use for 
restores. Or copy the volumes outside of Baculas scope, using simple 
file copies for disk volumes, tape-to-tape dumps for tape volumes, or 
use bcopy. In any case, you'll have to manage the copies manually, too, 
but you will have identical copies.

Anyway, this mainly repeats what has been written in this thread before. 
What I find most interesting, though: Is one you intersted enough in the 
job copy feature to sponsor it or to implement it himself? I'm quite 
sure you'll get support from Kern and the other developers, and I'm also 
quite sure that many users of Bacula will be very grateful...

Arno

> 
> On Tue, 2007-02-06 at 18:31 -0800, Tauren Mills wrote:
> 
>>This sounds like a reasonable approach.  If I request to restore a
>>particular object and the exact object version exists on multiple
>>volumes, it really doesn't matter which volume it is restored from.
>>As long as that object gets restored, I will be happy.  Of course, it
>>could make my life easier if bacula would automatically choose a
>>volume that was mounted, such as a disk volume over a tape volume.  Or
>>if I'm doing a manual restore, it could ask me interactively which
>>volume to restore from, suggesting one that is mounted if available.
>>
>>The bottom line is that it would have information about both copies of
>>the same object, and then logic could be added to choose which one to
>>restore.  That logic could be very simple, such as "restore from the
>>first volume in the list that contains the object" or more
>>sophisticated such as "restore from a volume that contains the object,
>>give preference to disk volumes over tape volumes".
>>
>>Of course, I haven't looked at any of the bacula code, so these are
>>just perceptions from the outside as a user.  Those with more
>>experience with the internals may see issues that I do not at this
>>time.
>>
>>On 2/6/07, Don MacArthur <[EMAIL PROTECTED]> wrote:
>>
>>>I was one of the more recent posters on this topic.
>>>
>>>The tools I have used in the past used whichever volume was loaded as
>>>long as it was one of the ones it asked for.  So, if the original backup
>>>was on volume123, and copied to volume456, a list of *all* the volumes
>>>that contain the version of the object would be displayed, the label
>>>read, and any volume (assuming it is on the list displayed) used.
>>>
>>>FWIW.
>>>
>>>On Tue, 2007-02-06 at 20:01 -0500, Ryan Novosielski wrote:
>>>
>>>>-----BEGIN PGP SIGNED MESSAGE-----
>>>>Hash: SHA1
>>>>
>>>>Tauren Mills wrote:
>>>>
>>>>>>I agree.  It would be nice if there was a 'clone volume' command that
>>>>>>would create a copy of the tape (or backup file) and create new records
>>>>>>for the associated catalog data with pointers to the second volume.  I
>>>>>>used to work with a Legato system and I'm pretty sure that it had that
>>>>>>feature.  Or maybe Bacula does have that and I just haven't found it
>>>>>>yet.
>>>>>
>>>>>That's exactly why I was posting!  I would think that a copy or clone
>>>>>command would be a built in feature and that I just hadn't found it.
>>>>>I'll have to figure out where to post feature requests I guess.
>>>>
>>>>Searched the list archives -- this has been discussed before. The
>>>>condensed version of the problem is exactly what has been described
>>>>prior: how would Bacula know from which volume you wish to restore? I
>>>>don't have a good answer for that. I suspect Kern has thought about it a
>>>>lot, but last I checked he wasn't sure how this would be done either. A
>>>>lot of the work is done as a result of migration being possible now, but
>>>>there are still pieces left.
>>>>
>>>>Also, check the current projects list; I believe this is on it
>>>>(therefore, no reason for a feature request).
>>>>
> 
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users

-- 
IT-Service Lehmann                    [EMAIL PROTECTED]
Arno Lehmann                  http://www.its-lehmann.de

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to