What you should have done:
a) create the partition /dev/sdb1
b) create a temporary mount point for it: mkdir /mnt/sdb1 (or whatever name you choose).
c) mount /dev/sdb1 /mnt/sdb1.
d) mv (not copy) the contents of /home to /mnt/sdb1. That would put your /home files on the new partition, and remove them from the old /home folder.
e) edit /etc/fstab to make an entry for the new /home partition: /dev/sdb1 /home ext3 (etc).
As a result of copying /home to /dev/sdb1, you now have a duplicate copy (your old /home is now the duplicate) which will be invisible (covered up) by /dev/sdb1 when it is mounted.
Su to root, unmount /dev/sdb1 (to keep your new /home safe and sound), then cd to /home (the old home), and rm -rf /home/* (putting the /home/* in there is for safety sake. rm will only delete files in /home).
That leaves /home empty (to be the mount point for /dev/sdb1) Now you can remount /dev/sdb1 to display your new /home folder.
By the way, from your /etc/fstab:
/dev/sdb1 /mnt/terra ext3 defaults 0 0
/dev/sdb1 /home ext3 defaults,errors=remount-rw 0 1
This looks like you are mounting /dev/sdb1 to two different mount points at the same time. 'umount /mnt/terra' will remove one of your duplicate /home directories. Then edit /etc/fstab to remove /dev/sdb1 /mnt/terra.
On reboot, you should have only one /home, on /dev/sdb1.