Готового решения нет. То, что Вы хотите — достаточно дорого и геморно. Если, конечно, хотите «как только падает сервер, резервный сервер все принимает на себя», а не «падает сервер, теоретически через 20 минут, а по факту через час начинает кое-как работать с резерва».
Что Вам нужно:
1) хороший канал между ДЦ. Иначе не получится в иметь актуальную БД (заблокировали на основном сервере, записали на резервном и получили подтверждение, разблокировали на основном), или будет работать очень медленно.
2) единое адресное пространство (значит, BGP) — без этого не получится поднять 1 IP на разных серверах. С единым адресным пространством уже появляются варианты, как рулить переключением — на роутере (если умеет) или через что-то вроде keepalived (опять требования к каналу между ДЦ, хоть и более мягкие чем в пункте 1).
Все другие варианты (ДНС, например) однозначно подводят Вас к тому или иному времени простоя. Причем у части пользователей это время может быть очень большим и независящим от Ваших усилий(не перевелись еще криворукие настраивальщики локальных ДНСов среди провайдеров).