If you are talking about the backend storage alone, mirror the block device is one way of doing it. You have to do something to the hypervisors so the guests can be started on the new datastore when the failover situation takes place. Unless you have ESX, ESXi is very limited and you will have to knows the ins and outs, VIX, APIs, etc of ESXi as well as scripting to implement this.
Skip all of the above. It's not a cheap solution, but we run our entire infrastructure on HA clustered storage. We can take a hit on half of the disks and servers in the cluster at the same time with zero downtime. It makes life easy for upgrades and maintenance as well.
Most people just live with hardware raid on box, but I've been around long enough to know that raid fails, drives fail, cpus fail, motherboards fail...all of these leave you dead in the water no matter how super fast your raid 1+0 SSD drives are.
This also depends on what type of storage system you have? If it's just a normal machine with a lot of hard drives (not an actual SAN product), you might have issues. You can try seeing if DRBD works however I've never personally tested it with VMWARE, it's RAID1 for storage systems basically.
You can also look into looking at more redundant storage units that offer full redundancy within them (power/controller/etc)
Secure & Reliable Hosting Solutions for Developers & Enterprises
High Performance OpenStack® Public Cloud | Cloud Servers | Web Hosting