You can only run fsck against "quiescent" filesystems; basically those that are unmounted. So if you have a data disk that can be unmounted then you can run fsck against it while the machine is live. However the root partition can't be umounted and so that can only be fsck'd in single user mode (or very early on in the boot sequence).
To fsck a disk you need to know the device name for it. This can be found (normally) by looking in /etc/fstab. eg on my linode:
# cat /etc/fstab
/dev/ubda / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/ubdb swap swap defaults 0 0
/dev/ubdc /datadisk ext3 defaults 1 1
/dev/ubdd /altroot ext3 ro 1 1
For me that means I could (in multi-user mode) do the following:
# umount /altroot
# fsck /dev/ubdd
fsck 1.34 (25-Jul-2003)
e2fsck 1.34 (25-Jul-2003)
/dev/ubdd: clean, 37991/82080 files, 112009/163840 blocks
# mount /altroot
If I wanted to check the root disk...
# fsck /dev/ubda
fsck 1.34 (25-Jul-2003)
e2fsck 1.34 (25-Jul-2003)
/dev/ubda is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to continue (y/n)? no
check aborted.
I'd have to boot single user to do this properly
Hope this helps!