What's the best way to check for HDD errors and early signs of failure on CentOS?
6 Answers
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
-
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?– inacJun 12, 2010 at 4:18
-
@inac smartmon will help hdds to die faster? Where did you read this? Please add an URL.– 030Feb 26, 2015 at 12:19
dmesg
The kernel will log any diagnostic messages about I/O devices, so you can check those messages out with the dmesg command.
-
-
either. you could create a script to dump it with "dmesg > dmesg.dump.txt" and run that daily with cron.– BanjerJun 14, 2010 at 19:25
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.
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.
You can try full check of partition /dev/sda1 (for example) as
fsck -f /dev/sda1
or, try full write-read non-descructive test of given partition
badblocks -vn /dev/sda1