I don't understand why, but scanning the volume without using the bsr
seems to work:
$ bscan -v -s -m -V Catalog2013-04-14_6167 File2Storage
Records added or updated in the catalog:
1 Media
1 Pool
5 Job
5 File
I got the idea from http://osdir.com/ml/bacula/2011-08/msg00107.html
in which Martin wrote "For multi-volume backups, I think you have to
bscan all of the volumes in a single command by using -V with | (bar)
separated volume names." My situation was the reverse: multiple jobs
on a single volume.
The non-updating of the media when using the bsr seems like a bug. Is
it a feature?
Ross
On Sun, Apr 28, 2013 at 10:55:03AM -0700, Ross Boylan wrote:
> I have not been able to restore my catalog dump from a previous backup
> on a different system. I'll start with the problem I can't solve, and
> then note a couple I did solve for the archvive (and comments).
>
> I'd be very grateful for any help; I'm kind of dead in the water til I
> get my files back. The original system died, including its primary
> disk.
>
> I think the key problem is that bscan is not setting media, although
> invoked with -m:
> <terminal>
> $ bscan -s -m -b
> /usr/local/var/backup/bacula-live/BackupCatalog.2013-04-17_23.bsr -c
> /etc/bacula/bacula-sd.conf File2Storage
> bscan: butil.c:287 Using device: "File2Storage" for reading.
> 27-Apr 15:09 bscan JobId 0: Ready to read from volume
> "Catalog2013-04-14_6167" on device "File2Storage"
> (/usr/local/var/backup/bacula-live).
> 27-Apr 15:09 bscan JobId 0: Forward spacing Volume "Catalog2013-04-14_6167"
> to file:block 0:252654358.
> bscan: bscan.c:1139 Created new JobId=13 record for original JobId=11551
> bscan: bscan.c:1284 Could not create JobMedia record. ERR=sql_create.c:155
> Update Media record UPDATE Media SET EndFile=0, EndBlock=314892037 WHERE
> MediaId=0 failed: ERR=
>
> 27-Apr 15:09 bscan JobId 0: End of Volume at file 0 on device "File2Storage"
> (/usr/local/var/backup/bacula-live), Volume "Catalog2013-04-14_6167"
> bscan: bscan.c:338-0 ========== JobId=0 ========
> bscan: bscan.c:1002 Could not update media record. ERR=sql_update.c:411
> Update failed: affected_rows=0 for UPDATE Media SET
> VolJobs=1,VolFiles=0,VolBlocks=0,VolBytes=62202952,VolMounts=0,VolErrors=0,VolWrites=0,MaxVolBytes=0,VolStatus='',Slot=0,InChanger=0,VolReadTime=0,VolWriteTime=0,VolParts=0,LabelType=0,StorageId=0,PoolId=0,VolRetention=0,VolUseDuration=0,MaxVolJobs=0,MaxVolFiles=0,Enabled=0,LocationId=0,ScratchPoolId=0,RecyclePoolId=0,RecycleCount=0,Recycle=0,ActionOnPurge=0
> WHERE VolumeName=''
>
> 27-Apr 15:09 bscan JobId 0: End of all volumes.
> bscan: bscan.c:1002 Could not update media record. ERR=sql_update.c:411
> Update failed: affected_rows=0 for UPDATE Media SET
> VolJobs=1,VolFiles=0,VolBlocks=0,VolBytes=62202952,VolMounts=1,VolErrors=0,VolWrites=0,MaxVolBytes=0,VolStatus='',Slot=0,InChanger=0,VolReadTime=0,VolWriteTime=0,VolParts=0,LabelType=0,StorageId=0,PoolId=0,VolRetention=0,VolUseDuration=0,MaxVolJobs=0,MaxVolFiles=0,Enabled=0,LocationId=0,ScratchPoolId=0,RecyclePoolId=0,RecycleCount=0,Recycle=0,ActionOnPurge=0
> WHERE VolumeName=''
>
> bscan: bscan.c:659 End of all Volumes. VolFiles=0 VolBlocks=0
> VolBytes=62,202,952
> Records added or updated in the catalog:
> 0 Media
> 0 Pool
> 1 Job
> 1 File
> </terminal>
> The job does appear in the catalog after this, and so it can't just be
> that I lack write access.
>
> The bsr file has MediaType but no Media entry:
> <bsr>
> # 18-Apr-2013 00:08:23 - BackupCatalog.2013-04-17_23.42.00.07 - Full
> Volume="Catalog2013-04-14_6167"
> MediaType="File2"
> VolSessionId=6
> VolSessionTime=1366266984
> VolFile=0-0
> VolBlock=252654358-314892037
> FileIndex=1-1
> </bsr>
>
> bacula-sd.conf includes
> <conf>
> # compatibility with old setup
> Device {
> Name = File2Storage
> Media Type = File2
> Archive Device = /usr/local/var/backup/bacula-live
> LabelMedia = yes; # lets Bacula label unlabeled media
> Random Access = Yes;
> AutomaticMount = yes; # when device opened, read it
> RemovableMedia = no;
> AlwaysOpen = no;
> }
> </conf>
>
> When I run the restore job, I get an error about the media record
> <log>
> Run Restore job
> JobName: RestoreFiles
> Bootstrap: /usr/local/var/backup/bacula-live/BackupCatalog.2013-04-17_23.bsr
> Where: /usr/local/var/backup/bacula-live/
> Replace: always
> Client: tempserver-fd
> Storage: File2Storage
> JobId: 13
> When: 2013-04-27 15:19:37
> Catalog: MyCatalog
> Priority: 10
> Plugin Options: *None*
> OK to run? (yes/mod/no): y
> Job queued. JobId=15
> *mess
> 27-Apr 15:20 tempserver-dir JobId 15: Start Restore Job
> RestoreFiles.2013-04-27_15.20.33_11
> 27-Apr 15:20 tempserver-dir JobId 15: Using Device "File2Storage"
> 27-Apr 15:20 tempserver-sd JobId 15: Warning: acquire.c:208 Read acquire:
> Error getting Volume info: 1997 Volume "Catalog2013-04-14_6167" not in
> catalog.
> 27-Apr 15:20 tempserver-sd JobId 15: Ready to read from volume
> "Catalog2013-04-14_6167" on device "File2Storage"
> (/usr/local/var/backup/bacula-live).
> 27-Apr 15:20 tempserver-sd JobId 15: Forward spacing Volume
> "Catalog2013-04-14_6167" to file:block 0:252654358.
> 27-Apr 15:20 tempserver-sd JobId 15: End of Volume at file 0 on device
> "File2Storage" (/usr/local/var/backup/bacula-live), Volume
> "Catalog2013-04-14_6167"
> 27-Apr 15:20 tempserver-sd JobId 15: End of all volumes.
> 27-Apr 15:20 tempserver-dir JobId 15: Error: Unable to get Media record for
> Volume Catalog2013-04-14_6167: ERR=sql_get.c:1096 Media record for Volume
> "Catalog2013-04-14_6167" not found.
>
> 27-Apr 15:20 tempserver-sd JobId 15: Fatal error: Error getting Volume info:
> 1991 Catalog Request for vol=Catalog2013-04-14_6167 failed: sql_get.c:1096
> Media record for Volume "Catalog2013-04-14_6167" not found.
> 27-Apr 15:20 tempserver-dir JobId 15: Error: Bacula tempserver-dir 5.2.6
> (21Feb12):
> </log>
>
> Context:
> 1. The backup server and client are the same machine.
> 2. bacula 5.2.6 on 64bit Debian Wheezy (amd64).
> 3. backup created by bacula 2.4 on 32 bit Debian Lenny (i386).
> 4. backup was encrypted. I have copied the keys.
> 5. The new system and the old system have different names.
> 6. Backup is to disk.
>
> Finally, here are some discoveries along the way:
> 1. The final argument to bscan, described as a device in the
> documentation, needs to be the name of the storage section in the
> config file.
> 2. If one provides a directory rather than a file for the bsr option
> when running the restore, the director consumes an entire CPU while
> the other server processes are idle. As far as I could tell this went
> on forever, and it was not interruptible by cancel from the console.
> This seems like a bug.
> 3. Restoring from the bsr does not work unless appropriate catalog
> entries are present. The manual, e.g., 37.8 "Restoring a Server"
> seemed to imply this was not necessary, though it does mention using
> bscan shortly after using the bootstrap file.
>
> Ross Boylan
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
|