But then you need the database as well. And the user must connect to the second location, who decides when to switch?
Just for the files you could use distributed storage, glusterFS, …
Such setups get complex, which can creates errors on its own (it even happens to the googles and amazons from time to time). With a RAID-system in a stable location and good backups, you can get pretty good availability, even after a full system failure, you might restore everything from backup within a couple of hours.
There have been a few topics about this before: