Buy the new drive
Partition and format it similar to the original drive (you can make partitions of different size than the original, just be sure that the amount of data from each partition in the origina drive + expected extra fits in the new one)
Boot the server from a live disk or take the original drive to another computer
Copy with cp -pR the contents of each partition
Fix /etc/fstab and /boot/grub/menu.lst if needed
Install grub on the new drive. In grub 1 (not grub 2) its
Code:
grub-install --root-directory=[where the root partition of the new drive is mounted in the live system]
if you use separate /boot then it must be mounted too before you run this
Put the drive back and test
Notice that not all IO failures are caused by the drive. Test the sata cable, computer and baord for excess dirt, bad capacitors and bad power supply