You can already do this with tools available to you.
There's a write-up here
http://library.linode.com/linux-ha
I've done this on many servers, physical and virtual, it works quite well. Add DRBD volumes to your MySQL setup and you'll be bombproof.
Another idea, if you're only looking at MySQL durability, is to just set up the two nodes in master-master mode. It's a bit easier to set up, and some would argue it's easier the long term as well (although you can definitely run into walls). Each of your app servers (be they separate or the same as your DBs) can then just access localhost and the DB will handle the syncing. I do this across three Linode data centers using OpenVPN for the tunnel without problems.
On my web servers I use a software load balancer so that even though my front-end is active/backup using HA, the traffic between web servers gets balanced. Of course then Linode came out with NodeBalancers, but it's nice having options.