3

I am backing up about 1.8GB of pictures to a dvd, but because over half the disk is free, I would like to add parity of the free space so that data can be read even after some data corruption has started over time. i know of dvdisaster, but i cant seam to figure out how to use it for creating parity/redundancy to a drive. is there a tutorial on exactly this anywhere?

Daniel
  • 577

2 Answers2

5

i know of dvdisaster, but i cant seam to figure out how to use it for creating parity/redundancy to a drive.

There are two ways of using dvdisaster:

  1. Augmented image mode, where the ECC data is actually embedded into the ISO before being burned to disk. The section entitled "Augmenting images with error correction data" actually walks you through this specific step of the process.
  2. External ECC mode, which can later be used to verify and/or repair the ISO image. The section entitled "Creating error correction files from an ISO image" provides additional details on the specific steps required to to create the file.

For the truly paranoid, you could also create an external ECC file and then use par2 to create Reed-Solomon recovery data for the .ecc file itself. This seems like overkill to me, and may or may not really add any real protection for the recovery process as a whole, but it's always good to know what one's options are.

CodeGnome
  • 2,131
3

Parity is used when you want to increase data size by less than the data size but still obtain some degree of redundancy. Depending on the amount of parity data and parity algorithms used, it can (or can not) repair certain classes of errors.

In your case, you are putting less than 2 GB of data onto a media that can hold well over 4 GB. This suggests a simple solution: make a second copy of the data, and put it alongside with the first. The technical term for this is usually "mirroring", although mirroring commonly refers to copies placed on different physical media connected to the same system with properly done changes to one being distributed to all copies automatically. Doing mirroring with just two copies of a file also doesn't require any special software; in the worst case, you need a simple loop construct that reads from each of the files and puts together the portions that were readable to form a hopefully complete and correct copy of the original file.

Assuming that the files are written contiguously to the disk, putting the two copies alongside each other will mean that two copies of the same data are approximately 2/5 of the disk apart, in terms of storage space, which should protect against most small-scale media corruption such as scratches, fingerprints, etc.

However, doing so may not be enough, as you'll still be at the mercy of file system (UDF, ISO 9660, ...) metadata structures on the disk, which will not be redundant because those file systems aren't designed for redundancy. If the file system metadata becomes corrupted, you will still have a very hard time extracting the data from the disk in a meaningful way, even though the fact that the files will not be fragmented will help. The only real way to do anything about this is to, as Ramhound points out, use physical redundancy: put multiple independent copies on physically separate media, and preferably, store those disks in different locations.

user
  • 30,336