You can use DRBD, but using virtual guests there is an issue of having multiple redundant paths between the machines for heartbeat. Without these, we found, the servers would occasionally get into a situation where they could not see each other, each server thought the other one had died and became "primary", and a "split-brain" condition resulted - which was difficult to resolve.
This could possibly be mitigated by running a physical serial cable between 2 VMWare hosts, and binding the DRBD clients to these physical interfaces - although that removes the ability to live migrate the guest machines, so ultimately we never tried this.
In a testing environment, this is probably acceptable. We ran DRBD in production (and still do in a limited way) on VMWare virtual machines for a couple of years, and these split-brain issues, along with poor performance, were our ultimate reasons for moving away. However, I still feel that DRBD is a great solution, when run on physical machines.