There is a another application called DRBD. The software will duplicate the data to another server, so when cluster failed over to another server, the data will be the same. But this method always got limitation, because it need time for data to sync to another server. This is a cheaper solution compare to what u need for a proper Shared San storage and fencing.
For more info of drbd, please come here
http://www.drbd.org/