Testing new HDDs

DarkScythe

Limp Gawd
Joined
Mar 7, 2008
Messages
367
Hey there everyone,

I just ordered 4x new 3TB WD Reds from Newegg since they had it bundled together for $360 yesterday, which was finally within my target price range of $30/TB. Actually managed to get them a bit cheaper between the free $10 GC they sent me, and the $25 off 200 AmEx promo. I couldn't stack the VCO code, though, since it wouldn't work on combo items.

In any case, I figure I will be testing these HDD's when they arrive to check for issues and DOAs before I put them into service. I'm wondering if anyone else does this, and if so, what their process looks like.

My plan is to check them via my external enclosures for their SMART attributes, then throw them into my old PC and run DBAN on them for a couple days, then check SMART again afterward to compare the numbers. Is there any better way, or is this pretty good? Also, how many runs of DBAN would be considered good? I could simply leave it running for a week nonstop, but it also sounds like potential overkill.

Thanks!
 
I recommend a badblocks (available on linux live isos) 4 pass read / write test. This will write a pattern to every byte of the disk read it back and repeat 3 additional times with 3 more patterns. This should take 30 to 40 hours for a 3TB red. Run 3 instances so you can test all 3 at once. During the test look at the smart of each drive a few times looking at the raw values for the following: Reallocated_Sector_Ct, "Current_Pending_Sector", "Offline_Uncorrectable", "UDMA_CRC_Error_Count", "Command_Timeout".

This is what I do for every single hard drive (regardless if it is new or back from an RMA) I receive for work, home or customers.
 
Last edited:
Awesome, thanks for the suggestion.

I haven't used any of those Linux things before, though, so some research may be required before I can do what you are suggesting. I am curious though, is there a particular benefit to using that method over the DBAN thing? If I recall correctly, DBAN also has an option to 'Verify' while it wipes (and to my knowledge, it also writes to every sector, I think.)

I will definitely note down those particular SMART attributes to check, though.
 
I believe one benefit is the verify (badblocks calls this read and compare) test is done after the entire write pass has completed and not just after it was written.

Years ago I found a firmware bug on 2TB Samsung F4 drives using this method (there should be a thread about that). It turned out that checking the SMART during a write sometimes caused the drive to ignore the write but return to the os that the write was successful. Samsung fixed that quickly and I still use the 3 F4s today. However it was good I tested this since it would have caused random corruption on my files since I do check the SMART of my disks from time to time..
 
The purpose of DBAN is to wipe the drive, not sure it does much to validate accuracy.

Badblocks will write data and verify the data each time to make sure it works and this process stresses the drive enough that if it was going to fail in the first few months it will end up with SMART errors.

I have an unraid box with a preclear script that does basically the same thing. i run all my drives through it before use.
 
Thanks for the info, guys. I used DBAN simply because it was easy (load and go, basically) and perhaps I put more stock into its 'Verify' function than you guys are willing to.

Having said that, I'm trying to look into grabbing one of these Linux Live CD's, but...there are a staggering number of options available, and I have no idea which one to use -- are there any suggestions for a simple-to-use distro with the necessary tools (badblocks?) I need? I should mention that my old PC will not have any 'active' storage to install any OS on, so it has to be self contained to a CD/DVD, or USB. It will basically be power up, and test every connected HDD. I should also note that this would be my first time trying to use anything related to Linux.
 
I use the iso from sysrescuecd ( when I do not have a linux box available)

http://www.sysresccd.org/SystemRescueCd_Homepage

Although one reason is this is a gentoo release and I run gentoo on 50 or so machines.

One word of advice for a new user is to remove all drives that you do not want to test. Since like DBAN the 4 pass badblocks will overwite all sectors of your drive ( well that is if you use the -wsv as your parameter - which I recommend).

I should mention that my old PC will not have any 'active' storage to install any OS on

Great. That way no chance of destroying data...

BTW, I put the sysrescuecd on a bootable USB stick using YUMI.

http://www.pendrivelinux.com/yumi-multiboot-usb-creator/
 
Thanks for the pointers; definitely appreciate the guidance.

It looks like that CD is listed here categorized as a 'Rescue' and 'System Administration' package, of which other similar ones appear to be ones like the 'Ultimate Boot CD' although I'm not clear on what exactly the difference is.

Having said that, I'll try that one out based on your recommendation, although again since I have never really used Linux before, it being based on 'Gentoo' is somewhat meaningless to me. Hopefully it's not too difficult or non-newbie-friendly to run.

