On 12/20/20 2:54 AM, y...@kozinski.com wrote:
> 
>> On Dec 19, 2020, at 10:49, Phil Stracchino <ph...@caerllewys.net> wrote:
>>
>> If a volume errors during a job, Bacula will write an EOF and continue
>> on the next tape.  Everything SUCCESSFULLY written to that tape volume
>> prior to the error should still be restorable, but you should consider
>> manually flagging the errored tape read-only.
>>
> 
> Thanks, Phil. This is helpful. Is there any way to validate a completed 
> backup against the contents on disk? As it turns out, I think the errors I 
> have been getting have been related to a faulty LTO drive. I’ve switched out 
> the drive mid-backup and things seem to be proceeding normally, but I’m 
> wondering now if I should just restart the backup from the very beginning, 
> since I don’t think I can trust the data written by the faulty drive to be 
> correct without some way of verifying it.


What you probably want is the VERIFY job, which can be set up to attempt
to re-read all data stored by a Job and optionally verify the checksum
and modification date of all files.  This should at least TELL you
whether you need to restart the job.  Remember that if Bacula hits a
tape error during the process of writing the blocks of a file, it will
mark the entire block failed, and restart from that block on the next
volume.  It is designed to be robust.


Personally, repeated LTO drive failures are the reason I abandoned LTO
as a backup medium.  I was spending more on replacing drives than on
replacing tapes.


> So if a volume within a backup set were lost or damaged, would I be able to 
> rebuild the catalog from the remaining tapes using bscan (or some other way), 
> and recover at least some of the files in the backup? Or would the entire 
> backup become useless?

If a volume in a backup set is lost or unusable, AND you have lost the
Catalog database, then yes, you can bscan the remaining volumes of the
backup set.  Otherwise, if the job completed successfully, but later one
of its volumes became unavailable, as long as you don't delete the job
from the Catalog you can still restore all of the data from all BUT the
unavailable volume.

> Assuming I could somehow partially rebuild the catalog, are you saying that I 
> would not be able to do an incremental backup from the recovered catalog, and 
> would have to start again with a new full backup?

Well, you're conflating two different things there.  Yes, you can bscan
the remaining media to get a catalog of what is readable from them in
order to be able to do partial restores from the remaining good volumes.
 (Although as noted, you should only have to do that if the job failed
or was deleted.  As long as it *completed*, all of its catalog records
are still there even if some volumes errored.)  You would probably have
to create your Restore job then, before actually running it, edit its
BSR file to delete all references to the unavailable volume.  (And
possibly the last file before that volume, if it spans onto the missing
volume.)

But if the backup job was invalidated or deleted, or if it *failed*,
then you still can't use the bscan records as the basis for a future
incremental backup, because the records of what is on those volumes do
not constitute a completed Job.

However, in this case you may be able to solve your problem with a
VIRTUAL FULL job, which uses the records of multiple existing completed
jobs — if possible — to create a "virtual" FULL job record that refers
to the backup media of multiple other jobs.


-- 
  Phil Stracchino
  Babylon Communications
  ph...@caerllewys.net
  p...@co.ordinate.org
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958


_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to