Я настроил сердцебиение на двух серверах следующим образом:
Мастер: 10.15.1.50
Резервное копирование: 10.15.1.51
(Виртуальный IP: 10.15.1.52)
Итак, на главном сервере всегда есть 10.15.1.52, но если он выйдет из строя, резервная копия займет 10.15.1.52. Это работает отлично и отключается менее чем за 10 секунд. У нас есть доменное имя, связанное с 10.15.1.52, поэтому оно прозрачно при отказе серверов. Мы заметили, что, хотя IP переключается менее чем за 10 секунд, может пройти 10-20 минут, прежде чем сервер станет доступным через доменное имя.
У нас есть порт переадресации маршрутизатора 80, поскольку 10.15.1.52 - это частный IP. В этом нет никакого смысла, поскольку мы фактически ничего не меняем в реестре доменных имен. Резервный сервер должен быть доступен через доменное имя, как только произойдет переключение IP.
Может быть проблема в NAT на роутере? Это почти похоже на проблему с проверкой хоста.
Изменить: теперь, когда я думаю об этом, это может быть проблема с таблицей arp на маршрутизаторе
Я почти абсолютно уверен, что arp - не ваша проблема.
Имхо проблема с отслеживанием dnat-соединения.
Взгляни на /proc/net/ip_conntrack
или /proc/net/nf_conntrack
на вашем маршрутизаторе после перехода от одной системы к другой. Вы должны увидеть, что запись DNAT conntrack указывает на неисправную систему.
Итак, если это действительно так, вам следует поискать решение для очистки конкретной записи таблицы conntrack на вашем маршрутизаторе.