Here is a fairly robust way to ensure a drive safe to put into service. I have tested this before and caught drives that would have failed shortly after put into prod, and some that would of after it was more than half full.
-
Check S.M.A.R.T Info: Confirm no (0) Seek Error Rate, Read Error Rate, Reallocated Sector Count, Uncorrectable Sector Count
-
Run Short S.M.A.R.T test
-
Repeat Step 1
-
Run Conveyance S.M.A.R.T test
-
Repeat Step 1
-
Run Destructive Badblocks test (read and write)
-
Repeat Step 1
-
Perform a FULL Format (Overwrite with Zeros)
-
Repeat Step 1
-
Run Extended S.M.A.R.T test
-
Repeat Step 1
Return the drive if either of the following is true:
A) The formatting speed drops below 80MB/s by more than 10MB/s (my defective one was ~40MB/s from first power-on)
B) The S.M.A.R.T tests show error count increasing at any step
It is also highly advisable to stagger the testing (and repeat some) if you plan on using multiple drives in a pool/raid config. This way the wear on the drives differ, to reduce the likelihood of them failing at the same time. For example, I re-ran either the Full format or badblocks test on some of the drives so some drives have 48 hours of testing, some have 72, some have 96. This way, the chances of a multiple drive failures during rebuild is lower.
I just full format and check smart, seems like a lot of work for each drive…
Way Overkill.
Single pass read (SMART test is fine) and single pass write (ones, zeros, random, whatever you want) is more than adequate to determine any issues a new disk may have out of the gate, unless you want to isolate a fringe case condition and waste time and wear on your hard drive doing so.
I do it the other way around: first write (zero wipe), then read (SMART long test). Served me well for many disks. :)
Most I would do is a write test followed by a read test, and then check the smart counters