Назад | Перейти на главную страницу

откат postgres к резервному серверу, переключение IP-адреса, очистка кеша ARP

Я использую сервер горячего резервирования для своей базы данных postgres. Я назначил серверу виртуальный IP-адрес. В случае сбоя переключаю виртуальный ip с мастера на сервер горячего резерва. Проблема в том, что клиенты, обращающиеся к базе данных, все еще имеют старый маршрут к главному серверу в их кэше ARP. Сервер горячего резервирования напрямую недоступен. Есть ли у них способ заставить клиентов очистить кеш ARP?

Не каждая реализация хоста / IP может кэшировать данные из бесплатный ARP (что вы могли бы отправить с использованием арпинга).

Вы должны использовать демон, который использует для этой цели не только виртуальный IP-адрес, но и виртуальный MAC-адрес. Сердцебиение / UCARP / VGP - это названия программных проектов, которые реализуют такую ​​функциональность.

Если список IP-адресов для клиентов является управляемым, вы можете попросить новый сервер пинговать их все, как только он подключит виртуальный IP-адрес. IP-код каждого клиента должен обновлять свою таблицу ARP, когда видит, что IP-адрес поступает с нового MAC-адреса.

Возможно, вы сможете отправить эхо-запрос на широковещательный адрес - я никогда не пробовал этого ни в каком контексте, не говоря уже о попытках пощекотать другую систему, чтобы обновить ARP. Но это устранило бы систему ожидания, даже если бы она не знала, к кому пинговать. Вы также можете просто попросить резервную систему проверить каждый адрес в своей локальной сети, как только она подключит виртуальный IP-адрес.