Resource icon

Hard Drive Burn-In Testing - Discussion Thread

rogerh

Guru
Joined
Apr 18, 2014
Messages
1,111
Oh of course, i'm letting them all finish. I thought he meant running the entire badblocks through to completion three times.
His test machine had 4 drive bays. He had six disks, A-F; run test on ABCD, run test on ABEF, run test on CDEF; all drives fully tested 3 times under the same conditions.
Edit; perhaps ABCD, DCEF, FEBA would be better!
 

STREBLO

Patron
Joined
Oct 23, 2015
Messages
245
His test machine had 4 drive bays. He had six disks, A-F; run test on ABCD, run test on ABEF, run test on CDEF; all drives fully tested 3 times under the same conditions.
Edit; perhaps ABCD, DCEF, FEBA would be better!
Oh, I see...

For testing memory I'm planning on running memtest86+. When my drives finish badblocks and smart testing, is there anything else that should be run on a system before using?

Also in jgreco's post he recommended doing d testing, badblocks is a replacement for this right? Or should it be done in addition to dd?
 
Last edited:
Joined
Apr 9, 2015
Messages
1,258
Just something I wanted to throw out there. If you don't want to pull up the GUI and find where the disks are listed you could just do:

Code:
sysctl kern.disks

or
Code:
 ls /dev/ada?


The output of either will give you the disks

Code:
[root@FreeNAS] ~# sysctl kern.disks
kern.disks: ada2 ada1 ada0 da1 da0


Code:
[root@FreeNAS] ~# ls /dev/ada?
/dev/ada0  /dev/ada1  /dev/ada2


I have to walk my father through all this over the phone to test his drives. The advantage of the ls /dev/ada? is that it seems to only show the hard drives rather than anything else.
 
D

Deleted47050

Guest
Oh, I see...

For testing memory I'm planning on running memtest86+. When my drives finish badblocks and smart testing, is there anything else that should be run on a system before using?

Also in jgreco's post he recommended doing d testing, badblocks is a replacement for this right? Or should it be done in addition to dd?

I'll let somebody correct me if I am wrong, but it is my understanding that badblocks is a replacement for dd.
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
I've been working on a script to automate this burn-in process. The file is attached. Feedback is welcome. I don't recommend you run this on a production machine.


How to run it:
  1. Give the server a drive to hold files. I mounted a USB drive and set it up as a standard volume with this path: /mnt/SystemDataset
  2. Put the script in /mnt/SystemDataset
  3. Open the script and edit the variable 'Save_Path' to fit your environment
  4. Set the script to be executable
  5. Run it like this:
    1. ./drive_burn_in.sh <drive_name>
    2. ./drive_burn_in.sh da1
During the writing of this post, I have 12 drives simultaneously running this very script on a non-production server.

Any chance you could give a more detailed guide for steps 4 and 5?

I tried searching around, but I must be doing something wrong, because when I try to run the script all I get is "/drive_burn_in.sh: not found" or "command not found".
 
D

Deleted47050

Guest
Any chance you could give a more detailed guide for steps 4 and 5?

I tried searching around, but I must be doing something wrong, because when I try to run the script all I get is "/drive_burn_in.sh: not found" or "command not found".

To make a script executable: chmod a+x script_name
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
Thank you I now did the following:

cd /mnt/Systemdataset *enter*
chmod a+x drive_burn_in.txt *enter*


when I do "ls" drive_burn_in.txt is now listed in green with a* at the end, I am guessing that means it's executable?

But I do not get a .sh file, and when I try the following:

./drive_burn_in.txt da0 *enter*

or just:

drive_burn_in.txt da0 *enter*

I get "command not found"


The same goes for

./drive_burn_in.sh da0 *enter*

and

drive_burn_in.sh da0 *enter*

I also tried to create a file in notepad saved it as drive_burn_in.sh and copied the content from the .txt-file and tried it with that, but I still get "command not found.

putty.png
 

