3) Use ZFS. Allocate the drive as a single zpool. You can then create
zfs volumes for all the separate bits. However, you don't have the
space wastage issues since all the data is in a single pool, and
you can adjust the size allocations/quotas on demand for each
individual volume (or leave them unset to give them as much space as
they can get). Needs a kernel patch for the zfs driver. With
kFreeBSD you can do this natively. It has all sorts of great
features which I won't go into here.
I've tried all three. For Linux, using LVM is easy and can be done
in the installer. If you reinstall you can keep the LVs you want and
wipe/delete the rest. For kFreeBSD, you can install directly onto ZFS;
I've been using it for kFreeBSD and native FreeBSD installs, and it's
the best of the lot--hopefully Debian can offer native support for
Linux at some point [currently needs patching, and the patches don't
work with current 3.12 kernels]