🚀 Check out my open source PHP & Laravel Valet tool, PHP Monitor.

Drive health & verifying hard disk integrity

December 28, 2020

External hard drives are still a good option for disk clones in emergency situations or for archival. Learn more about making backups in this post.

I’ve always really liked Transcend’s external hard drives, especially those with the drop-resistant enclosures. However, my oldest external drives were an old variant of this one — the older, orange enclosures only supported USB 2.0 speeds.

Because of this, I hadn’t used these for quite some time. So, over the weekend, I popped them open so I could put them in a faster USB 3.0 enclosure.

By default, this is the controller inside the enclosure. This is a USB 2.0 port, so this device was limited to roughly 20 MB/s writes and 40 MB/s reads. After putting the same disk into a new enclosure, the disk can be both read and written to at a speed of roughly ~80 MB/s.

After doing so, I wanted to determine whether these spinning disks were still in good condition (these are likely about 10 years old, but they were only periodically used for copying data to them — the oldest drive has been used for 500 hours).

After some searches, I stumbled upon gsmartcontrol, a GUI for smartctl. I use my external drives for bulk storage and also for archival purposes.

Using gsmartcontrol you can perform a variety of tests, including a test to determine if the disk’s surface is OK. A full test can take a very long time (about 7 hours for a 2 TB disk).
Using gsmartcontrol you can perform a variety of tests, including a test to determine if the disk’s surface is OK. A full test can take a very long time (about 7 hours for a 2 TB disk).

In order to determine whether a disk is truly 100% fine, there are a couple of things you probably want to do:

  1. Check the SMART status (it is a good indicator of overall drive health)
  2. Verify the disk’s surface (using an extended self-test)
  3. Verify the disk can be written to (using e.g. h2testw)

In addition to this, you also want to make sure you have a few different enclosures and/or cables around. I was dealing with frequent disconnections that I was able to attribute to a broken disk enclosure and cable.

If you verify the disk’s surface, this will take a long time (roughly 7 hours for a 2 TB disk in my experience) but this does not normally impact the data on disk.

Should this process inform you of failures, you should replace the disk.