В рамках протокола ARP возможны самообращенные запросы (gratuitous ARP). При таком запросе инициатор формирует пакет, где в качестве IP используется его собственный адрес. Это бывает нужно, когда осуществляется стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса отправителя и получателя совпадают.
Самообращенный запрос позволяет ЭВМ решить две проблемы. Во-первых, определить, нет ли в сети объекта, имеющего тот же IР-адрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Dublicate IP address sent from Ethernet address <...>.
Если сетевая не в состоянии увидеть multicast то для второй это правильный повод назначить себя мастером, потому что потерявшаяся нода очевидно не обслуживает запросы клиентов
я правильно понял вопрос?
1. Нет
2. Это ирония на тему хейтеров этого решения. Мы выключаем это потому что далеко не весь софт работает с selinux нормально и требует дополнительной настройки правил.
3. На случай сбоя сетевой карты это решение и нужно, очевидно что в таком случае сервер не сможет принимать запросы к nginx
Это вы про ucarp?
на самом деле только keepalived получилось настроить в режиме мастер бекап, мастер бекап
ucarp перемещает между друг другом некий адрес алиас, но это не подходит для горизонтального масштабирования
1. Спасибо, это очень полезная информация, внес изменения текст
2. Если у вас плановый майнтенанс, падение сервера и прочее
от воды в коммутаторе это не спасет)
Рисунок вполне про статью
Добавил описание в текст:
Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места
Самообращенный запрос позволяет ЭВМ решить две проблемы. Во-первых, определить, нет ли в сети объекта, имеющего тот же IР-адрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Dublicate IP address sent from Ethernet address <...>.
я правильно понял вопрос?
так сделано и у нас
Первый интерфейс для получения запросов от пользователей, по нему же происходит опрос соседней ноды
2. Это ирония на тему хейтеров этого решения. Мы выключаем это потому что далеко не весь софт работает с selinux нормально и требует дополнительной настройки правил.
3. На случай сбоя сетевой карты это решение и нужно, очевидно что в таком случае сервер не сможет принимать запросы к nginx
на самом деле только keepalived получилось настроить в режиме мастер бекап, мастер бекап
ucarp перемещает между друг другом некий адрес алиас, но это не подходит для горизонтального масштабирования
2. Если у вас плановый майнтенанс, падение сервера и прочее
от воды в коммутаторе это не спасет)
а если упадет сервер где стоит nginx?
Добавил описание в текст:
Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места