Depending on the requirements and how much you are willing to spend, you may look for a storage system which either provides a transparent failover out of the box or some API which could be leveraged. Another option is to use a storage system where all nodes are active (like the HP StorVirtual, also known as Lefthand/P4000) where you don't even need to reboot any VM's in case of a storage failure.
André