Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Bad sectors will eventually occur, but how should I deal with them? If a bad sector occurs, does that mean that the data in that sector is irrecoverably lost, and I should restore it from backup? Is there any way to automate finding out which file belonged to that sector and at which offset, and to automate that recovery? Is there anything I can do on the filesystem level to make my life easier? (ECC?)

share|improve this question
4  
You have backups, and you replace the disks when failures occur. You can setup RAID help help deal with media failures. You can use filesystems with checksums to detect failures (ZFS, BTRFS) – Zoredache May 9 '13 at 9:20

You do not deal with bad sectors. Your hardware, server configuration, and internal procedures protect you from their effects.

  • Every modern hard drive anticipates a certain amount of bad sectors, and internally remaps them. This process is completely transparent to the user/OS, until such time as the remapping space is all used up (at which point you start seeing bad sectors).
    Long before you see bad sectors your drive will start crying - SMART or equivalent technology causes the drive to report faults to the operating system (which you are of course monitoring for, right?).

  • If you love your data (and who doesn't) then you don't just trust it to one hard drive.
    All your important data is on RAID volumes (hardware or software - makes no difference for the purposes of this discussion).
    RAID gives you two or more redundant hard drives, so that when one disk fails you have the opportunity to replace it without losing any data.

  • Because you know that RAID Is Not A Backup, you also make regular backups (and periodically verify that you can restore them successfully), so that even if you lose enough drives that your RAID array is trashed you can still get your data back.


As with all good strategies, this is Defense In Depth:
The hard drives do their best to safeguard your data by handling errors/bad sectors gracefully.
Should the hard drive fail, RAID keeps your data safe until you can fix the hardware problem.
If the RAID fails to protect you your backups are a final chance to save your data.

Ideally you use all of these techniques all of the time (at least for important data), but you always have at least one layer of the onion (even laptop hard drives are S.M.A.R.T. these days).

share|improve this answer
    
Alright, I didn't know that a remapped sector is not the same as a bad sector. I thought bad sectors get remapped. So when the disk is degraded so much that a sector cannot be remapped then it becomes a bad sector? And if it was remapped then no data was lost at that point in time? – Hongli Lai May 9 '13 at 21:27
    
A remapped sector IS a bad sector - it's just one the hardware has dealt with for you transparently (most of the time with no data loss). When you start seeing bad sectors on a modern drive (with a tool like badblocks, or in your logs) it means all the remapping area has been used -- at that point you should consider the disk dead and replace it. – voretaq7 May 10 '13 at 15:20

Every time a hard drive writes a sector, it also updates a checksum (stored immediately after the sector data). When a sector is read from your hard drive, it's expected that the sector checksum will match the sector data, if that is not a case, something went wrong during the write operation, that's called a bad sector.

There are two common reasons for bad sectors:

  1. Power failure during write.
  2. Hard drive is malfunctioning.

I have published a free program that allows you to test your disk for bad sectors, and see whether you should replace your hard drive, or simply wipe the bad sectors of a healthy drive, you're welcome to download it here.

As for your second question, I usually store an MD5 checksum of each of my important files in an NTFS alternate data stream, I have written a nice program that helps me hash and verify my files, and had helped me on more than one occasion, check it out here.

p.s. RAID will not save you from bad sectors during power failure (unless you have battery backup), I know this from first hand experience. moreover, you may be required to wipe out the bad sectors to allow the array to be rebuilt successfully.

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.