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