I'll likely just use a CD, as I don't have any spare USB drives to dedicate to such a task while I have plenty of old CD-RW's lying around.

Does that package have everything necessary (including the utilities to check SMART attributes you mentioned previously?) Also, to the point of the -wsv parameter, does this mean everything must be run from a console, or is there a GUI equivalent?

As an aside, I'm not sure how Linux handles input devices -- I do not have a spare keyboard or mouse available, so I would plug it in temporarily to get the process started, at which point I'll be unplugging them while the machine/tests run so that I can hook them back up to my PC. Hopefully this won't cause any issues.

Otherwise, I'll start preparing the CD and the machine while I wait for UPS to arrive with my hard drives.
 
Does that package have everything necessary (including the utilities to check SMART attributes you mentioned previously?)

Yes. It has badblocks and smartctl


I'll likely just use a CD, as I don't have any spare USB drives to dedicate to such a task while I have plenty of old CD-RW's lying around.

You can burn the iso to a cd-r or cd-rw or even dvd-rw

As an aside, I'm not sure how Linux handles input devices -- I do not have a spare keyboard or mouse available, so I would plug it in temporarily to get the process started, at which point I'll be unplugging them while the machine/tests run so that I can hook them back up to my PC. Hopefully this won't cause any issues.

That should be fine.

Also, to the point of the -wsv parameter, does this mean everything must be run from a console

Both smartctl and badblocks are console utilities.

We can guide you through the testing.


It looks like that CD is listed here categorized as a 'Rescue' and 'System Administration' package, of which other similar ones appear to be ones like the 'Ultimate Boot CD' although I'm not clear on what exactly the difference is.

sysrescuecd is both a rescue and system administration tool along with a system testing tool and several other categories..
 
Last edited:
Many thanks for your offer!

I'm currently downloading the ISO from their sourceforge, and am hooking my old machine back up to my monitor and such.

I'll try to do a bit of reading of their 'quick start' guide while everything is coming together, but if you have more specific directions and/or advice for what I'm trying to do, I would definitely appreciate it.
 
Okay, just got everything hooked up and running. CD loaded up fine, although now I'm at a console and fairly intimidated, as I don't know what commands to enter. (I just loaded the default environment as it recommended.)

From some looking around, I assume my next steps are:

1. fdisk -l to figure out what my drives are.
2. badblocks -wsv /dev/<whatever I find from fdisk>
3. Repeat #2 three more times for each of the other drives.
4. smartctl -i /dev/<whatever I find from fdisk> to view SMART info. (I assume I should wait until #2 is finished before doing this.)
5. Repeat #4 three more times.
6. Hope for no issues.

...is that right? From some documentation, it appears that smartctl also has its own testing abilities, but I'm not sure if they are necessary here.
 
That looks good. How many drives do you have installed? I would do the testing in parallel.

Code:
fdisk -l /dev/sd?

will most likely help find only the drives.

Edit: Although you will most likely have no partitions on anything attached so the extra parameter may not be any different.
 
I have 4 new drives (bought the 4x WD30EFRX bundle for $360 off Newegg yesterday, plus $35 in extra discounts.)

I figured running tests in parallel would be the best option, and I assumed I had to conduct steps #3 and #5 in order to do so, unless this is incorrect? Is there a way to specify "all drives" in the first place, instead of executing badblocks and smartctl 4 times each?

Good to know I'm on the right track, though.
 
It looks like you have 4 disks. I would do them all in parallel. Press ctrl-alt-f1, ctrl-alt-f2, ctrl-alt-f3 ... to switch between consoles and run each test in its own console. If you had more drives I would show you how to use the screen command but it will not be needed with 4 drives.
 
For smart
Code:
smartctl --all /dev/sdX
where /dev/sdX is your device. Then look at RAW values of the attributes I mentioned earlier in this thread.

I recommend looking at the SMART before, some time during and after for all disks.

BTW --all gives you the serial # of the drive.
 
Haha, you can have multiple consoles? I only see the one full screen one, so I assumed it was like the old DOS prompt or something, and I was limited to one.

I will try that now. Basically, start badblocks on one drive, then ctrl+alt+F1 to execute on a second drive and so on? (Or is F1 the primary one?)

Also, should I bother with those smartctl tests? I already took some screenshots with CrystalDiskInfo earlier when I plugged them each into my Windows machine's external enclosure to check for DOAs (thankfully, all appear to be fine. Newegg's packaging this time seemed a bit overkill, actually.)
 
