Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a 500G SATA hard drive in my machine that all the sudden started giving me I/O errors, until Linux simply disconnects the drive. Reboot, and then it works for a random period before failing again.

The drive is within warranty, but I've had bad experience with shops that are unable to reproduce a problem, as the drive doesn't fail all the time. Then they simply send me a bill and the drive back.

What is my best course of action to make sure they can reproduce the problem?

Update: Those of you who have recommended the diagnosis tools, it's a good valid answer, expect as stated in my question, I'm running Linux and these tools do not exist for it. As for 'gaming' the store, it's not about that. The drive is well on its way of being completely unusable without any help from me. I'm just talking about speeding up the process.

Update 2: I don't really know why I decided to ask this here. I was hoping for suggestions like 'do a badsector test', 'try to stress the drive with copying random data to it with dd'. I will say this again, so stop suggesting it or suggesting me not to... I will not in any way terminate my warranty by messing with the hardware itself, that includes; bulk erasers, huge magnets, too much power or anything that will show up when the drive is eventually sent back to the manufacturer.

share|improve this question
1  
Spinrite is a boot system. –  Brad Gilbert May 19 '09 at 3:51
    
Spinrite is a commercial program that ships with FreeDOS to boot –  Andrioid May 19 '09 at 6:41
    
This really isn't a Linux question at all. The failure occurred while you were using Linux, but the first thing to do with possibly failed hardware is to remove it from the production system and put it into a test environment running whatever OS and tools are most appropriate for testing the hardware. –  David Schwartz Oct 7 '11 at 19:34
add comment

11 Answers

Does the drive manufacturer have a utility to check the drive?

Often they will provide a utility that you can boot with that will run some diagnostics - this should probably be your first step. Check there website and download if available

share|improve this answer
3  
I've had to return two Deathstars, and in both cases the IBM/Hitachi DFT program ran and gave an error code that I could type into their web site and get an instant RMA. –  Paul Tomblin May 17 '09 at 20:30
add comment

I think the best thing to do is to call them and discuss this situation - any form of 'gaming' them is likely to be pointless and very possibly counterproductive. These people are used to dealing with a range of customer's problems and I would imagine they'll be happy to help you if you ask.

share|improve this answer
2  
I agree. I've had the same issue, and when I tell them the drive is dead, they replace it. I've never had to force a drive to fail to get it replaced. –  Aaron May 18 '09 at 13:16
add comment

I would recommend using SpinRite as well as the manufacturer's tools. I have previously used it to recover data on a dead drive. The great thing about SpinRite is that it can detect the rate of errors (errs per MB).

Usually when RMA'ing a drive, they make you include a status code of some kind from their diagnostic tools.

share|improve this answer
1  
-1 Gibson reference –  duffbeer703 May 18 '09 at 13:17
1  
It would also help diagnosing what exactly is wrong with a given hard drive. –  Brad Gilbert May 19 '09 at 3:49
2  
@duff: sorry you don't like Gibson, but the product's value is undeniable, IMO, as having my a** saved by it. –  p.campbell May 19 '09 at 4:04
add comment
up vote 5 down vote accepted

I'm not known for my huge amount of patience, so I'll just answer this myself. Maybe this will help someone later.

Badblock check

badblocks -v /dev/sdx1 (replace sdx1 with drive partition)

Write stress test

dd if=/dev/urandom of=/dev/sdx (this will of course wipe the entire disk)

Read stress test

dd if=/dev/sdx of=/dev/null (reads every sector and sends it to the null device)

SATA disconnects

I have a USB-to-(S)ATA adapter that is capable of reseting the USB device if the disk stops responding at any point. This serves as a work-around when Linux disconnects the drive for too many i/o errors.

share|improve this answer
1  
You may wish to use something faster than /dev/urandom to generate "random" data. A larger blocksize (e.g. bs=1024k) would be much faster as well. –  carlito Jun 1 '09 at 20:24
add comment

I would also recommend ensuring the controller on the bottom side of the drive isn't getting too hot. This sounds like a heat issue to me.

If you're able to eliminate heat as a cause, then I would call the manufacturer. I've never had a problem when talking with the manufacturer and getting an RMA first. When sending it in, I would also recommend including a detailed description of exactly what you've seen.

share|improve this answer
add comment

Give it a good workout: http://www.textuality.com/bonnie/

Few days of that should show if it really is about to kark it.

Bonnie is in most distro's repositories IIRC.

share|improve this answer
add comment

The best way to finish off a dying hard drive?

If you've got a rubber mallet, whack it with that - it'll break something internally, but not leave any marks.

Time tested solution - but only if it's under warranty!

share|improve this answer
add comment

Drive manufacturers usually provide diagnostic utilities that you can run before sending in the drive. Once you get I/O errors out of their utility, you can include the log and they'll be less likely to contest your problem.

share|improve this answer
add comment

I can strongly recommend to NOT fool them with the "tricks" one may have heard about (high voltage, microwave oven, bulk tape eraser). They are used to handle such things much more often than you or I.

share|improve this answer
add comment

Possibly they aren't really testing the drive thoroughly.

Give them your documentation of the problem. If that doesn't satisfy your agreement, you have a fundamental problem.

Based on your description, your problem could be an interaction between the controller and the drive. For example, your controller could be bad at handling a marginal drive. Or you could have a bad controller.

Ideally your agreement with the vendor would specify whether it is expected/guaranteed to work with your controller - or it would involve them taking responsibility for the controller (and driver) as well.

I have seen a lot of SATA drives that misbehave in the manner you describe - sometimes as part of the normal course of business, sometimes while in the process of failing. Sometimes it is admitted to be a firmware bug. 500GB drives were especially bad in my experience.

You will help your case significantly by repeating the problem with a different controller, since odds are there is no promise for the drive to work with any particular controller, or you would not be having this problem.

share|improve this answer
add comment

Well, you could always take a bulk tape eraser and run it across the hard drive. That will make sure it never works again, ever.

As long as you don't have moral issues about it.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.