what about LVM ..??

may be a solution to your first proposition ..