Yes you will have multiple consoles. ctrl+alt+F1 gives you the first. ctrl+alt+F2 = second ...
 
Okay, thanks, I think I just got them started.

fdisk listed my drives as simply a/b/c/d, which was simple enough.
I've got badblocks -wsv /dev/sdX running in each of four consoles. If I'm reading correctly, this should automatically run the 4-pass test on each drive with a different pattern each pass.

I'll try and see if I can run smartctl at some point during the tests -- should I do so in a fifth console instance so as to not disrupt the badblocks scans running in the other four?

Huge thanks again for helping guide me through, by the way. This isn't quite as painful as it could be, being pointed toward the programs I need to look for.
 
should I do so in a fifth console instance so as to not disrupt the badblocks scans running in the other four?

Yes. If it is available. I do not remember how many virtual consoles you get before the ones reserved for X windows. If you want run iotop in the 5th console and look at the current transfer rate of the drives. ctrl-c gets you out of iotop.

fdisk listed my drives as simply a/b/c/d, which was simple enough.

I expected that but on some old controllers or hba/raid cards the devices could be different and sometimes the dvd drive is factored in the list..

Huge thanks

You are welcome..
 
I just tried it, and was able to open up a fifth console instance (and perhaps a sixth as well.)

I ran iotop for a bit, and it seems like drives a, b, and c are running at around 145~150 MB/s, although for some reason drive d is showing as only running at around 115~120 MB/s. Not sure why, but maybe it's due to the controller and/or random old SATA cable I had lying around. (There was one instance a while ago where I found a hard drive experienced poor performance in one of my external enclosures, and it turned out to be a faulty eSATA cable.)

I think my optical drive was indeed listed first though, but it was named something else entirely and the capacity was simply the capacity of the CD-RW, so I just skipped over that entry.

Drive d's oddly slow performance aside, now that everything is running, I'll just have to remember to pop over to check smartctl at some point. Just to doublecheck, there isn't anything that will cause issues if I do smartctl --all /dev/sdX while badblocks is running, right?
 
there isn't anything that will cause issues if I do smartctl --all /dev/sdX while badblocks is running, right?

You should be fine with that. I recommend it.

If the output is too long add | less

so

Code:
smartctl --all /dev/sda | less

then you can use the up down keys page up, page down. Press q to exit.

http://ss64.com/bash/less.html
 
I just tried it, and was able to open up a fifth console instance (and perhaps a sixth as well.)

Correct there are 6 consoles. I just booted off the latest sysrescue iso to resize a partition on my linux based pvr after cloning. I am in the process of swapping out a 256GB SSD for the 960 GB Sandisk Ultra II that was on sale.
 
Last edited:
Haha, perfect, thanks. I'm letting it run right now (the slow speed on drive d still concerns me, but at this point I don't feel like interrupting the process to try and figure out which drive it is and swap out the cable) but I'll post an update if I run into any particular issues.

I haven't even had time to think about my SSD yet.. Still running a 256GB Crucial M4, and it's ridiculously full as well due to silly games being so large nowadays. I haven't yet figure out how I want to approach an upgrade to that, as I also really do not want to deal with a Windows reinstall right now. I thought about getting a large capacity SSD (something like the Crucial BX100 or something) just to make it a Steam SSD to alleviate the pressure on my M4, until I feel like upgrading that to an actual performance SSD with a new OS install, but I'm not sure if it's a better idea than simply getting one larger performance SSD instead even if it would be less overall capacity.
 
Just thought I'd post a followup update to this:

The drives successfully finished their four passes of the badblocks check yesterday. All four drives report zero bad blocks, and random smartctl checks on each drive during the test revealed no SMART issues on any of them. I think I'm pretty confident now that all four of the WD 3TB Red drives I received are perfectly fine for long-term usage.

I just need to get them installed and data copied over now. This makes it 5 of 5 3TB Reds I have in service without issue, which is a relief considering the amount of negative reviews these things get.

Many thanks again for your guidance, drescherjm!

My next step is going to be testing a new SSD, since I broke down and jumped on that $120 Amazon deal on Friday for the 500GB BX100. Twice the capacity for a third of the price I paid for my M4 in just a couple years.
 
I use the iso from sysrescuecd ( when I do not have a linux box available)

http://www.sysresccd.org/SystemRescueCd_Homepage

Although one reason is this is a gentoo release and I run gentoo on 50 or so machines.

