I recently upgraded a machine to 64bit CentOS, and now the drives are running crazy slow. hdparm -t /dev/hda showed result like this:
Timing buffered disk reads: 12 MB in 3.23 seconds = 3.72 MB/sec
And that was on a striped drive! (very slow, should be ~100MB/sec for 1 drive, ~180MB/sec for 2 drive stripe).
I had a similar problem with an SSD, and thought it odd that the drives appeared as /dev/hd?? instead of /dev/sd??. The solution is not to probe the IDE interfaces and you do this by adding ide0=noprobe ide1=noprobe to the kernel params. So now my entry in /etc/grub.conf looks like:
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=LABEL=/ ide0=noprobe ide1=noprobe
initrd /boot/initrd-2.6.18-164.11.1.el5.img
When making such a change, check your /etc/fstab to make sure that it’s not going to load /dev/hd?? since now the drives will change to /dev/sd??. And possibly they might get renumbered (probably thanks to the CD drive). So mine went from /dev/hda -> /dev/sda and /dev/hdc -> /dev/sdb
An earlier post will show that I setup a raid using /dev/hda3 and /dev/hdc1, so I recreated the strip with:
mdadm -A /dev/md0 /dev/sda3 /dev/sdb1
#add entry back into /etc/fstab
mount /dev/md0
echo 'DEVICES /dev/hda3 /dev/hdc1 /dev/sda3 /dev/sdb1' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
reboot to test (consider commenting out /dev/md0 in /etc/fstab first).
so after all is fixed up hdparm shows much much better results.
hdparm -t /dev/sda
Timing buffered disk reads: 320 MB in 3.00 seconds = 106.50 MB/sec
htparm -t /dev/md0
Timing buffered disk reads: 592 MB in 3.01 seconds = 196.91 MB/sec
Certainly that is acceptable!