I just did this. So here we go.
Put in new drive and then boot from a bootable Linux CD. I used a Gentoo CD. Make the partitions in the same order as the old one, just bigger maybe. Make your mount directories and then mount the drives. Copy the data over. Shutdown the system. Then take out the old drive and put in the new drive where the old one was.
Goes something like this:
boot, not from the hard drive though.
run fdisk or cfdisk to create your partitions and then create your file system like the old one.
Use mkdir to create the mount points for the drive. mkdir /mnt/old and mkdir /mnt/new should work.
Then copy the stuff over using the command cp -rpv /mnt/old/* /mnt/new/ and then sit back and watch the stuff copy over.
When that is done, shut down and then hook the new drive in where the old drive was. Say a prayer or two, I did. Boot.
Note: you should not copy from a linux system that is running. Some files will not copy over.
I did have a small fstab problem but it did boot just fine. It just didn't mount one of my data drives because I forgot to move that master/slave jumper.
That is sort of basic, questions?