titan_rw

Guru
Joined
Sep 1, 2012
Messages
586
J

Code:
[root@FreeNAS] ~# ls /dev/ada?
/dev/ada0  /dev/ada1  /dev/ada2


I have to walk my father through all this over the phone to test his drives. The advantage of the ls /dev/ada? is that it seems to only show the hard drives rather than anything else.

All my hard drives are /dev/daX. All of my boot devices are /dev/adaX. It depends on the system.
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
drive_burn_in.txt: Bourne-Again shell script, ASCII text executable, with CRLF line terminators
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
Code:
usage:    tr [-Ccu] -ds string1 string2
[tr [-Ccu] -s string1
tr [-Ccu] -d string1usage:
tr [-Ccsu] string1 string2
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
With "drive_burn_in.sh da15:"

Code:
drive_burn_in.sh: Command not found.


With "./drive_burn_in.sh da15"

Code:
./drive_burn_in.sh: Permission denied.


edit: This is as root with Putty
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
You still need to do
chmod +x drive_burn_in.sh

I only gave you a workaround to editing the file in a system that used different end-of-line convention.
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
Thank you, that seems to have got it started.

So for future reference:


  1. Give the server a drive to hold files. I mounted a USB drive and set it up as a standard volume with this path: /mnt/SystemDataset
  2. Put the script in /mnt/SystemDataset
  3. Open the script and edit the variable 'Save_Path' to fit your environment
  4. tr -d '\015' < drive_burn_in.txt > drive_burn_in.sh
  5. chmod +x drive_burn_in.sh
  6. ./drive_burn_in.sh <drive_name>
 

zicoz

Dabbler
Joined
Jan 18, 2013
Messages
17
And just to make sure. When the SystemDataset folder looks like this:

complete.png

It means that the testing on the WD-drives is complete, and they are ok.

And that the Seagate drives are still testing.

Is this correct?


The "WDC_WD-WCC131115648_2015-11-16T20.57.44Z_da5_SMART_Details" files are completely empty which makes me wonder if something went wrong somewhere.
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
@zicoz, run the command manually
smartctl -a /dev/da5

If you want to have it in the file (and the previous output was generated OK!), run
smartctl -a /dev/da5 > WDC_WD-WCC131115648_2015-11-16T20.57.44Z_da5_SMART_Details
 

GreyKatana

Dabbler
Joined
Oct 3, 2015
Messages
31
I'm doing my HDD burn-in and I'm currently at the badblocks -ws step.
Right now, the output for both disk is:
(0/0/134396 errors)
(0/0/139484 errors)

--

Ok scratch that, I think I understand. Since you do the badblocks test from inside FreeNAS, the drive were already inside of a mirrored pool!

Will scrap the pool and restart.
 
Last edited:

Cytomax

Explorer
Joined
Nov 29, 2015
Messages
67
Thought this would be good information to add to the 1st post in this thread so other people dont have to go digging around for it.

I just got a 6 Terabyte WD RED Drive "WD60EFRX"
and the following did not work

badblocks -ws /dev/sdaX

It gave me an error
"badblocks: Value too large to be stored in data type invalid end block (5860522584): must be 32-bit value"

I needed to change the block size in order to get it work

badblocks -b 4096 -ws /dev/sdaX

I did get an error
"set_o_direct: Inappropriate ioctl for device"

But according to
dlavigne in his post Dec 23, 2014
"I asked our GEOM guru who says:

FreeBSD does not do any caching for block device I/O. That makes O_DIRECT flag setting pointless there. I am not sure whether it should cause error, but I don't think that error should cause any problems if the tool is still working.

0x10 value for kern.geom.debugflags is still correct if user really wants to access raw device, that is mounted by the system. But it should be used with care, since it may be a way to shoot his own foot."

TLDR
For Drives 6 terabytes or bigger use the following command
badblocks -b 4096 -ws /dev/sdaX
 
Last edited:
Top