MySQL 5 replication is a breeze. (Just make sure you use auto_increment_increment and auto_increment_offset appropriately on the two servers)
File system replication is a bit more difficult - perhaps consider using a utility called "unison" which works great (Depends how much data you're talking about but anything sub-20GB should run fine on any VPS)
With the Geo DNS - use someone who already does it. It'll give you too many headaches to "roll your own".
Lastly on redundancy - If you're lucky you might find a Geo DNS provider who can do this for you automatically upon detecting when your site is down. Else you'er going to have to come up with some other way of changing the DNS appropriately
