What's the best way to check for HDD errors and early signs of failure on CentOS?

link|improve this question

31% accept rate
how frequent should the checks be? daily - weekly? – inac Jun 12 '10 at 4:19
feedback

5 Answers

up vote 2 down vote accepted

I would recommend installing smartmon (http://sourceforge.net/apps/trac/smartmontools/wiki) to your machine this is some software which can check the health of your disks otherwise its going to be checking /var/log/messages or /var/log/syslog for any mentions of scsi errors

link|improve this answer
smartmon seems it, although its stats mention it'd catch only 60% of failing drives.. if i set smartmon to scan daily, would this actually help the hdd die faster -- it's a seagate 7200.10? – inac Jun 12 '10 at 4:18
feedback

You can run fsck on the device to check for errors.

link|improve this answer
feedback
dmesg

The kernel will log any diagnostic messages about I/O devices, so you can check those messages out with the dmesg command.

link|improve this answer
but you'd have to run this manually or cronjob dmesg dump to vi? – inac Jun 12 '10 at 4:17
either. you could create a script to dump it with "dmesg > dmesg.dump.txt" and run that daily with cron. – Banjer Jun 14 '10 at 19:25
feedback

As Paul says, the SMART logs are a good place to check.

I'd also recommend running BadBlocks. If you've got a RAID card, you might have to use the monitoring on that.

link|improve this answer
feedback

SMART monitoring is a good way. As root, smartctl -a /dev/hda, where hda is the drive you want... could be hdb, sda, etc. Also recommend setting your email address in /etc/aliases as the person who should get root's mail.

That's a very vague answer though. If you have a server made by any of the big manufacturers (Dell, HP, etc), chances are there are better monitoring capabilities available.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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