On Thursday 15 September 2005 17:26, Phil Stracchino wrote:
> Kern Sibbald wrote:
> > On Thursday 15 September 2005 15:18, Jonte Norman wrote:
> >>Are there any plans to implement multiple storages devices for the
> >>same client in future Bacula versions?
> >
> > No immediate plans. Once the SD starts for a Job, it locks on to a single
> > device.
>
> You know, this brings up a potential issue. Is this true when restoring
> as well as when backing up? I have a tentative plan (based on an offer
> of an LTO1 drive) to start using LTO for my Full backups, for which my
> VXA1 is no longer big enough to be really practical, but keep using the
> VXA1 for incrementals, for which it's perfectly adequate. Backing up,
> this isn't a problem, because any given Job running at a specified level
> goes only to a single device. But does this mean that if I want to
> restore a set of files on which some files come from a Full backup, and
> some from Differential or Incremental, that I need to somehow split it
> into two distinct jobs, perhaps by editing the BSR file?
Yes,
>
> As a workaround, I think it wouldn't be too hard to come up with a tool
> to split the BSR file into two or more BSRs by device. Can't test the
> idea until I have a second drive, though.
The attached file should help, but it may be a bit out of date. For example,
there are MediaType records in the bsr file now -- however, they are not
used.
--
Best regards,
Kern
(">
/\
V_V
If you run a backup job with two different types of media, for
example, using a DLT for full saves and a DDS-4 for incremental,
you will have some difficulties doing restores because Bacula
doesn't yet know how to deal with multiple media types for a single
job name (multiple jobs run).
When you do a "restore" command, bacula will warn you that it
is not possible to do the restore:
Warning, the JobIds that you selected refer to more than one MediaType.
Restore is not possible. The MediaTypes used are:
File
Filea
The defined Storage resources are:
1: DDS-4
2: DLTDrive
3: File
4: Floppy
Select Storage resource (1-4): 3
where I have run the full save with MediaType File, then ran an
incremental backup with MediaType Filea.
If you select device 3, for example, Bacula will quite happily
continue mixing the two MediaTypes with less than satisfactory
results when the Storage daemon gets the job.
The solution is to continue and select the files to be restored.
In the example below, I simply restore everything (default):
You are now entering file selection mode where you add and
remove files to be restored. All files are initially added.
Enter "done" to leave this mode.
cwd is: /
$ done
Bootstrap records written to /home/kern/bacula/working/restore.bsr
The restore job will require the following Volumes:
test12
Test13
121 files selected to be restored.
Run Restore job
JobName: kernsrestore
Bootstrap: /home/kern/bacula/working/restore.bsr
Where: /tmp/bacula-restores
Replace: always
FileSet: Kerns Files
Client: Rufus
Storage: File
When: 2003-12-07 21:44:25
Priority: 10
OK to run? (yes/mod/no): no
then respond no to the request to run the job. At this point, you
must edit the bootstrap file (saved in /home/kern/bacula/working/restore.bsr
in the above example) into two or more distinct bootstrap files. Each should
have the records that pertain to a single MediaType. You generally should
know by looking at the Volume names.
In the above example, there were two volumes, and if I do a "list volumes",
one can see clearly that volume "test12" is MediaType "File" and "Test13" is
MediaType "Filea":
+---------+------------+-----------+----------+-----------+
| MediaId | VolumeName | VolStatus | VolBytes | MediaType |
+---------+------------+-----------+----------+-----------+
| 1 | test12 | Append | 1994210 | File |
| 2 | Test13 | Append | 53898 | Filea |
+---------+------------+-----------+----------+-----------+
where I have truncated a number of columns for display purposes.
In my example, the bootstrap file looks like:
restore.bsr
---------------
Volume="test12"
VolSessionId=1
VolSessionTime=1070829472
VolFile=0
VolBlock=197-1994406
FileIndex=1-58
FileIndex=61-106
FileIndex=109-110
FileIndex=112-116
FileIndex=119-120
Count=113
Volume="Test13"
VolSessionId=2
VolSessionTime=1070829596
VolFile=0
VolBlock=576-54095
FileIndex=1-8
Count=8
and it is quite easy to separate it into two files as:
restore1.bsr
--------------
Volume="test12"
VolSessionId=1
VolSessionTime=1070829472
VolFile=0
VolBlock=197-1994406
FileIndex=1-58
FileIndex=61-106
FileIndex=109-110
FileIndex=112-116
FileIndex=119-120
Count=113
restore2.bsr
----------------
Volume="Test13"
VolSessionId=2
VolSessionTime=1070829596
VolFile=0
VolBlock=576-54095
FileIndex=1-8
Count=8
Finally, start two jobs, one after the other and specify the appropriate
bsr filename and an appropriate storage resource that can read the
MediaType corresponding to the bootstrap file being restored.