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

I have tested rebuilding a Windows Server 2008 RAID-5 after a whole disk fails, and this works pretty well. It's a bit harder to test a few clusters going bad.

Will Windows detect this, correct for it and alert me?

Obviously it can't correct if data just turns to random bytes, but if clusters are unreadable it could reconstruct the data from the remaining volumes because it knows which drive has the bad clusters. But does it actually do this, transparently to the running applications?

share|improve this question

2 Answers 2

up vote 5 down vote accepted

Bad clusters are typically detected by the hard drive itself and then re-localized transparently. If your OS reports bad célusters, it means that there is no more reserve cluster available and that the disk REALLY has gone bad.

Now, Windows RAID will alert you in case there is a bad cluster because the raid will then fail and the disk will be marked as bad. Typically, you don't wait for that stage, though: you use the disk's SMART status report to see how many bad cluster relocation the disk had to perform and pro-actively change the disk when it is too high.

share|improve this answer
    
This answer only covers sectors that were detected as bad while writing. –  Simon Richter Dec 23 '11 at 14:01
    
yes and no: sectors that becomes bad after writing (while reading) will still cause the array to fail and be rebuilt. –  Stephane Dec 23 '11 at 15:02

The standard strategy for bad sector handling in a RAID setup is to have the drive report bad sectors immediately on reads and allow reallocations on writes.

If a sector fails to read correctly, the data is normally recovered from the other disks and then rewritten to the same logical block address; the drive then either manages to write the sector correctly at the original location or remaps; if the remapping fails, the drive is marked as FAILED.

If the data cannot be restored, the RAID set reports the error to the file system, which then starts flailing around helplessly, so that should not happen.

In order to detect bad sectors, most RAID systems have a verification mode that reads all harddisks and tests whether the checksums match up. They usually do, as the drives have checksums on sectors individually and either return correct data or a proper error (which is handled as described above).

If you do not have the free I/O bandwidth for a verify run every month or so, you should add more redundancy.

In a RAID5 setup, incorrect data that is read without an error can only be detected, but not corrected (you'd need a RAID6 for that).

You will get notifications for disks going into FAILED state and inconsistent data being read during a verification pass; the latter is a really rare condition unless your drive is lying (in which case I'd never buy from that vendor again).

share|improve this answer

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.