MacOS – Best practice/OSX software for managing Hard Drive archives

hard drivemacossoftware-recommendation

I have two dozen bare hard drives (3.5" and 2.5") which are used as long-term storage for personal photos, videos and documents. Most files are duplicated across at least two drives. For the most part, these drives sit idle in storage.

When I need to use them, I use either a USB 3.0 Voyager S3 dock, or for the smaller drives, a Crucial Nextar USB 3.0 enclosure.

Every year or so I would like to "exercise" these drives to verify they are still functional and the data is still available.

Way back when, I might have used TechTool Pro, DiskWarrior, or other Mac OS compatible software to run diagnostics. (Disk Utility is very limited and does not really give me much insight into the health of drives. With S.M.A.R.T its pretty much all or nothing…).

Is there a clear standard recommendation for OSX compatible software to verify the health and integrity of HDs and SSDs?

Best Answer

You do not want to use solely techniques/tools such as Disk Utility, SMART, etc. as they do not actually verify the integrity of the data.

For validation of archives, you'll want to store not only the data to the drive but also checksums of each part of the data. Periodically you'll then want to read in all the data from the drive, recalculate the checksum and check that it matches.

This is necessary because modern hard drives can often fail in a mode where everything seems to be working, but as soon as you try to read specific part of the hard drive - they fail. There's a large risk that you won't get an advance alert from SMART or programs like Disk Utility that check only the file system structure.

To generate and validate the checksums you can use software such as "Checksum Folders":

http://www.nordcode.eu/checksum-folders/

You can also create your own solution by using commands in the Terminal. Open up the Terminal and issue the following:

 find /Volumes/MyDisk -type f -not -name “checksums.txt” -exec md5 ‘{}’ \; > /Volumes/MyDisk/checksums.txt

where "MyDisk" should be replaced with the name of your disk.

This generates a text file with the checksums of every file on the disk. Then to later validate the checksum, you run the same command, but redirect the output to "checksums2.txt".

Then run:

diff /Volumes/MyDisk/checksums.txt /Volumes/MyDisk/checksums2.txt

if you have any output from that command, it means that the checksums do not match.