One word of advice for a new user is to remove all drives that you do not want to test. Since like DBAN the 4 pass badblocks will overwite all sectors of your drive ( well that is if you use the -wsv as your parameter - which I recommend).



Great. That way no chance of destroying data...

BTW, I put the sysrescuecd on a bootable USB stick using YUMI.

http://www.pendrivelinux.com/yumi-multiboot-usb-creator/

When you run the command badblocks -wsv command, it seems from this thread that you specify what partition you want to run the badblocks application on. So, why do you say that it erases everything on all drives?
 
In any case, I figure I will be testing these HDD's when they arrive to check for issues and DOAs before I put them into service. I'm wondering if anyone else does this, and if so, what their process looks like.
ALWAYS! Doesn't matter whether it's a new HDD, or new-to-me HDD.

Quick zero write, then (full sector scan, full zero write) x3.
After all that, it had better not have a single, bad SMART attribute, particularly realloc count, and pending realloc count.

EDIT : My bad mods, didn't realize this was a necro.
 
it seems that badblocks ran on unallocated space. This wasn"t my intention, I realized after the fact. Are the results still valid?

also, unrelated Q: should we use the method in this thread for SSD?
 
it seems that badblocks ran on unallocated space. This wasn"t my intention, I realized after the fact. Are the results still valid?

It will run on all space allocated or not. It does not understand or check the filesystem in any way.

should we use the method in this thread for SSD?

No. And for that I have not found a good testing method.
 
When I run smartctl (while badblocks is running), what output am I looking for?
I see that it shows the drive capacity and that the drive has smart capabilities. Is it one of those or something else?
 
I use a script like this

smartctl --all /dev/${device} | grep -e "Reallocated_Sector_Ct" -e "Current_Pending_Sector" -e "Offline_Uncorrectable" -e "UDMA_CRC_Error_Count" -e "Hardware_ECC_Recovered" -e "Command_Timeout"
 
1 Smarts status (Crystal disk info. passmark hdd tool)
2 manufactors test tool
3 Dban fir repeated overwrites and vaerification of rando mdata

In order of easy of use / time efficinecy.
decied you self how many of the stops you will do but do them in order
 
I use a script like this

smartctl --all /dev/${device} | grep -e "Reallocated_Sector_Ct" -e "Current_Pending_Sector" -e "Offline_Uncorrectable" -e "UDMA_CRC_Error_Count" -e "Hardware_ECC_Recovered" -e "Command_Timeout"

So I can just run that command (with ${device} replaced by sba1, etc) every hour, say, while badblocks -wsv is running and then at the end the data can be interpreted?
 
Something like that. The first 3 (Reallocated_Sector_Ct, Current_Pending_Sector, and Offline_Uncorrectable ) should all be 0. Command_Timeout should also be 0 under normal situations.

UDMA_CRC_Error_Count indicates a possible cable problem.
 
Something like that. The first 3 (Reallocated_Sector_Ct, Current_Pending_Sector, and Offline_Uncorrectable ) should all be 0. Command_Timeout should also be 0 under normal situations.

UDMA_CRC_Error_Count indicates a possible cable problem.

My hard drive is Hitachi Deskstar T7K500
Model: HDT725032VLA380

Here are the results.
Sorry about the formatting. I put several spaces in to make the columns line up but I guess that doesn't translate to web page code.

5 Reallocated_Sector_Ct 0x0033 100 100 005 Prefail Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0

Here are the main numbers rewritten:
Re 100 100 005
Cu 100 100 000
Of 100 100 000
Ud 200 253 000

Also, I ran badblocks about 4 times-- one time on unallocated, then I thought that I should run it once formatted, then I realized that I was supposed to run smartctl while running badblock but didn't do the correct smartctl command.

So I take it that's bad news?
The hard drive is about 10 years old but wasn't used too much over those years (a fair bit in the earlier years, though).

I was reading some information
https://ma.juii.net/blog/interpret-smart-attributes
but I wasn't sure which column those descriptions applied to.
Also, if I was understanding some other materials that I was reading, some hard drives might not be on a "scale" where you are looking for a 0 value.
 
Last edited:
Simple question from a new poster. Does DBAN thoroughly wipe a drive, including partitions and bloatware from the manufacturer?
I believe so. Although l have only used it once or twice. I have used badblocks hundreds of times.
 
I believe so. Although l have only used it once or twice. I have used badblocks hundreds of times.

The reason I want to fully cleanse a disk is because I'm contemplating buying a used laptop with a large HD and don't want any of the owner's previous baggage.
 
Back
Top