I use Heartbeat + Pacemaker in CRM mode, running on OpenSuSE 11.3 to do this. Storage for the virtual machines is provided via an iSCSI SAN LUN, managed with LVM. I have two volume groups, one for domU storage, the other for service data storage. Since I am not running a cluster aware file system, the cluster is "active-passive"; I can only have a virtual machine running on one node at a time.
With this setup I am able to have failover capability, in case a cluster node goes down, and am also able to have live-migration capability, should I wish to switch my virtual machines to a different node.
I haven't tried any other virtualization platforms, but you should be able to do what you want with any of them. The "magic" really happens with the cluster software, of which I've also not used anything other than Heartbeat+Pacemaker.