We are offering cloud servers on cloudstack with high availability enabled.  So if your VM fails on one node it will automatically be brought up on a new node.  At this time we use a single file server per cluster, but within that server have taken measures against failure:  raid 1 SSD cache...