Heartbeat is sort of deprecated and the new "industry standard" will be pacemaker and OpenAIS.
They're very different animals, so be careful to read their roles. Pacemaker is a 'cluster resource manager' -- the part you asked about in your original question. It can use OpenAIS or Heartbeat as the network layer to manage a cluster -- but you issue the commands via the pacemaker shell.
I've been using it for a few months and we're about to go to production with it. You can definitely set yourself on fire (I recommend reading the documentation, both for the CRM interface and for the "pacemaker configuration explained" books, several times before you try to configure anything.) if you are not careful. Do not go to production with your first implementation. Plan on wiping the machines several times. Also, one 'gotcha' with pacemaker is that they assume that you will have at least three physical hardware devices. You probably do not want to make your guest VMs cluster-aware; only install pacemaker on the two VM hosts.
I don't have any experience with KVM -- our cluster is Xen-based. However, if I remember correctly, it's a Redhat-backed project. If that's the case, then you definitely want to look at the tools Redhat is using. (edit): If you're virtualizing desktops, avoid KVM -- the desktop server requires a bunch of Windows-based hardware, including SQL server However, if you're redhat-based, Redhat is dropping support for Xen after the 5.x series. Novell/SuSE will probably keep it around a bit longer.
One word of caution: DRBD can be problematic, especially if you get into a split-brain situation. Make sure you're using two forms of STONITH. I am not a big fan of DRBD although I admit it can be useful. Also, when you scale past 2 host nodes, DRBD will not scale and you will have to find a new storage solution.