A few days ago I was investigating about some software failure occurred on a server running CentOs, and I suspected a corrupted hard drive (the server is equipped with a SSD disk that does not support S.M.A.R.T.): I wrote these few notes to explain the procedures followed.
To start I have forced the fsck on the next reboot. In order to force your system to run fsck on your file systems during the next reboot you need to create a file called forcefsck in the root folder.
# touch /forcefsck
Now you have to force restart.
At the reboot the system will run fsck and will check the file system integrity (and after completing this it will also remove the /forcefsck file from the system). You can then check the scan result on the console or in the log.
For a more deeply test I used Knoppix: boot with this CD and in a console type the following.
su root badblocks -snv /dev/sda1
In this mode the system will check the badbloks in non-destructive mode: the result will be shown directly on the screen.